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