ReactOS  0.4.14-dev-55-g2da92ac
htmlselect.c File Reference
#include "mshtml_private.h"
Include dependency graph for htmlselect.c:

Go to the source code of this file.

Classes

struct  HTMLSelectElement
 

Macros

#define DISPID_OPTIONCOL_0   MSHTML_DISPID_CUSTOM_MIN
 

Functions

static HTMLSelectElementimpl_from_IHTMLSelectElement (IHTMLSelectElement *iface)
 
static HRESULT htmlselect_item (HTMLSelectElement *This, int i, IDispatch **ret)
 
static HRESULT WINAPI HTMLSelectElement_QueryInterface (IHTMLSelectElement *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI HTMLSelectElement_AddRef (IHTMLSelectElement *iface)
 
static ULONG WINAPI HTMLSelectElement_Release (IHTMLSelectElement *iface)
 
static HRESULT WINAPI HTMLSelectElement_GetTypeInfoCount (IHTMLSelectElement *iface, UINT *pctinfo)
 
static HRESULT WINAPI HTMLSelectElement_GetTypeInfo (IHTMLSelectElement *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
static HRESULT WINAPI HTMLSelectElement_GetIDsOfNames (IHTMLSelectElement *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
static HRESULT WINAPI HTMLSelectElement_Invoke (IHTMLSelectElement *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 
static HRESULT WINAPI HTMLSelectElement_put_size (IHTMLSelectElement *iface, LONG v)
 
static HRESULT WINAPI HTMLSelectElement_get_size (IHTMLSelectElement *iface, LONG *p)
 
static HRESULT WINAPI HTMLSelectElement_put_multiple (IHTMLSelectElement *iface, VARIANT_BOOL v)
 
static HRESULT WINAPI HTMLSelectElement_get_multiple (IHTMLSelectElement *iface, VARIANT_BOOL *p)
 
static HRESULT WINAPI HTMLSelectElement_put_name (IHTMLSelectElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLSelectElement_get_name (IHTMLSelectElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLSelectElement_get_options (IHTMLSelectElement *iface, IDispatch **p)
 
static HRESULT WINAPI HTMLSelectElement_put_onchange (IHTMLSelectElement *iface, VARIANT v)
 
static HRESULT WINAPI HTMLSelectElement_get_onchange (IHTMLSelectElement *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLSelectElement_put_selectedIndex (IHTMLSelectElement *iface, LONG v)
 
static HRESULT WINAPI HTMLSelectElement_get_selectedIndex (IHTMLSelectElement *iface, LONG *p)
 
static HRESULT WINAPI HTMLSelectElement_get_type (IHTMLSelectElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLSelectElement_put_value (IHTMLSelectElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLSelectElement_get_value (IHTMLSelectElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLSelectElement_put_disabled (IHTMLSelectElement *iface, VARIANT_BOOL v)
 
static HRESULT WINAPI HTMLSelectElement_get_disabled (IHTMLSelectElement *iface, VARIANT_BOOL *p)
 
static HRESULT WINAPI HTMLSelectElement_get_form (IHTMLSelectElement *iface, IHTMLFormElement **p)
 
static HRESULT WINAPI HTMLSelectElement_add (IHTMLSelectElement *iface, IHTMLElement *element, VARIANT before)
 
static HRESULT WINAPI HTMLSelectElement_remove (IHTMLSelectElement *iface, LONG index)
 
static HRESULT WINAPI HTMLSelectElement_put_length (IHTMLSelectElement *iface, LONG v)
 
static HRESULT WINAPI HTMLSelectElement_get_length (IHTMLSelectElement *iface, LONG *p)
 
static HRESULT WINAPI HTMLSelectElement_get__newEnum (IHTMLSelectElement *iface, IUnknown **p)
 
static HRESULT WINAPI HTMLSelectElement_item (IHTMLSelectElement *iface, VARIANT name, VARIANT index, IDispatch **pdisp)
 
static HRESULT WINAPI HTMLSelectElement_tags (IHTMLSelectElement *iface, VARIANT tagName, IDispatch **pdisp)
 
static HTMLSelectElementimpl_from_HTMLDOMNode (HTMLDOMNode *iface)
 
static HRESULT HTMLSelectElement_QI (HTMLDOMNode *iface, REFIID riid, void **ppv)
 
static HRESULT HTMLSelectElementImpl_put_disabled (HTMLDOMNode *iface, VARIANT_BOOL v)
 
static HRESULT HTMLSelectElementImpl_get_disabled (HTMLDOMNode *iface, VARIANT_BOOL *p)
 
static HRESULT HTMLSelectElement_get_dispid (HTMLDOMNode *iface, BSTR name, DWORD flags, DISPID *dispid)
 
static HRESULT HTMLSelectElement_invoke (HTMLDOMNode *iface, DISPID id, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *res, EXCEPINFO *ei, IServiceProvider *caller)
 
static void HTMLSelectElement_traverse (HTMLDOMNode *iface, nsCycleCollectionTraversalCallback *cb)
 
static void HTMLSelectElement_unlink (HTMLDOMNode *iface)
 
HRESULT HTMLSelectElement_Create (HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem, HTMLElement **elem)
 

Variables

static const IHTMLSelectElementVtbl HTMLSelectElementVtbl
 
static const NodeImplVtbl HTMLSelectElementImplVtbl
 
static const tid_t HTMLSelectElement_tids []
 
static dispex_static_data_t HTMLSelectElement_dispex
 

Macro Definition Documentation

◆ DISPID_OPTIONCOL_0

#define DISPID_OPTIONCOL_0   MSHTML_DISPID_CUSTOM_MIN

Definition at line 602 of file htmlselect.c.

Function Documentation

◆ htmlselect_item()

static HRESULT htmlselect_item ( HTMLSelectElement This,
int  i,
IDispatch **  ret 
)
static

Definition at line 34 of file htmlselect.c.

35 {
37  nsIDOMNode *nsnode;
38  nsresult nsres;
39  HRESULT hres;
40 
41  nsres = nsIDOMHTMLSelectElement_GetOptions(This->nsselect, &nscol);
42  if(NS_FAILED(nsres)) {
43  ERR("GetOptions failed: %08x\n", nsres);
44  return E_FAIL;
45  }
46 
47  nsres = nsIDOMHTMLOptionsCollection_Item(nscol, i, &nsnode);
48  nsIDOMHTMLOptionsCollection_Release(nscol);
49  if(NS_FAILED(nsres)) {
50  ERR("Item failed: %08x\n", nsres);
51  return E_FAIL;
52  }
53 
54  if(nsnode) {
56 
57  hres = get_node(This->element.node.doc, nsnode, TRUE, &node);
58  nsIDOMNode_Release(nsnode);
59  if(FAILED(hres))
60  return hres;
61 
62  *ret = (IDispatch*)&node->IHTMLDOMNode_iface;
63  }else {
64  *ret = NULL;
65  }
66  return S_OK;
67 }
#define TRUE
Definition: types.h:120
#define E_FAIL
Definition: ddrawi.h:102
struct node node
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
smooth NULL
Definition: ftsmooth.c:416
#define NS_FAILED(res)
HRESULT hres
Definition: protocol.c:465
LONG HRESULT
Definition: typedefs.h:77
int ret
#define ERR(fmt,...)
Definition: debug.h:109
#define S_OK
Definition: intsafe.h:59
HRESULT get_node(HTMLDocumentNode *This, nsIDOMNode *nsnode, BOOL create, HTMLDOMNode **ret)
Definition: htmlnode.c:1339
HRESULT nsresult
Definition: nsiface.idl:39
Definition: dlist.c:348

Referenced by HTMLSelectElement_invoke(), and HTMLSelectElement_item().

◆ HTMLSelectElement_add()

static HRESULT WINAPI HTMLSelectElement_add ( IHTMLSelectElement *  iface,
IHTMLElement *  element,
VARIANT  before 
)
static

Definition at line 397 of file htmlselect.c.

399 {
401  nsIWritableVariant *nsvariant;
402  HTMLElement *element_obj;
403  nsresult nsres;
404 
405  TRACE("(%p)->(%p %s)\n", This, element, debugstr_variant(&before));
406 
407  element_obj = unsafe_impl_from_IHTMLElement(element);
408  if(!element_obj) {
409  FIXME("External IHTMLElement implementation?\n");
410  return E_INVALIDARG;
411  }
412 
413  nsvariant = create_nsvariant();
414  if(!nsvariant)
415  return E_FAIL;
416 
417  switch(V_VT(&before)) {
418  case VT_EMPTY:
419  case VT_ERROR:
420  nsres = nsIWritableVariant_SetAsEmpty(nsvariant);
421  break;
422  case VT_I2:
423  nsres = nsIWritableVariant_SetAsInt16(nsvariant, V_I2(&before));
424  break;
425  default:
426  FIXME("unhandled before %s\n", debugstr_variant(&before));
427  nsIWritableVariant_Release(nsvariant);
428  return E_NOTIMPL;
429  }
430 
431  if(NS_SUCCEEDED(nsres))
432  nsres = nsIDOMHTMLSelectElement_Add(This->nsselect, element_obj->nselem, (nsIVariant*)nsvariant);
433  nsIWritableVariant_Release(nsvariant);
434  if(NS_FAILED(nsres)) {
435  ERR("Add failed: %08x\n", nsres);
436  return E_FAIL;
437  }
438 
439  return S_OK;
440 }
HTMLElement * unsafe_impl_from_IHTMLElement(IHTMLElement *iface)
Definition: htmlelem.c:1962
#define V_I2(A)
Definition: oleauto.h:245
__inline int before(__u32 seq1, __u32 seq2)
Definition: tcpcore.h:2414
#define E_FAIL
Definition: ddrawi.h:102
nsIDOMHTMLElement * nselem
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_INVALIDARG
Definition: ddrawi.h:101
#define NS_FAILED(res)
#define TRACE(s)
Definition: solgame.cpp:4
#define NS_SUCCEEDED(res)
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define V_VT(A)
Definition: oleauto.h:211
#define ERR(fmt,...)
Definition: debug.h:109
static const char * debugstr_variant(const VARIANT *var)
Definition: container.c:46
#define S_OK
Definition: intsafe.h:59
nsIWritableVariant * create_nsvariant(void) DECLSPEC_HIDDEN
Definition: nsembed.c:882
#define E_NOTIMPL
Definition: ddrawi.h:99
HRESULT nsresult
Definition: nsiface.idl:39
Definition: compat.h:1938

◆ HTMLSelectElement_AddRef()

static ULONG WINAPI HTMLSelectElement_AddRef ( IHTMLSelectElement *  iface)
static

Definition at line 77 of file htmlselect.c.

78 {
80 
81  return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
82 }
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29

◆ HTMLSelectElement_Create()

HRESULT HTMLSelectElement_Create ( HTMLDocumentNode doc,
nsIDOMHTMLElement nselem,
HTMLElement **  elem 
)

Definition at line 709 of file htmlselect.c.

710 {
712  nsresult nsres;
713 
714  ret = heap_alloc_zero(sizeof(HTMLSelectElement));
715  if(!ret)
716  return E_OUTOFMEMORY;
717 
718  ret->IHTMLSelectElement_iface.lpVtbl = &HTMLSelectElementVtbl;
719  ret->element.node.vtbl = &HTMLSelectElementImplVtbl;
720 
721  HTMLElement_Init(&ret->element, doc, nselem, &HTMLSelectElement_dispex);
722 
723  nsres = nsIDOMHTMLElement_QueryInterface(nselem, &IID_nsIDOMHTMLSelectElement,
724  (void**)&ret->nsselect);
725  assert(nsres == NS_OK);
726 
727  *elem = &ret->element;
728  return S_OK;
729 }
#define assert(x)
Definition: debug.h:53
#define NS_OK
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static size_t elem
Definition: string.c:68
static dispex_static_data_t HTMLSelectElement_dispex
Definition: htmlselect.c:702
static const NodeImplVtbl HTMLSelectElementImplVtbl
Definition: htmlselect.c:676
int ret
static const IHTMLSelectElementVtbl HTMLSelectElementVtbl
Definition: htmlselect.c:526
void HTMLElement_Init(HTMLElement *This, HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem, dispex_static_data_t *dispex_data)
Definition: htmlelem.c:4008
#define S_OK
Definition: intsafe.h:59
HRESULT nsresult
Definition: nsiface.idl:39

◆ HTMLSelectElement_get__newEnum()

static HRESULT WINAPI HTMLSelectElement_get__newEnum ( IHTMLSelectElement *  iface,
IUnknown **  p 
)
static

Definition at line 490 of file htmlselect.c.

491 {
493  FIXME("(%p)->(%p)\n", This, p);
494  return E_NOTIMPL;
495 }
#define FIXME(fmt,...)
Definition: debug.h:110
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define E_NOTIMPL
Definition: ddrawi.h:99
GLfloat GLfloat p
Definition: glext.h:8902

◆ HTMLSelectElement_get_disabled()

static HRESULT WINAPI HTMLSelectElement_get_disabled ( IHTMLSelectElement *  iface,
VARIANT_BOOL p 
)
static

Definition at line 338 of file htmlselect.c.

339 {
341  cpp_bool disabled = FALSE;
342  nsresult nsres;
343 
344  TRACE("(%p)->(%p)\n", This, p);
345 
346  nsres = nsIDOMHTMLSelectElement_GetDisabled(This->nsselect, &disabled);
347  if(NS_FAILED(nsres)) {
348  ERR("GetDisabled failed: %08x\n", nsres);
349  return E_FAIL;
350  }
351 
352  *p = disabled ? VARIANT_TRUE : VARIANT_FALSE;
353  return S_OK;
354 }
#define E_FAIL
Definition: ddrawi.h:102
#define NS_FAILED(res)
unsigned char cpp_bool
Definition: atl.c:39
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define ERR(fmt,...)
Definition: debug.h:109
#define S_OK
Definition: intsafe.h:59
HRESULT nsresult
Definition: nsiface.idl:39
GLfloat GLfloat p
Definition: glext.h:8902

◆ HTMLSelectElement_get_dispid()

static HRESULT HTMLSelectElement_get_dispid ( HTMLDOMNode iface,
BSTR  name,
DWORD  flags,
DISPID dispid 
)
static

Definition at line 604 of file htmlselect.c.

605 {
606  const WCHAR *ptr;
607  DWORD idx = 0;
608 
609  for(ptr = name; *ptr && isdigitW(*ptr); ptr++) {
610  idx = idx*10 + (*ptr-'0');
612  WARN("too big idx\n");
613  return DISP_E_UNKNOWNNAME;
614  }
615  }
616  if(*ptr)
617  return DISP_E_UNKNOWNNAME;
618 
619  *dispid = DISPID_OPTIONCOL_0 + idx;
620  return S_OK;
621 }
#define DISP_E_UNKNOWNNAME
Definition: winerror.h:2515
#define MSHTML_CUSTOM_DISPID_CNT
#define WARN(fmt,...)
Definition: debug.h:111
#define DISPID_OPTIONCOL_0
Definition: htmlselect.c:602
static PVOID ptr
Definition: dispmode.c:27
unsigned int idx
Definition: utils.c:41
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned long DWORD
Definition: ntddk_ex.h:95
#define S_OK
Definition: intsafe.h:59
WINE_UNICODE_INLINE int isdigitW(WCHAR wc)
Definition: unicode.h:170
Definition: name.c:36

◆ HTMLSelectElement_get_form()

static HRESULT WINAPI HTMLSelectElement_get_form ( IHTMLSelectElement *  iface,
IHTMLFormElement **  p 
)
static

Definition at line 356 of file htmlselect.c.

357 {
359  nsIDOMHTMLFormElement *nsform;
360  nsIDOMNode *form_node;
361  HTMLDOMNode *node;
362  HRESULT hres;
363  nsresult nsres;
364 
365  TRACE("(%p)->(%p)\n", This, p);
366 
367  if(!p)
368  return E_POINTER;
369 
370  nsres = nsIDOMHTMLSelectElement_GetForm(This->nsselect, &nsform);
371  if (NS_FAILED(nsres)) {
372  ERR("GetForm failed: %08x, nsform: %p\n", nsres, nsform);
373  *p = NULL;
374  return E_FAIL;
375  }
376  if (nsform == NULL) {
377  TRACE("nsform not found\n");
378  *p = NULL;
379  return S_OK;
380  }
381 
382  nsres = nsIDOMHTMLFormElement_QueryInterface(nsform, &IID_nsIDOMNode, (void**)&form_node);
383  nsIDOMHTMLFormElement_Release(nsform);
384  assert(nsres == NS_OK);
385 
386  hres = get_node(This->element.node.doc, form_node, TRUE, &node);
387  nsIDOMNode_Release(form_node);
388  if (FAILED(hres))
389  return hres;
390 
391  hres = IHTMLDOMNode_QueryInterface(&node->IHTMLDOMNode_iface, &IID_IHTMLElement, (void**)p);
392 
394  return hres;
395 }
#define TRUE
Definition: types.h:120
#define assert(x)
Definition: debug.h:53
#define E_FAIL
Definition: ddrawi.h:102
#define NS_OK
struct node node
static void node_release(HTMLDOMNode *node)
smooth NULL
Definition: ftsmooth.c:416
#define NS_FAILED(res)
#define TRACE(s)
Definition: solgame.cpp:4
HRESULT hres
Definition: protocol.c:465
LONG HRESULT
Definition: typedefs.h:77
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define ERR(fmt,...)
Definition: debug.h:109
#define S_OK
Definition: intsafe.h:59
HRESULT get_node(HTMLDocumentNode *This, nsIDOMNode *nsnode, BOOL create, HTMLDOMNode **ret)
Definition: htmlnode.c:1339
HRESULT nsresult
Definition: nsiface.idl:39
GLfloat GLfloat p
Definition: glext.h:8902
#define E_POINTER
Definition: winerror.h:2365
Definition: dlist.c:348

◆ HTMLSelectElement_get_length()

static HRESULT WINAPI HTMLSelectElement_get_length ( IHTMLSelectElement *  iface,
LONG p 
)
static

Definition at line 472 of file htmlselect.c.

473 {
475  UINT32 length = 0;
476  nsresult nsres;
477 
478  TRACE("(%p)->(%p)\n", This, p);
479 
480  nsres = nsIDOMHTMLSelectElement_GetLength(This->nsselect, &length);
481  if(NS_FAILED(nsres))
482  ERR("GetLength failed: %08x\n", nsres);
483 
484  *p = length;
485 
486  TRACE("ret %d\n", *p);
487  return S_OK;
488 }
unsigned int UINT32
#define NS_FAILED(res)
#define TRACE(s)
Definition: solgame.cpp:4
GLenum GLuint GLenum GLsizei length
Definition: glext.h:5579
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define ERR(fmt,...)
Definition: debug.h:109
#define S_OK
Definition: intsafe.h:59
HRESULT nsresult
Definition: nsiface.idl:39
GLfloat GLfloat p
Definition: glext.h:8902

◆ HTMLSelectElement_get_multiple()

static HRESULT WINAPI HTMLSelectElement_get_multiple ( IHTMLSelectElement *  iface,
VARIANT_BOOL p 
)
static

Definition at line 175 of file htmlselect.c.

176 {
178  cpp_bool val;
179  nsresult nsres;
180 
181  TRACE("(%p)->(%p)\n", This, p);
182 
183  nsres = nsIDOMHTMLSelectElement_GetMultiple(This->nsselect, &val);
184  assert(nsres == NS_OK);
185 
186  *p = val ? VARIANT_TRUE : VARIANT_FALSE;
187  return S_OK;
188 }
#define assert(x)
Definition: debug.h:53
#define NS_OK
GLuint GLfloat * val
Definition: glext.h:7180
unsigned char cpp_bool
Definition: atl.c:39
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define S_OK
Definition: intsafe.h:59
HRESULT nsresult
Definition: nsiface.idl:39
GLfloat GLfloat p
Definition: glext.h:8902

◆ HTMLSelectElement_get_name()

static HRESULT WINAPI HTMLSelectElement_get_name ( IHTMLSelectElement *  iface,
BSTR p 
)
static

Definition at line 208 of file htmlselect.c.

209 {
211  nsAString name_str;
212  nsresult nsres;
213 
214  TRACE("(%p)->(%p)\n", This, p);
215 
216  nsAString_Init(&name_str, NULL);
217  nsres = nsIDOMHTMLSelectElement_GetName(This->nsselect, &name_str);
218 
219  return return_nsstr(nsres, &name_str, p);
220 }
smooth NULL
Definition: ftsmooth.c:416
HRESULT return_nsstr(nsresult, nsAString *, BSTR *) DECLSPEC_HIDDEN
Definition: nsembed.c:841
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
BOOL nsAString_Init(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:817
HRESULT nsresult
Definition: nsiface.idl:39
GLfloat GLfloat p
Definition: glext.h:8902

◆ HTMLSelectElement_get_onchange()

static HRESULT WINAPI HTMLSelectElement_get_onchange ( IHTMLSelectElement *  iface,
VARIANT p 
)
static

Definition at line 242 of file htmlselect.c.

243 {
245  FIXME("(%p)->(%p)\n", This, p);
246  return E_NOTIMPL;
247 }
#define FIXME(fmt,...)
Definition: debug.h:110
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define E_NOTIMPL
Definition: ddrawi.h:99
GLfloat GLfloat p
Definition: glext.h:8902

◆ HTMLSelectElement_get_options()

static HRESULT WINAPI HTMLSelectElement_get_options ( IHTMLSelectElement *  iface,
IDispatch **  p 
)
static

Definition at line 222 of file htmlselect.c.

223 {
225 
226  TRACE("(%p)->(%p)\n", This, p);
227 
228  *p = (IDispatch*)&This->IHTMLSelectElement_iface;
229  IDispatch_AddRef(*p);
230  return S_OK;
231 }
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define S_OK
Definition: intsafe.h:59
GLfloat GLfloat p
Definition: glext.h:8902

◆ HTMLSelectElement_get_selectedIndex()

static HRESULT WINAPI HTMLSelectElement_get_selectedIndex ( IHTMLSelectElement *  iface,
LONG p 
)
static

Definition at line 263 of file htmlselect.c.

264 {
266  nsresult nsres;
267 
268  TRACE("(%p)->(%p)\n", This, p);
269 
270  nsres = nsIDOMHTMLSelectElement_GetSelectedIndex(This->nsselect, p);
271  if(NS_FAILED(nsres)) {
272  ERR("GetSelectedIndex failed: %08x\n", nsres);
273  return E_FAIL;
274  }
275 
276  return S_OK;
277 }
#define E_FAIL
Definition: ddrawi.h:102
#define NS_FAILED(res)
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define ERR(fmt,...)
Definition: debug.h:109
#define S_OK
Definition: intsafe.h:59
HRESULT nsresult
Definition: nsiface.idl:39
GLfloat GLfloat p
Definition: glext.h:8902

◆ HTMLSelectElement_get_size()

static HRESULT WINAPI HTMLSelectElement_get_size ( IHTMLSelectElement *  iface,
LONG p 
)
static

Definition at line 144 of file htmlselect.c.

145 {
147  DWORD val;
148  nsresult nsres;
149 
150  TRACE("(%p)->(%p)\n", This, p);
151  if(!p)
152  return E_INVALIDARG;
153 
154  nsres = nsIDOMHTMLSelectElement_GetSize(This->nsselect, &val);
155  if(NS_FAILED(nsres)) {
156  ERR("GetSize failed: %08x\n", nsres);
157  return E_FAIL;
158  }
159  *p = val;
160  return S_OK;
161 }
#define E_FAIL
Definition: ddrawi.h:102
#define E_INVALIDARG
Definition: ddrawi.h:101
GLuint GLfloat * val
Definition: glext.h:7180
#define NS_FAILED(res)
#define TRACE(s)
Definition: solgame.cpp:4
unsigned long DWORD
Definition: ntddk_ex.h:95
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define ERR(fmt,...)
Definition: debug.h:109
#define S_OK
Definition: intsafe.h:59
HRESULT nsresult
Definition: nsiface.idl:39
GLfloat GLfloat p
Definition: glext.h:8902

◆ HTMLSelectElement_get_type()

static HRESULT WINAPI HTMLSelectElement_get_type ( IHTMLSelectElement *  iface,
BSTR p 
)
static

Definition at line 279 of file htmlselect.c.

280 {
282  nsAString type_str;
283  nsresult nsres;
284 
285  TRACE("(%p)->(%p)\n", This, p);
286 
287  nsAString_Init(&type_str, NULL);
288  nsres = nsIDOMHTMLSelectElement_GetType(This->nsselect, &type_str);
289  return return_nsstr(nsres, &type_str, p);
290 }
smooth NULL
Definition: ftsmooth.c:416
HRESULT return_nsstr(nsresult, nsAString *, BSTR *) DECLSPEC_HIDDEN
Definition: nsembed.c:841
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
BOOL nsAString_Init(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:817
HRESULT nsresult
Definition: nsiface.idl:39
GLfloat GLfloat p
Definition: glext.h:8902

◆ HTMLSelectElement_get_value()

static HRESULT WINAPI HTMLSelectElement_get_value ( IHTMLSelectElement *  iface,
BSTR p 
)
static

Definition at line 309 of file htmlselect.c.

310 {
313  nsresult nsres;
314 
315  TRACE("(%p)->(%p)\n", This, p);
316 
318  nsres = nsIDOMHTMLSelectElement_GetValue(This->nsselect, &value_str);
319  return return_nsstr(nsres, &value_str, p);
320 }
smooth NULL
Definition: ftsmooth.c:416
HRESULT return_nsstr(nsresult, nsAString *, BSTR *) DECLSPEC_HIDDEN
Definition: nsembed.c:841
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
static UNICODE_STRING value_str
Definition: reg.c:1328
BOOL nsAString_Init(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:817
HRESULT nsresult
Definition: nsiface.idl:39
GLfloat GLfloat p
Definition: glext.h:8902

◆ HTMLSelectElement_GetIDsOfNames()

static HRESULT WINAPI HTMLSelectElement_GetIDsOfNames ( IHTMLSelectElement *  iface,
REFIID  riid,
LPOLESTR rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)
static

Definition at line 107 of file htmlselect.c.

110 {
112 
113  return IDispatchEx_GetIDsOfNames(&This->element.node.event_target.dispex.IDispatchEx_iface, riid, rgszNames,
114  cNames, lcid, rgDispId);
115 }
REFIID riid
Definition: precomp.h:44
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29

◆ HTMLSelectElement_GetTypeInfo()

static HRESULT WINAPI HTMLSelectElement_GetTypeInfo ( IHTMLSelectElement *  iface,
UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
static

Definition at line 98 of file htmlselect.c.

100 {
102 
103  return IDispatchEx_GetTypeInfo(&This->element.node.event_target.dispex.IDispatchEx_iface, iTInfo, lcid,
104  ppTInfo);
105 }
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29

◆ HTMLSelectElement_GetTypeInfoCount()

static HRESULT WINAPI HTMLSelectElement_GetTypeInfoCount ( IHTMLSelectElement *  iface,
UINT pctinfo 
)
static

Definition at line 91 of file htmlselect.c.

92 {
94 
95  return IDispatchEx_GetTypeInfoCount(&This->element.node.event_target.dispex.IDispatchEx_iface, pctinfo);
96 }
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29

◆ HTMLSelectElement_Invoke()

static HRESULT WINAPI HTMLSelectElement_Invoke ( IHTMLSelectElement *  iface,
DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExcepInfo,
UINT puArgErr 
)
static

Definition at line 117 of file htmlselect.c.

120 {
122 
123  return IDispatchEx_Invoke(&This->element.node.event_target.dispex.IDispatchEx_iface, dispIdMember, riid,
124  lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
125 }
REFIID riid
Definition: precomp.h:44
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:519

◆ HTMLSelectElement_invoke()

static HRESULT HTMLSelectElement_invoke ( HTMLDOMNode iface,
DISPID  id,
LCID  lcid,
WORD  flags,
DISPPARAMS *  params,
VARIANT res,
EXCEPINFO *  ei,
IServiceProvider caller 
)
static

Definition at line 623 of file htmlselect.c.

625 {
627 
628  TRACE("(%p)->(%x %x %x %p %p %p %p)\n", This, id, lcid, flags, params, res, ei, caller);
629 
630  switch(flags) {
631  case DISPATCH_PROPERTYGET: {
632  IDispatch *ret;
633  HRESULT hres;
634 
636  if(FAILED(hres))
637  return hres;
638 
639  if(ret) {
640  V_VT(res) = VT_DISPATCH;
641  V_DISPATCH(res) = ret;
642  }else {
643  V_VT(res) = VT_NULL;
644  }
645  break;
646  }
647 
648  default:
649  FIXME("unimplemented flags %x\n", flags);
650  return E_NOTIMPL;
651  }
652 
653  return S_OK;
654 }
#define DISPATCH_PROPERTYGET
Definition: oleauto.h:1007
#define DISPID_OPTIONCOL_0
Definition: htmlselect.c:602
#define V_DISPATCH(A)
Definition: oleauto.h:239
GLenum const GLfloat * params
Definition: glext.h:5645
#define FIXME(fmt,...)
Definition: debug.h:110
#define TRACE(s)
Definition: solgame.cpp:4
HRESULT hres
Definition: protocol.c:465
LONG HRESULT
Definition: typedefs.h:77
GLbitfield flags
Definition: glext.h:7161
int ret
#define V_VT(A)
Definition: oleauto.h:211
static HRESULT htmlselect_item(HTMLSelectElement *This, int i, IDispatch **ret)
Definition: htmlselect.c:34
static HTMLSelectElement * impl_from_HTMLDOMNode(HTMLDOMNode *iface)
Definition: htmlselect.c:560
#define S_OK
Definition: intsafe.h:59
#define E_NOTIMPL
Definition: ddrawi.h:99
GLuint res
Definition: glext.h:9613

◆ HTMLSelectElement_item()

static HRESULT WINAPI HTMLSelectElement_item ( IHTMLSelectElement *  iface,
VARIANT  name,
VARIANT  index,
IDispatch **  pdisp 
)
static

Definition at line 497 of file htmlselect.c.

499 {
501 
502  TRACE("(%p)->(%s %s %p)\n", This, debugstr_variant(&name), debugstr_variant(&index), pdisp);
503 
504  if(!pdisp)
505  return E_POINTER;
506  *pdisp = NULL;
507 
508  if(V_VT(&name) == VT_I4) {
509  if(V_I4(&name) < 0)
510  return E_INVALIDARG;
511  return htmlselect_item(This, V_I4(&name), pdisp);
512  }
513 
514  FIXME("Unsupported args\n");
515  return E_NOTIMPL;
516 }
Definition: compat.h:1939
#define V_I4(A)
Definition: oleauto.h:247
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
GLuint index
Definition: glext.h:6031
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define V_VT(A)
Definition: oleauto.h:211
static HRESULT htmlselect_item(HTMLSelectElement *This, int i, IDispatch **ret)
Definition: htmlselect.c:34
static const char * debugstr_variant(const VARIANT *var)
Definition: container.c:46
#define E_NOTIMPL
Definition: ddrawi.h:99
Definition: name.c:36
#define E_POINTER
Definition: winerror.h:2365

◆ HTMLSelectElement_put_disabled()

static HRESULT WINAPI HTMLSelectElement_put_disabled ( IHTMLSelectElement *  iface,
VARIANT_BOOL  v 
)
static

Definition at line 322 of file htmlselect.c.

323 {
325  nsresult nsres;
326 
327  TRACE("(%p)->(%x)\n", This, v);
328 
329  nsres = nsIDOMHTMLSelectElement_SetDisabled(This->nsselect, v != VARIANT_FALSE);
330  if(NS_FAILED(nsres)) {
331  ERR("SetDisabled failed: %08x\n", nsres);
332  return E_FAIL;
333  }
334 
335  return S_OK;
336 }
#define E_FAIL
Definition: ddrawi.h:102
#define NS_FAILED(res)
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define ERR(fmt,...)
Definition: debug.h:109
#define S_OK
Definition: intsafe.h:59
const GLdouble * v
Definition: gl.h:2040
HRESULT nsresult
Definition: nsiface.idl:39

◆ HTMLSelectElement_put_length()

static HRESULT WINAPI HTMLSelectElement_put_length ( IHTMLSelectElement *  iface,
LONG  v 
)
static

Definition at line 458 of file htmlselect.c.

459 {
461  nsresult nsres;
462 
463  TRACE("(%p)->(%d)\n", This, v);
464 
465  nsres = nsIDOMHTMLSelectElement_SetLength(This->nsselect, v);
466  if(NS_FAILED(nsres))
467  ERR("SetLength failed: %08x\n", nsres);
468 
469  return S_OK;
470 }
#define NS_FAILED(res)
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define ERR(fmt,...)
Definition: debug.h:109
#define S_OK
Definition: intsafe.h:59
const GLdouble * v
Definition: gl.h:2040
HRESULT nsresult
Definition: nsiface.idl:39

◆ HTMLSelectElement_put_multiple()

static HRESULT WINAPI HTMLSelectElement_put_multiple ( IHTMLSelectElement *  iface,
VARIANT_BOOL  v 
)
static

Definition at line 163 of file htmlselect.c.

164 {
166  nsresult nsres;
167 
168  TRACE("(%p)->(%x)\n", This, v);
169 
170  nsres = nsIDOMHTMLSelectElement_SetMultiple(This->nsselect, !!v);
171  assert(nsres == NS_OK);
172  return S_OK;
173 }
#define assert(x)
Definition: debug.h:53
#define NS_OK
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define S_OK
Definition: intsafe.h:59
const GLdouble * v
Definition: gl.h:2040
HRESULT nsresult
Definition: nsiface.idl:39

◆ HTMLSelectElement_put_name()

static HRESULT WINAPI HTMLSelectElement_put_name ( IHTMLSelectElement *  iface,
BSTR  v 
)
static

Definition at line 190 of file htmlselect.c.

191 {
193  nsAString str;
194  nsresult nsres;
195 
196  TRACE("(%p)->(%s)\n", This, debugstr_w(v));
198  nsres = nsIDOMHTMLSelectElement_SetName(This->nsselect, &str);
200 
201  if(NS_FAILED(nsres)) {
202  ERR("SetName failed: %08x\n", nsres);
203  return E_FAIL;
204  }
205  return S_OK;
206 }
#define E_FAIL
Definition: ddrawi.h:102
#define debugstr_w
Definition: kernel32.h:32
const WCHAR * str
#define NS_FAILED(res)
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define ERR(fmt,...)
Definition: debug.h:109
#define S_OK
Definition: intsafe.h:59
const GLdouble * v
Definition: gl.h:2040
void nsAString_InitDepend(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:826
void nsAString_Finish(nsAString *) DECLSPEC_HIDDEN
Definition: nsembed.c:836
HRESULT nsresult
Definition: nsiface.idl:39

◆ HTMLSelectElement_put_onchange()

static HRESULT WINAPI HTMLSelectElement_put_onchange ( IHTMLSelectElement *  iface,
VARIANT  v 
)
static

Definition at line 233 of file htmlselect.c.

234 {
236 
237  TRACE("(%p)->()\n", This);
238 
239  return set_node_event(&This->element.node, EVENTID_CHANGE, &v);
240 }
static HRESULT set_node_event(HTMLDOMNode *node, eventid_t eid, VARIANT *var)
Definition: htmlevent.h:80
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
const GLdouble * v
Definition: gl.h:2040

◆ HTMLSelectElement_put_selectedIndex()

static HRESULT WINAPI HTMLSelectElement_put_selectedIndex ( IHTMLSelectElement *  iface,
LONG  v 
)
static

Definition at line 249 of file htmlselect.c.

250 {
252  nsresult nsres;
253 
254  TRACE("(%p)->(%d)\n", This, v);
255 
256  nsres = nsIDOMHTMLSelectElement_SetSelectedIndex(This->nsselect, v);
257  if(NS_FAILED(nsres))
258  ERR("SetSelectedIndex failed: %08x\n", nsres);
259 
260  return S_OK;
261 }
#define NS_FAILED(res)
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define ERR(fmt,...)
Definition: debug.h:109
#define S_OK
Definition: intsafe.h:59
const GLdouble * v
Definition: gl.h:2040
HRESULT nsresult
Definition: nsiface.idl:39

◆ HTMLSelectElement_put_size()

static HRESULT WINAPI HTMLSelectElement_put_size ( IHTMLSelectElement *  iface,
LONG  v 
)
static

Definition at line 127 of file htmlselect.c.

128 {
130  nsresult nsres;
131 
132  TRACE("(%p)->(%d)\n", This, v);
133  if(v < 0)
135 
136  nsres = nsIDOMHTMLSelectElement_SetSize(This->nsselect, v);
137  if(NS_FAILED(nsres)) {
138  ERR("SetSize failed: %08x\n", nsres);
139  return E_FAIL;
140  }
141  return S_OK;
142 }
#define E_FAIL
Definition: ddrawi.h:102
#define NS_FAILED(res)
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define ERR(fmt,...)
Definition: debug.h:109
#define S_OK
Definition: intsafe.h:59
const GLdouble * v
Definition: gl.h:2040
HRESULT nsresult
Definition: nsiface.idl:39
#define CTL_E_INVALIDPROPERTYVALUE
Definition: olectl.h:292

◆ HTMLSelectElement_put_value()

static HRESULT WINAPI HTMLSelectElement_put_value ( IHTMLSelectElement *  iface,
BSTR  v 
)
static

Definition at line 292 of file htmlselect.c.

293 {
296  nsresult nsres;
297 
298  TRACE("(%p)->(%s)\n", This, debugstr_w(v));
299 
301  nsres = nsIDOMHTMLSelectElement_SetValue(This->nsselect, &value_str);
303  if(NS_FAILED(nsres))
304  ERR("SetValue failed: %08x\n", nsres);
305 
306  return S_OK;
307 }
#define debugstr_w
Definition: kernel32.h:32
#define NS_FAILED(res)
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define ERR(fmt,...)
Definition: debug.h:109
#define S_OK
Definition: intsafe.h:59
static UNICODE_STRING value_str
Definition: reg.c:1328
const GLdouble * v
Definition: gl.h:2040
void nsAString_InitDepend(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:826
void nsAString_Finish(nsAString *) DECLSPEC_HIDDEN
Definition: nsembed.c:836
HRESULT nsresult
Definition: nsiface.idl:39

◆ HTMLSelectElement_QI()

static HRESULT HTMLSelectElement_QI ( HTMLDOMNode iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 565 of file htmlselect.c.

566 {
568 
569  *ppv = NULL;
570 
571  if(IsEqualGUID(&IID_IUnknown, riid)) {
572  TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
573  *ppv = &This->IHTMLSelectElement_iface;
574  }else if(IsEqualGUID(&IID_IDispatch, riid)) {
575  TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
576  *ppv = &This->IHTMLSelectElement_iface;
577  }else if(IsEqualGUID(&IID_IHTMLSelectElement, riid)) {
578  TRACE("(%p)->(IID_IHTMLSelectElement %p)\n", This, ppv);
579  *ppv = &This->IHTMLSelectElement_iface;
580  }
581 
582  if(*ppv) {
583  IUnknown_AddRef((IUnknown*)*ppv);
584  return S_OK;
585  }
586 
587  return HTMLElement_QI(&This->element.node, riid, ppv);
588 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
HRESULT HTMLElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
Definition: htmlelem.c:3738
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
const GUID IID_IDispatch
static HTMLSelectElement * impl_from_HTMLDOMNode(HTMLDOMNode *iface)
Definition: htmlselect.c:560
#define S_OK
Definition: intsafe.h:59
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4021

◆ HTMLSelectElement_QueryInterface()

static HRESULT WINAPI HTMLSelectElement_QueryInterface ( IHTMLSelectElement *  iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 69 of file htmlselect.c.

71 {
73 
74  return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
75 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29

◆ HTMLSelectElement_Release()

static ULONG WINAPI HTMLSelectElement_Release ( IHTMLSelectElement *  iface)
static

Definition at line 84 of file htmlselect.c.

85 {
87 
88  return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
89 }
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29

◆ HTMLSelectElement_remove()

static HRESULT WINAPI HTMLSelectElement_remove ( IHTMLSelectElement *  iface,
LONG  index 
)
static

Definition at line 442 of file htmlselect.c.

443 {
445  nsresult nsres;
446  TRACE("(%p)->(%d)\n", This, index);
447  if(index < 0)
448  return E_INVALIDARG;
449 
450  nsres = nsIDOMHTMLSelectElement_select_Remove(This->nsselect, index);
451  if(NS_FAILED(nsres)) {
452  ERR("Remove failed: %08x\n", nsres);
453  return E_FAIL;
454  }
455  return S_OK;
456 }
#define E_FAIL
Definition: ddrawi.h:102
#define E_INVALIDARG
Definition: ddrawi.h:101
GLuint index
Definition: glext.h:6031
#define NS_FAILED(res)
#define TRACE(s)
Definition: solgame.cpp:4
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define ERR(fmt,...)
Definition: debug.h:109
#define S_OK
Definition: intsafe.h:59
HRESULT nsresult
Definition: nsiface.idl:39

◆ HTMLSelectElement_tags()

static HRESULT WINAPI HTMLSelectElement_tags ( IHTMLSelectElement *  iface,
VARIANT  tagName,
IDispatch **  pdisp 
)
static

Definition at line 518 of file htmlselect.c.

520 {
522  FIXME("(%p)->(v %p)\n", This, pdisp);
523  return E_NOTIMPL;
524 }
#define FIXME(fmt,...)
Definition: debug.h:110
static HTMLSelectElement * impl_from_IHTMLSelectElement(IHTMLSelectElement *iface)
Definition: htmlselect.c:29
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ HTMLSelectElement_traverse()

static void HTMLSelectElement_traverse ( HTMLDOMNode iface,
nsCycleCollectionTraversalCallback cb 
)
static

Definition at line 656 of file htmlselect.c.

657 {
659 
660  if(This->nsselect)
661  note_cc_edge((nsISupports*)This->nsselect, "This->nsselect", cb);
662 }
static DWORD cb
Definition: integrity.c:41
static HTMLSelectElement * impl_from_HTMLDOMNode(HTMLDOMNode *iface)
Definition: htmlselect.c:560

◆ HTMLSelectElement_unlink()

static void HTMLSelectElement_unlink ( HTMLDOMNode iface)
static

Definition at line 664 of file htmlselect.c.

665 {
667 
668  if(This->nsselect) {
669  nsIDOMHTMLSelectElement *nsselect = This->nsselect;
670 
671  This->nsselect = NULL;
672  nsIDOMHTMLSelectElement_Release(nsselect);
673  }
674 }
smooth NULL
Definition: ftsmooth.c:416
static HTMLSelectElement * impl_from_HTMLDOMNode(HTMLDOMNode *iface)
Definition: htmlselect.c:560

◆ HTMLSelectElementImpl_get_disabled()

static HRESULT HTMLSelectElementImpl_get_disabled ( HTMLDOMNode iface,
VARIANT_BOOL p 
)
static

Definition at line 596 of file htmlselect.c.

597 {
599  return IHTMLSelectElement_get_disabled(&This->IHTMLSelectElement_iface, p);
600 }
static HTMLSelectElement * impl_from_HTMLDOMNode(HTMLDOMNode *iface)
Definition: htmlselect.c:560
GLfloat GLfloat p
Definition: glext.h:8902

◆ HTMLSelectElementImpl_put_disabled()

static HRESULT HTMLSelectElementImpl_put_disabled ( HTMLDOMNode iface,
VARIANT_BOOL  v 
)
static

Definition at line 590 of file htmlselect.c.

591 {
593  return IHTMLSelectElement_put_disabled(&This->IHTMLSelectElement_iface, v);
594 }
static HTMLSelectElement * impl_from_HTMLDOMNode(HTMLDOMNode *iface)
Definition: htmlselect.c:560
const GLdouble * v
Definition: gl.h:2040

◆ impl_from_HTMLDOMNode()

static HTMLSelectElement* impl_from_HTMLDOMNode ( HTMLDOMNode iface)
inlinestatic

Definition at line 560 of file htmlselect.c.

561 {
562  return CONTAINING_RECORD(iface, HTMLSelectElement, element.node);
563 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by HTMLSelectElement_invoke(), HTMLSelectElement_QI(), HTMLSelectElement_traverse(), HTMLSelectElement_unlink(), HTMLSelectElementImpl_get_disabled(), and HTMLSelectElementImpl_put_disabled().

◆ impl_from_IHTMLSelectElement()

static HTMLSelectElement* impl_from_IHTMLSelectElement ( IHTMLSelectElement *  iface)
inlinestatic

Variable Documentation

◆ HTMLSelectElement_dispex

dispex_static_data_t HTMLSelectElement_dispex
static
Initial value:
= {
DispHTMLSelectElement_tid,
}
smooth NULL
Definition: ftsmooth.c:416
static const tid_t HTMLSelectElement_tids[]
Definition: htmlselect.c:696

Definition at line 702 of file htmlselect.c.

Referenced by HTMLSelectElement_Create().

◆ HTMLSelectElement_tids

const tid_t HTMLSelectElement_tids[]
static
Initial value:
= {
IHTMLSelectElement_tid,
0
}
#define HTMLELEMENT_TIDS

Definition at line 696 of file htmlselect.c.

◆ HTMLSelectElementImplVtbl

const NodeImplVtbl HTMLSelectElementImplVtbl
static
Initial value:
= {
}
static HRESULT HTMLSelectElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
Definition: htmlselect.c:565
HRESULT HTMLElement_handle_event(HTMLDOMNode *iface, DWORD eid, nsIDOMEvent *event, BOOL *prevent_default)
Definition: htmlelem.c:3815
const cpc_entry_t HTMLElement_cpc[]
Definition: htmlelem.c:3847
HRESULT HTMLElement_get_attr_col(HTMLDOMNode *iface, HTMLAttributeCollection **ac)
Definition: htmlelem.c:4827
static HRESULT HTMLSelectElementImpl_get_disabled(HTMLDOMNode *iface, VARIANT_BOOL *p)
Definition: htmlselect.c:596
static void HTMLSelectElement_unlink(HTMLDOMNode *iface)
Definition: htmlselect.c:664
static void HTMLSelectElement_traverse(HTMLDOMNode *iface, nsCycleCollectionTraversalCallback *cb)
Definition: htmlselect.c:656
smooth NULL
Definition: ftsmooth.c:416
void HTMLElement_destructor(HTMLDOMNode *iface)
Definition: htmlelem.c:3764
HRESULT HTMLElement_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTMLDOMNode **ret)
Definition: htmlelem.c:3793
static HRESULT HTMLSelectElementImpl_put_disabled(HTMLDOMNode *iface, VARIANT_BOOL v)
Definition: htmlselect.c:590
static HRESULT HTMLSelectElement_invoke(HTMLDOMNode *iface, DISPID id, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *res, EXCEPINFO *ei, IServiceProvider *caller)
Definition: htmlselect.c:623
static HRESULT HTMLSelectElement_get_dispid(HTMLDOMNode *iface, BSTR name, DWORD flags, DISPID *dispid)
Definition: htmlselect.c:604

Definition at line 676 of file htmlselect.c.

Referenced by HTMLSelectElement_Create().

◆ HTMLSelectElementVtbl

const IHTMLSelectElementVtbl HTMLSelectElementVtbl
static

Definition at line 526 of file htmlselect.c.

Referenced by HTMLSelectElement_Create().