]> git.saurik.com Git - wxWidgets.git/blame - wxPython/wx/lib/iewin.py
Migate to the new wxRendererNative::DrawItemSelectionRect function where available...
[wxWidgets.git] / wxPython / wx / lib / iewin.py
CommitLineData
b7c75283
RD
1#----------------------------------------------------------------------
2# Name: wx.lib.iewin
3# Purpose: A class that allows the use of the IE web browser
4# ActiveX control
5#
6# Author: Robin Dunn
7#
8# Created: 22-March-2004
9# RCS-ID: $Id$
10# Copyright: (c) 2004 by Total Control Software
11# Licence: wxWindows license
12#----------------------------------------------------------------------
13
14# This module was originally generated by the
15# wx.activex.GernerateAXModule class but has been tweaked somewhat as
16# indicated below.
17
18import wx
19import wx.activex
20
21clsID = '{8856F961-340A-11D0-A96B-00C04FD705A2}'
22progID = 'Shell.Explorer.2'
23
24
25# Flags to be used with the RefreshPage method
26REFRESH_NORMAL = 0
27REFRESH_IFEXPIRED = 1
28REFRESH_CONTINUE = 2
29REFRESH_COMPLETELY = 3
30
31# Flags to be used with LoadUrl, Navigate, Navigate2 methods
32NAV_OpenInNewWindow = 0x1
33NAV_NoHistory = 0x2
34NAV_NoReadFromCache = 0x4
35NAV_NoWriteToCache = 0x8
36NAV_AllowAutosearch = 0x10
37NAV_BrowserBar = 0x20
38NAV_Hyperlink = 0x40
39
40
41
42# Create eventTypes and event binders
43wxEVT_StatusTextChange = wx.activex.RegisterActiveXEvent('StatusTextChange')
44wxEVT_ProgressChange = wx.activex.RegisterActiveXEvent('ProgressChange')
45wxEVT_CommandStateChange = wx.activex.RegisterActiveXEvent('CommandStateChange')
46wxEVT_DownloadBegin = wx.activex.RegisterActiveXEvent('DownloadBegin')
47wxEVT_DownloadComplete = wx.activex.RegisterActiveXEvent('DownloadComplete')
48wxEVT_TitleChange = wx.activex.RegisterActiveXEvent('TitleChange')
49wxEVT_PropertyChange = wx.activex.RegisterActiveXEvent('PropertyChange')
50wxEVT_BeforeNavigate2 = wx.activex.RegisterActiveXEvent('BeforeNavigate2')
51wxEVT_NewWindow2 = wx.activex.RegisterActiveXEvent('NewWindow2')
52wxEVT_NavigateComplete2 = wx.activex.RegisterActiveXEvent('NavigateComplete2')
53wxEVT_DocumentComplete = wx.activex.RegisterActiveXEvent('DocumentComplete')
54wxEVT_Quit = wx.activex.RegisterActiveXEvent('OnQuit')
55wxEVT_Visible = wx.activex.RegisterActiveXEvent('OnVisible')
56wxEVT_ToolBar = wx.activex.RegisterActiveXEvent('OnToolBar')
57wxEVT_MenuBar = wx.activex.RegisterActiveXEvent('OnMenuBar')
58wxEVT_StatusBar = wx.activex.RegisterActiveXEvent('OnStatusBar')
59wxEVT_FullScreen = wx.activex.RegisterActiveXEvent('OnFullScreen')
60wxEVT_TheaterMode = wx.activex.RegisterActiveXEvent('OnTheaterMode')
61wxEVT_WindowSetResizable = wx.activex.RegisterActiveXEvent('WindowSetResizable')
62wxEVT_WindowSetLeft = wx.activex.RegisterActiveXEvent('WindowSetLeft')
63wxEVT_WindowSetTop = wx.activex.RegisterActiveXEvent('WindowSetTop')
64wxEVT_WindowSetWidth = wx.activex.RegisterActiveXEvent('WindowSetWidth')
65wxEVT_WindowSetHeight = wx.activex.RegisterActiveXEvent('WindowSetHeight')
66wxEVT_WindowClosing = wx.activex.RegisterActiveXEvent('WindowClosing')
67wxEVT_ClientToHostWindow = wx.activex.RegisterActiveXEvent('ClientToHostWindow')
68wxEVT_SetSecureLockIcon = wx.activex.RegisterActiveXEvent('SetSecureLockIcon')
69wxEVT_FileDownload = wx.activex.RegisterActiveXEvent('FileDownload')
70wxEVT_NavigateError = wx.activex.RegisterActiveXEvent('NavigateError')
71wxEVT_PrintTemplateInstantiation = wx.activex.RegisterActiveXEvent('PrintTemplateInstantiation')
72wxEVT_PrintTemplateTeardown = wx.activex.RegisterActiveXEvent('PrintTemplateTeardown')
73wxEVT_UpdatePageStatus = wx.activex.RegisterActiveXEvent('UpdatePageStatus')
74wxEVT_PrivacyImpactedStateChange = wx.activex.RegisterActiveXEvent('PrivacyImpactedStateChange')
75
76EVT_StatusTextChange = wx.PyEventBinder(wxEVT_StatusTextChange, 1)
77EVT_ProgressChange = wx.PyEventBinder(wxEVT_ProgressChange, 1)
78EVT_CommandStateChange = wx.PyEventBinder(wxEVT_CommandStateChange, 1)
79EVT_DownloadBegin = wx.PyEventBinder(wxEVT_DownloadBegin, 1)
80EVT_DownloadComplete = wx.PyEventBinder(wxEVT_DownloadComplete, 1)
81EVT_TitleChange = wx.PyEventBinder(wxEVT_TitleChange, 1)
82EVT_PropertyChange = wx.PyEventBinder(wxEVT_PropertyChange, 1)
83EVT_BeforeNavigate2 = wx.PyEventBinder(wxEVT_BeforeNavigate2, 1)
84EVT_NewWindow2 = wx.PyEventBinder(wxEVT_NewWindow2, 1)
85EVT_NavigateComplete2 = wx.PyEventBinder(wxEVT_NavigateComplete2, 1)
86EVT_DocumentComplete = wx.PyEventBinder(wxEVT_DocumentComplete, 1)
87EVT_Quit = wx.PyEventBinder(wxEVT_Quit, 1)
88EVT_Visible = wx.PyEventBinder(wxEVT_Visible, 1)
89EVT_ToolBar = wx.PyEventBinder(wxEVT_ToolBar, 1)
90EVT_MenuBar = wx.PyEventBinder(wxEVT_MenuBar, 1)
91EVT_StatusBar = wx.PyEventBinder(wxEVT_StatusBar, 1)
92EVT_FullScreen = wx.PyEventBinder(wxEVT_FullScreen, 1)
93EVT_TheaterMode = wx.PyEventBinder(wxEVT_TheaterMode, 1)
94EVT_WindowSetResizable = wx.PyEventBinder(wxEVT_WindowSetResizable, 1)
95EVT_WindowSetLeft = wx.PyEventBinder(wxEVT_WindowSetLeft, 1)
96EVT_WindowSetTop = wx.PyEventBinder(wxEVT_WindowSetTop, 1)
97EVT_WindowSetWidth = wx.PyEventBinder(wxEVT_WindowSetWidth, 1)
98EVT_WindowSetHeight = wx.PyEventBinder(wxEVT_WindowSetHeight, 1)
99EVT_WindowClosing = wx.PyEventBinder(wxEVT_WindowClosing, 1)
100EVT_ClientToHostWindow = wx.PyEventBinder(wxEVT_ClientToHostWindow, 1)
101EVT_SetSecureLockIcon = wx.PyEventBinder(wxEVT_SetSecureLockIcon, 1)
102EVT_FileDownload = wx.PyEventBinder(wxEVT_FileDownload, 1)
103EVT_NavigateError = wx.PyEventBinder(wxEVT_NavigateError, 1)
104EVT_PrintTemplateInstantiation = wx.PyEventBinder(wxEVT_PrintTemplateInstantiation, 1)
105EVT_PrintTemplateTeardown = wx.PyEventBinder(wxEVT_PrintTemplateTeardown, 1)
106EVT_UpdatePageStatus = wx.PyEventBinder(wxEVT_UpdatePageStatus, 1)
107EVT_PrivacyImpactedStateChange = wx.PyEventBinder(wxEVT_PrivacyImpactedStateChange, 1)
108
109
3c1f75d5 110# For this there are a few special methods implemented in C++ in the
b7c75283
RD
111# IEHtmlWindowBase class, so derive from it instead of ActiveXWindow.
112class IEHtmlWindow(wx.activex.IEHtmlWindowBase):
cc30c63a
RD
113 def __init__(self, parent, id=-1, pos=wx.DefaultPosition,
114 size=wx.DefaultSize, style=0, name='IEHtmlWindow', ID=-1):
115 # in case the old 'ID' param is used as a keyword
116 if ID != -1:
117 id = ID
118
b7c75283
RD
119 wx.activex.IEHtmlWindowBase.__init__(self, parent,
120 wx.activex.CLSID('{8856F961-340A-11D0-A96B-00C04FD705A2}'),
cc30c63a
RD
121 id, pos, size, style, name)
122
b7c75283
RD
123
124 # Methods from IEHtmlWindowBase. Redirected from here just for
125 # the sake of completeness...
126 def LoadString(self, html):
127 """Load the html document from a string"""
128 return wx.activex.IEHtmlWindowBase.LoadString(self, html)
129
130
131 def LoadStream(self, stream):
132 """
133 Load the html document from a wx.InputStream or a Python
134 file-like object.
135 """
136 return wx.activex.IEHtmlWindowBase.LoadStream(self, stream)
137
138
139 def LoadUrl(self, URL, Flags=0):
140 """Load the document from url."""
141 return self.Navigate2(URL, Flags)
142
143
0d2653ff 144 def GetStringSelection(self, asHTML=True):
b7c75283
RD
145 """
146 Returns the contents of the selected portion of the document as
147 either html or plain text.
148 """
149 return wx.activex.IEHtmlWindowBase.GetStringSelection(self, asHTML)
150
151
0d2653ff 152 def GetText(self, asHTML=True):
b7c75283
RD
153 """
154 Returns the contents of the the html document as either html or plain text.
155 """
156 return wx.activex.IEHtmlWindowBase.GetText(self, asHTML)
157
158
159 def SetCharset(self, charset):
160 """"""
161 return wx.activex.IEHtmlWindowBase.SetCharset(self, charset)
162
163
164 # Methods exported by the ActiveX object
165 def QueryInterface(self, riid):
166 return self.CallAXMethod('QueryInterface', riid)
167
168 def AddRef(self):
169 return self.CallAXMethod('AddRef')
170
171 def Release(self):
172 return self.CallAXMethod('Release')
173
174 def GetTypeInfoCount(self):
175 return self.CallAXMethod('GetTypeInfoCount')
176
177 def GetTypeInfo(self, itinfo, lcid):
178 return self.CallAXMethod('GetTypeInfo', itinfo, lcid)
179
180 def GetIDsOfNames(self, riid, rgszNames, cNames, lcid):
181 return self.CallAXMethod('GetIDsOfNames', riid, rgszNames, cNames, lcid)
182
183 def Invoke(self, dispidMember, riid, lcid, wFlags, pdispparams):
184 return self.CallAXMethod('Invoke', dispidMember, riid, lcid, wFlags, pdispparams)
185
186 def GoBack(self):
187 return self.CallAXMethod('GoBack')
188
189 def GoForward(self):
190 return self.CallAXMethod('GoForward')
191
192 def GoHome(self):
193 return self.CallAXMethod('GoHome')
194
195 def GoSearch(self):
196 return self.CallAXMethod('GoSearch')
197
198 # added default for Flags
199 def Navigate(self, URL, Flags=0, TargetFrameName=None, PostData=None, Headers=None):
200 return self.CallAXMethod('Navigate', URL, Flags, TargetFrameName, PostData, Headers)
201
202 # Removed to prevent conflict with wx.Window.Refresh
203 #def Refresh(self):
204 # return self.CallAXMethod('Refresh')
205
206 # renamed
207 def RefreshPage(self, Level=REFRESH_NORMAL):
208 return self.CallAXMethod('Refresh2', Level)
209
210 def Stop(self):
211 return self.CallAXMethod('Stop')
212
213 def Quit(self):
214 return self.CallAXMethod('Quit')
215
216 def ClientToWindow(self, pcx, pcy):
217 return self.CallAXMethod('ClientToWindow', pcx, pcy)
218
219 def PutProperty(self, Property, vtValue):
220 return self.CallAXMethod('PutProperty', Property, vtValue)
221
222 def GetProperty(self, Property):
223 return self.CallAXMethod('GetProperty', Property)
224
225 # added default for flags
226 def Navigate2(self, URL, Flags=0, TargetFrameName=None, PostData=None, Headers=None):
227 return self.CallAXMethod('Navigate2', URL, Flags, TargetFrameName, PostData, Headers)
228
229 def QueryStatusWB(self, cmdID):
230 return self.CallAXMethod('QueryStatusWB', cmdID)
231
232 def ExecWB(self, cmdID, cmdexecopt, pvaIn, pvaOut=None):
233 return self.CallAXMethod('ExecWB', cmdID, cmdexecopt, pvaIn, pvaOut)
234
235 def ShowBrowserBar(self, pvaClsid, pvarShow, pvarSize=None):
236 return self.CallAXMethod('ShowBrowserBar', pvaClsid, pvarShow, pvarSize)
237
238 # Getters, Setters and properties
239 def _get_Application(self):
240 return self.GetAXProp('Application')
241 application = property(_get_Application, None)
242
243 def _get_Parent(self):
244 return self.GetAXProp('Parent')
245 parent = property(_get_Parent, None)
246
247 def _get_Container(self):
248 return self.GetAXProp('Container')
249 container = property(_get_Container, None)
250
251 def _get_Document(self):
252 return self.GetAXProp('Document')
253 document = property(_get_Document, None)
254
255 def _get_TopLevelContainer(self):
256 return self.GetAXProp('TopLevelContainer')
257 toplevelcontainer = property(_get_TopLevelContainer, None)
258
259 def _get_Type(self):
260 return self.GetAXProp('Type')
261 type = property(_get_Type, None)
262
263 def _get_Left(self):
264 return self.GetAXProp('Left')
265 def _set_Left(self, Left):
266 self.SetAXProp('Left', Left)
267 left = property(_get_Left, _set_Left)
268
269 def _get_Top(self):
270 return self.GetAXProp('Top')
271 def _set_Top(self, Top):
272 self.SetAXProp('Top', Top)
273 top = property(_get_Top, _set_Top)
274
275 def _get_Width(self):
276 return self.GetAXProp('Width')
277 def _set_Width(self, Width):
278 self.SetAXProp('Width', Width)
279 width = property(_get_Width, _set_Width)
280
281 def _get_Height(self):
282 return self.GetAXProp('Height')
283 def _set_Height(self, Height):
284 self.SetAXProp('Height', Height)
285 height = property(_get_Height, _set_Height)
286
287 def _get_LocationName(self):
288 return self.GetAXProp('LocationName')
289 locationname = property(_get_LocationName, None)
290
291 def _get_LocationURL(self):
292 return self.GetAXProp('LocationURL')
293 locationurl = property(_get_LocationURL, None)
294
295 def _get_Busy(self):
296 return self.GetAXProp('Busy')
297 busy = property(_get_Busy, None)
298
299 def _get_Name(self):
300 return self.GetAXProp('Name')
301 name = property(_get_Name, None)
302
303 def _get_HWND(self):
304 return self.GetAXProp('HWND')
305 hwnd = property(_get_HWND, None)
306
307 def _get_FullName(self):
308 return self.GetAXProp('FullName')
309 fullname = property(_get_FullName, None)
310
311 def _get_Path(self):
312 return self.GetAXProp('Path')
313 path = property(_get_Path, None)
314
315 def _get_Visible(self):
316 return self.GetAXProp('Visible')
317 def _set_Visible(self, Visible):
318 self.SetAXProp('Visible', Visible)
319 visible = property(_get_Visible, _set_Visible)
320
321 def _get_StatusBar(self):
322 return self.GetAXProp('StatusBar')
323 def _set_StatusBar(self, StatusBar):
324 self.SetAXProp('StatusBar', StatusBar)
325 statusbar = property(_get_StatusBar, _set_StatusBar)
326
327 def _get_StatusText(self):
328 return self.GetAXProp('StatusText')
329 def _set_StatusText(self, StatusText):
330 self.SetAXProp('StatusText', StatusText)
331 statustext = property(_get_StatusText, _set_StatusText)
332
333 def _get_ToolBar(self):
334 return self.GetAXProp('ToolBar')
335 def _set_ToolBar(self, ToolBar):
336 self.SetAXProp('ToolBar', ToolBar)
337 toolbar = property(_get_ToolBar, _set_ToolBar)
338
339 def _get_MenuBar(self):
340 return self.GetAXProp('MenuBar')
341 def _set_MenuBar(self, MenuBar):
342 self.SetAXProp('MenuBar', MenuBar)
343 menubar = property(_get_MenuBar, _set_MenuBar)
344
345 def _get_FullScreen(self):
346 return self.GetAXProp('FullScreen')
347 def _set_FullScreen(self, FullScreen):
348 self.SetAXProp('FullScreen', FullScreen)
349 fullscreen = property(_get_FullScreen, _set_FullScreen)
350
351 def _get_ReadyState(self):
352 return self.GetAXProp('ReadyState')
353 readystate = property(_get_ReadyState, None)
354
355 def _get_Offline(self):
356 return self.GetAXProp('Offline')
357 def _set_Offline(self, Offline):
358 self.SetAXProp('Offline', Offline)
359 offline = property(_get_Offline, _set_Offline)
360
361 def _get_Silent(self):
362 return self.GetAXProp('Silent')
363 def _set_Silent(self, Silent):
364 self.SetAXProp('Silent', Silent)
365 silent = property(_get_Silent, _set_Silent)
366
367 def _get_RegisterAsBrowser(self):
368 return self.GetAXProp('RegisterAsBrowser')
369 def _set_RegisterAsBrowser(self, RegisterAsBrowser):
370 self.SetAXProp('RegisterAsBrowser', RegisterAsBrowser)
371 registerasbrowser = property(_get_RegisterAsBrowser, _set_RegisterAsBrowser)
372
373 def _get_RegisterAsDropTarget(self):
374 return self.GetAXProp('RegisterAsDropTarget')
375 def _set_RegisterAsDropTarget(self, RegisterAsDropTarget):
376 self.SetAXProp('RegisterAsDropTarget', RegisterAsDropTarget)
377 registerasdroptarget = property(_get_RegisterAsDropTarget, _set_RegisterAsDropTarget)
378
379 def _get_TheaterMode(self):
380 return self.GetAXProp('TheaterMode')
381 def _set_TheaterMode(self, TheaterMode):
382 self.SetAXProp('TheaterMode', TheaterMode)
383 theatermode = property(_get_TheaterMode, _set_TheaterMode)
384
385 def _get_AddressBar(self):
386 return self.GetAXProp('AddressBar')
387 def _set_AddressBar(self, AddressBar):
388 self.SetAXProp('AddressBar', AddressBar)
389 addressbar = property(_get_AddressBar, _set_AddressBar)
390
391 def _get_Resizable(self):
392 return self.GetAXProp('Resizable')
393 def _set_Resizable(self, Resizable):
394 self.SetAXProp('Resizable', Resizable)
395 resizable = property(_get_Resizable, _set_Resizable)
396
397
398# PROPERTIES
399# --------------------
400# application
401# type:VT_DISPATCH arg:VT_EMPTY canGet:True canSet:False
402#
403# parent
404# type:VT_DISPATCH arg:VT_EMPTY canGet:True canSet:False
405#
406# container
407# type:VT_DISPATCH arg:VT_EMPTY canGet:True canSet:False
408#
409# document
410# type:VT_DISPATCH arg:VT_EMPTY canGet:True canSet:False
411#
412# toplevelcontainer
413# type:bool arg:VT_EMPTY canGet:True canSet:False
414#
415# type
416# type:string arg:VT_EMPTY canGet:True canSet:False
417#
418# left
419# type:int arg:int canGet:True canSet:True
420#
421# top
422# type:int arg:int canGet:True canSet:True
423#
424# width
425# type:int arg:int canGet:True canSet:True
426#
427# height
428# type:int arg:int canGet:True canSet:True
429#
430# locationname
431# type:string arg:VT_EMPTY canGet:True canSet:False
432#
433# locationurl
434# type:string arg:VT_EMPTY canGet:True canSet:False
435#
436# busy
437# type:bool arg:VT_EMPTY canGet:True canSet:False
438#
439# name
440# type:string arg:VT_EMPTY canGet:True canSet:False
441#
442# hwnd
443# type:int arg:VT_EMPTY canGet:True canSet:False
444#
445# fullname
446# type:string arg:VT_EMPTY canGet:True canSet:False
447#
448# path
449# type:string arg:VT_EMPTY canGet:True canSet:False
450#
451# visible
452# type:bool arg:bool canGet:True canSet:True
453#
454# statusbar
455# type:bool arg:bool canGet:True canSet:True
456#
457# statustext
458# type:string arg:string canGet:True canSet:True
459#
460# toolbar
461# type:int arg:int canGet:True canSet:True
462#
463# menubar
464# type:bool arg:bool canGet:True canSet:True
465#
466# fullscreen
467# type:bool arg:bool canGet:True canSet:True
468#
469# readystate
470# type:unsupported type 29 arg:VT_EMPTY canGet:True canSet:False
471#
472# offline
473# type:bool arg:bool canGet:True canSet:True
474#
475# silent
476# type:bool arg:bool canGet:True canSet:True
477#
478# registerasbrowser
479# type:bool arg:bool canGet:True canSet:True
480#
481# registerasdroptarget
482# type:bool arg:bool canGet:True canSet:True
483#
484# theatermode
485# type:bool arg:bool canGet:True canSet:True
486#
487# addressbar
488# type:bool arg:bool canGet:True canSet:True
489#
490# resizable
491# type:bool arg:bool canGet:True canSet:True
492#
493#
494#
495#
496# METHODS
497# --------------------
498# QueryInterface
499# retType: VT_VOID
500# params:
501# riid
502# in:True out:False optional:False type:unsupported type 29
503# ppvObj
504# in:False out:True optional:False type:unsupported type 26
505#
506# AddRef
507# retType: int
508#
509# Release
510# retType: int
511#
512# GetTypeInfoCount
513# retType: VT_VOID
514# params:
515# pctinfo
516# in:False out:True optional:False type:int
517#
518# GetTypeInfo
519# retType: VT_VOID
520# params:
521# itinfo
522# in:True out:False optional:False type:int
523# lcid
524# in:True out:False optional:False type:int
525# pptinfo
526# in:False out:True optional:False type:unsupported type 26
527#
528# GetIDsOfNames
529# retType: VT_VOID
530# params:
531# riid
532# in:True out:False optional:False type:unsupported type 29
533# rgszNames
534# in:True out:False optional:False type:unsupported type 26
535# cNames
536# in:True out:False optional:False type:int
537# lcid
538# in:True out:False optional:False type:int
539# rgdispid
540# in:False out:True optional:False type:int
541#
542# Invoke
543# retType: VT_VOID
544# params:
545# dispidMember
546# in:True out:False optional:False type:int
547# riid
548# in:True out:False optional:False type:unsupported type 29
549# lcid
550# in:True out:False optional:False type:int
551# wFlags
552# in:True out:False optional:False type:int
553# pdispparams
554# in:True out:False optional:False type:unsupported type 29
555# pvarResult
556# in:False out:True optional:False type:VT_VARIANT
557# pexcepinfo
558# in:False out:True optional:False type:unsupported type 29
559# puArgErr
560# in:False out:True optional:False type:int
561#
562# GoBack
563# retType: VT_VOID
564#
565# GoForward
566# retType: VT_VOID
567#
568# GoHome
569# retType: VT_VOID
570#
571# GoSearch
572# retType: VT_VOID
573#
574# Navigate
575# retType: VT_VOID
576# params:
577# URL
578# in:True out:False optional:False type:string
579# Flags
580# in:True out:False optional:False type:VT_VARIANT
581# TargetFrameName
582# in:True out:False optional:True type:VT_VARIANT
583# PostData
584# in:True out:False optional:True type:VT_VARIANT
585# Headers
586# in:True out:False optional:True type:VT_VARIANT
587#
588# Refresh
589# retType: VT_VOID
590#
591# Refresh2
592# retType: VT_VOID
593# params:
594# Level
595# in:True out:False optional:False type:VT_VARIANT
596#
597# Stop
598# retType: VT_VOID
599#
600# Quit
601# retType: VT_VOID
602#
603# ClientToWindow
604# retType: VT_VOID
605# params:
606# pcx
607# in:True out:True optional:False type:int
608# pcy
609# in:True out:True optional:False type:int
610#
611# PutProperty
612# retType: VT_VOID
613# params:
614# Property
615# in:True out:False optional:False type:string
616# vtValue
617# in:True out:False optional:False type:VT_VARIANT
618#
619# GetProperty
620# retType: VT_VARIANT
621# params:
622# Property
623# in:True out:False optional:False type:string
624#
625# Navigate2
626# retType: VT_VOID
627# params:
628# URL
629# in:True out:False optional:False type:VT_VARIANT
630# Flags
631# in:True out:False optional:False type:VT_VARIANT
632# TargetFrameName
633# in:True out:False optional:True type:VT_VARIANT
634# PostData
635# in:True out:False optional:True type:VT_VARIANT
636# Headers
637# in:True out:False optional:True type:VT_VARIANT
638#
639# QueryStatusWB
640# retType: unsupported type 29
641# params:
642# cmdID
643# in:True out:False optional:False type:unsupported type 29
644#
645# ExecWB
646# retType: VT_VOID
647# params:
648# cmdID
649# in:True out:False optional:False type:unsupported type 29
650# cmdexecopt
651# in:True out:False optional:False type:unsupported type 29
652# pvaIn
653# in:True out:False optional:False type:VT_VARIANT
654# pvaOut
655# in:True out:True optional:True type:VT_VARIANT
656#
657# ShowBrowserBar
658# retType: VT_VOID
659# params:
660# pvaClsid
661# in:True out:False optional:False type:VT_VARIANT
662# pvarShow
663# in:True out:False optional:False type:VT_VARIANT
664# pvarSize
665# in:True out:False optional:True type:VT_VARIANT
666#
667#
668#
669#
670# EVENTS
671# --------------------
672# StatusTextChange
673# retType: VT_VOID
674# params:
675# Text
676# in:True out:False optional:False type:string
677#
678# ProgressChange
679# retType: VT_VOID
680# params:
681# Progress
682# in:True out:False optional:False type:int
683# ProgressMax
684# in:True out:False optional:False type:int
685#
686# CommandStateChange
687# retType: VT_VOID
688# params:
689# Command
690# in:True out:False optional:False type:int
691# Enable
692# in:True out:False optional:False type:bool
693#
694# DownloadBegin
695# retType: VT_VOID
696#
697# DownloadComplete
698# retType: VT_VOID
699#
700# TitleChange
701# retType: VT_VOID
702# params:
703# Text
704# in:True out:False optional:False type:string
705#
706# PropertyChange
707# retType: VT_VOID
708# params:
709# szProperty
710# in:True out:False optional:False type:string
711#
712# BeforeNavigate2
713# retType: VT_VOID
714# params:
715# pDisp
716# in:True out:False optional:False type:VT_DISPATCH
717# URL
718# in:True out:False optional:False type:VT_VARIANT
719# Flags
720# in:True out:False optional:False type:VT_VARIANT
721# TargetFrameName
722# in:True out:False optional:False type:VT_VARIANT
723# PostData
724# in:True out:False optional:False type:VT_VARIANT
725# Headers
726# in:True out:False optional:False type:VT_VARIANT
727# Cancel
728# in:True out:True optional:False type:bool
729#
730# NewWindow2
731# retType: VT_VOID
732# params:
733# ppDisp
734# in:True out:True optional:False type:VT_DISPATCH
735# Cancel
736# in:True out:True optional:False type:bool
737#
738# NavigateComplete2
739# retType: VT_VOID
740# params:
741# pDisp
742# in:True out:False optional:False type:VT_DISPATCH
743# URL
744# in:True out:False optional:False type:VT_VARIANT
745#
746# DocumentComplete
747# retType: VT_VOID
748# params:
749# pDisp
750# in:True out:False optional:False type:VT_DISPATCH
751# URL
752# in:True out:False optional:False type:VT_VARIANT
753#
754# Quit
755# retType: VT_VOID
756#
757# Visible
758# retType: VT_VOID
759# params:
760# Visible
761# in:True out:False optional:False type:bool
762#
763# ToolBar
764# retType: VT_VOID
765# params:
766# ToolBar
767# in:True out:False optional:False type:bool
768#
769# MenuBar
770# retType: VT_VOID
771# params:
772# MenuBar
773# in:True out:False optional:False type:bool
774#
775# StatusBar
776# retType: VT_VOID
777# params:
778# StatusBar
779# in:True out:False optional:False type:bool
780#
781# FullScreen
782# retType: VT_VOID
783# params:
784# FullScreen
785# in:True out:False optional:False type:bool
786#
787# TheaterMode
788# retType: VT_VOID
789# params:
790# TheaterMode
791# in:True out:False optional:False type:bool
792#
793# WindowSetResizable
794# retType: VT_VOID
795# params:
796# Resizable
797# in:True out:False optional:False type:bool
798#
799# WindowSetLeft
800# retType: VT_VOID
801# params:
802# Left
803# in:True out:False optional:False type:int
804#
805# WindowSetTop
806# retType: VT_VOID
807# params:
808# Top
809# in:True out:False optional:False type:int
810#
811# WindowSetWidth
812# retType: VT_VOID
813# params:
814# Width
815# in:True out:False optional:False type:int
816#
817# WindowSetHeight
818# retType: VT_VOID
819# params:
820# Height
821# in:True out:False optional:False type:int
822#
823# WindowClosing
824# retType: VT_VOID
825# params:
826# IsChildWindow
827# in:True out:False optional:False type:bool
828# Cancel
829# in:True out:True optional:False type:bool
830#
831# ClientToHostWindow
832# retType: VT_VOID
833# params:
834# CX
835# in:True out:True optional:False type:int
836# CY
837# in:True out:True optional:False type:int
838#
839# SetSecureLockIcon
840# retType: VT_VOID
841# params:
842# SecureLockIcon
843# in:True out:False optional:False type:int
844#
845# FileDownload
846# retType: VT_VOID
847# params:
848# Cancel
849# in:True out:True optional:False type:bool
850#
851# NavigateError
852# retType: VT_VOID
853# params:
854# pDisp
855# in:True out:False optional:False type:VT_DISPATCH
856# URL
857# in:True out:False optional:False type:VT_VARIANT
858# Frame
859# in:True out:False optional:False type:VT_VARIANT
860# StatusCode
861# in:True out:False optional:False type:VT_VARIANT
862# Cancel
863# in:True out:True optional:False type:bool
864#
865# PrintTemplateInstantiation
866# retType: VT_VOID
867# params:
868# pDisp
869# in:True out:False optional:False type:VT_DISPATCH
870#
871# PrintTemplateTeardown
872# retType: VT_VOID
873# params:
874# pDisp
875# in:True out:False optional:False type:VT_DISPATCH
876#
877# UpdatePageStatus
878# retType: VT_VOID
879# params:
880# pDisp
881# in:True out:False optional:False type:VT_DISPATCH
882# nPage
883# in:True out:False optional:False type:VT_VARIANT
884# fDone
885# in:True out:False optional:False type:VT_VARIANT
886#
887# PrivacyImpactedStateChange
888# retType: VT_VOID
889# params:
890# bImpacted
891# in:True out:False optional:False type:bool
892#
893#
894#
895#