static HRESULT WINAPI HTMLTableRow_get_bgColor(IHTMLTableRow *iface, VARIANT *p) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); nsAString strColor; nsresult nsres; HRESULT hres; const PRUnichar *color; TRACE("(%p)->(%p)\n", This, p); nsAString_Init(&strColor, NULL); nsres = nsIDOMHTMLTableRowElement_GetBgColor(This->nsrow, &strColor); if(NS_SUCCEEDED(nsres)) { nsAString_GetData(&strColor, &color); V_VT(p) = VT_BSTR; hres = nscolor_to_str(color, &V_BSTR(p)); }else { ERR("SetBgColor failed: %08x\n", nsres); hres = E_FAIL; } nsAString_Finish(&strColor); return hres; }
static HRESULT WINAPI HTMLTableRow_insertCell(IHTMLTableRow *iface, LONG index, IDispatch **row) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); nsIDOMHTMLElement *nselem; HTMLElement *elem; nsresult nsres; HRESULT hres; TRACE("(%p)->(%d %p)\n", This, index, row); nsres = nsIDOMHTMLTableRowElement_InsertCell(This->nsrow, index, &nselem); if(NS_FAILED(nsres)) { ERR("Insert Cell at %d failed: %08x\n", index, nsres); return E_FAIL; } hres = HTMLTableCell_Create(This->element.node.doc, nselem, &elem); nsIDOMHTMLElement_Release(nselem); if (FAILED(hres)) { ERR("Create TableCell failed: %08x\n", hres); return hres; } *row = (IDispatch *)&elem->IHTMLElement_iface; return S_OK; }
static HRESULT WINAPI HTMLTableRow_QueryInterface(IHTMLTableRow *iface, REFIID riid, void **ppv) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv); }
static HRESULT WINAPI HTMLTableRow_GetTypeInfo(IHTMLTableRow *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); return IDispatchEx_GetTypeInfo(&This->element.node.dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo); }
static HRESULT WINAPI HTMLTableRow_Invoke(IHTMLTableRow *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); return IDispatchEx_Invoke(&This->element.node.dispex.IDispatchEx_iface, dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); }
static HRESULT WINAPI HTMLTableRow_GetIDsOfNames(IHTMLTableRow *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); return IDispatchEx_GetIDsOfNames(&This->element.node.dispex.IDispatchEx_iface, riid, rgszNames, cNames, lcid, rgDispId); }
static HRESULT WINAPI HTMLTableRow_deleteCell(IHTMLTableRow *iface, LONG index) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); nsresult nsres; TRACE("(%p)->(%d)\n", This, index); nsres = nsIDOMHTMLTableRowElement_DeleteCell(This->nsrow, index); if(NS_FAILED(nsres)) { ERR("Delete Cell failed: %08x\n", nsres); return E_FAIL; } return S_OK; }
static HRESULT WINAPI HTMLTableRow_get_sectionRowIndex(IHTMLTableRow *iface, LONG *p) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); nsresult nsres; TRACE("(%p)->(%p)\n", This, p); nsres = nsIDOMHTMLTableRowElement_GetSectionRowIndex(This->nsrow, p); if(NS_FAILED(nsres)) { ERR("Get selectionRowIndex failed: %08x\n", nsres); return E_FAIL; } return S_OK; }
static HRESULT WINAPI HTMLTableRow_get_vAlign(IHTMLTableRow *iface, BSTR *p) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); nsAString val; nsresult nsres; TRACE("(%p)->(%p)\n", This, p); nsAString_Init(&val, NULL); nsres = nsIDOMHTMLTableRowElement_GetVAlign(This->nsrow, &val); return return_nsstr(nsres, &val, p); }
static HRESULT WINAPI HTMLTableRow_put_align(IHTMLTableRow *iface, BSTR v) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); nsAString val; nsresult nsres; TRACE("(%p)->(%s)\n", This, debugstr_w(v)); nsAString_InitDepend(&val, v); nsres = nsIDOMHTMLTableRowElement_SetAlign(This->nsrow, &val); nsAString_Finish(&val); if (NS_FAILED(nsres)){ ERR("Set Align(%s) failed!\n", debugstr_w(v)); return E_FAIL; } return S_OK; }
static HRESULT WINAPI HTMLTableRow_get_cells(IHTMLTableRow *iface, IHTMLElementCollection **p) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); nsIDOMHTMLCollection *nscol; nsresult nsres; TRACE("(%p)->(%p)\n", This, p); nsres = nsIDOMHTMLTableRowElement_GetCells(This->nsrow, &nscol); if(NS_FAILED(nsres)) { ERR("GetCells failed: %08x\n", nsres); return E_FAIL; } *p = create_collection_from_htmlcol(This->element.node.doc, nscol); nsIDOMHTMLCollection_Release(nscol); return S_OK; }
static HRESULT WINAPI HTMLTableRow_put_bgColor(IHTMLTableRow *iface, VARIANT v) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); nsAString val; nsresult nsres; TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); if (!variant_to_nscolor(&v, &val)) return S_OK; nsres = nsIDOMHTMLTableRowElement_SetBgColor(This->nsrow, &val); nsAString_Finish(&val); if (NS_FAILED(nsres)){ ERR("Set BgColor(%s) failed!\n", debugstr_variant(&v)); return E_FAIL; } return S_OK; }
static HRESULT WINAPI HTMLTableRow_put_borderColorDark(IHTMLTableRow *iface, VARIANT v) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); return E_NOTIMPL; }
static HRESULT WINAPI HTMLTableRow_GetTypeInfoCount(IHTMLTableRow *iface, UINT *pctinfo) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); return IDispatchEx_GetTypeInfoCount(&This->element.node.dispex.IDispatchEx_iface, pctinfo); }
static ULONG WINAPI HTMLTableRow_Release(IHTMLTableRow *iface) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface); }
static HRESULT WINAPI HTMLTableRow_get_selectionRowIndex(IHTMLTableRow *iface, LONG *p) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; }
static HRESULT WINAPI HTMLTableRow_insertCell(IHTMLTableRow *iface, LONG index, IDispatch **row) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); FIXME("(%p)->(%d %p)\n", This, index, row); return E_NOTIMPL; }
static HRESULT WINAPI HTMLTableRow_get_vAlign(IHTMLTableRow *iface, BSTR *p) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; }
static HRESULT WINAPI HTMLTableRow_deleteCell(IHTMLTableRow *iface, LONG index) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); FIXME("(%p)->(%d)\n", This, index); return E_NOTIMPL; }
static HRESULT WINAPI HTMLTableRow_get_borderColorDark(IHTMLTableRow *iface, VARIANT *p) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); FIXME("(%p)->(%p)\n", This, p); return E_NOTIMPL; }
static HRESULT WINAPI HTMLTableRow_put_vAlign(IHTMLTableRow *iface, BSTR v) { HTMLTableRow *This = impl_from_IHTMLTableRow(iface); FIXME("(%p)->(%s)\n", This, debugstr_w(v)); return E_NOTIMPL; }