Lindsay Mathieson's newest wxActiveX class has been wrapped into a new
extension module called wx.activex. Lots of demo and lib updates to go along with it. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
211
wxPython/contrib/activex/_activex_ex.py
Normal file
211
wxPython/contrib/activex/_activex_ex.py
Normal file
@@ -0,0 +1,211 @@
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Some helper and utility functions for ActiveX
|
||||
|
||||
|
||||
t4 = " " * 4
|
||||
t8 = " " * 8
|
||||
|
||||
def GetAXInfo(ax):
|
||||
"""
|
||||
Returns a printable summary of the TypeInfo from the ActiveX instance
|
||||
passed in.
|
||||
"""
|
||||
|
||||
def ProcessFuncX(f, out, name):
|
||||
out.append(name)
|
||||
out.append(t4 + "retType: %s" % f.retType.vt_type)
|
||||
if f.params:
|
||||
out.append(t4 + "params:")
|
||||
for p in f.params:
|
||||
out.append(t8 + p.name)
|
||||
out.append(t8+t4+ "in:%s out:%s optional:%s type:%s" % (p.isIn, p.isOut, p.isOptional, p.vt_type))
|
||||
out.append('')
|
||||
|
||||
def ProcessPropX(p, out):
|
||||
out.append(GernerateAXModule.trimPropName(p.name))
|
||||
out.append(t4+ "type:%s arg:%s canGet:%s canSet:%s" % (p.type.vt_type, p.arg.vt_type, p.canGet, p.canSet))
|
||||
out.append('')
|
||||
|
||||
out = []
|
||||
|
||||
out.append("PROPERTIES")
|
||||
out.append("-"*20)
|
||||
for p in ax.GetAXProperties():
|
||||
ProcessPropX(p, out)
|
||||
out.append('\n\n')
|
||||
|
||||
out.append("METHODS")
|
||||
out.append("-"*20)
|
||||
for m in ax.GetAXMethods():
|
||||
ProcessFuncX(m, out, GernerateAXModule.trimMethodName(m.name))
|
||||
out.append('\n\n')
|
||||
|
||||
out.append("EVENTS")
|
||||
out.append("-"*20)
|
||||
for e in ax.GetAXEvents():
|
||||
ProcessFuncX(e, out, GernerateAXModule.trimEventName(e.name))
|
||||
out.append('\n\n')
|
||||
|
||||
return "\n".join(out)
|
||||
|
||||
|
||||
|
||||
class GernerateAXModule:
|
||||
def __init__(self, ax, className, modulePath, moduleName=None, verbose=False):
|
||||
"""
|
||||
Make a Python module file with a class that has been specialized
|
||||
for the AcitveX object.
|
||||
|
||||
ax An instance of the ActiveXWindow class
|
||||
className The name to use for the new class
|
||||
modulePath The path where the new module should be written to
|
||||
moduleName The name of the .py file to create. If not given
|
||||
then the className will be used.
|
||||
"""
|
||||
import os
|
||||
if moduleName is None:
|
||||
moduleName = className + '.py'
|
||||
filename = os.path.join(modulePath, moduleName)
|
||||
if verbose:
|
||||
print "Creating module in:", filename
|
||||
print " ProgID: ", ax.GetCLSID().GetProgIDString()
|
||||
print " CLSID: ", ax.GetCLSID().GetCLSIDString()
|
||||
print
|
||||
self.mf = file(filename, "w")
|
||||
self.WriteFileHeader(ax)
|
||||
self.WriteEvents(ax)
|
||||
self.WriteClassHeader(ax, className)
|
||||
self.WriteMethods(ax)
|
||||
self.WriteProperties(ax)
|
||||
self.WriteDocs(ax)
|
||||
self.mf.close()
|
||||
del self.mf
|
||||
|
||||
|
||||
def WriteFileHeader(self, ax):
|
||||
self.write("# This module was generated by the wx.activex.GernerateAXModule class\n"
|
||||
"# (See also the genaxmodule script.)\n")
|
||||
self.write("import wx")
|
||||
self.write("import wx.activex\n")
|
||||
self.write("clsID = '%s'\nprogID = '%s'\n"
|
||||
% (ax.GetCLSID().GetCLSIDString(), ax.GetCLSID().GetProgIDString()))
|
||||
self.write("\n")
|
||||
|
||||
|
||||
def WriteEvents(self, ax):
|
||||
events = ax.GetAXEvents()
|
||||
if events:
|
||||
self.write("# Create eventTypes and event binders")
|
||||
for e in events:
|
||||
self.write("wxEVT_%s = wx.activex.RegisterActiveXEvent('%s')"
|
||||
% (self.trimEventName(e.name), e.name))
|
||||
self.write()
|
||||
for e in events:
|
||||
n = self.trimEventName(e.name)
|
||||
self.write("EVT_%s = wx.PyEventBinder(wxEVT_%s, 1)" % (n,n))
|
||||
self.write("\n")
|
||||
|
||||
|
||||
def WriteClassHeader(self, ax, className):
|
||||
self.write("# Derive a new class from ActiveXWindow")
|
||||
self.write("""\
|
||||
class %s(wx.activex.ActiveXWindow):
|
||||
def __init__(self, parent, ID=-1, pos=wx.DefaultPosition,
|
||||
size=wx.DefaultSize, style=0, name='%s'):
|
||||
wx.activex.ActiveXWindow.__init__(self, parent,
|
||||
wx.activex.CLSID('%s'),
|
||||
ID, pos, size, style, name)
|
||||
""" % (className, className, ax.GetCLSID().GetCLSIDString()) )
|
||||
|
||||
|
||||
def WriteMethods(self, ax):
|
||||
methods = ax.GetAXMethods()
|
||||
if methods:
|
||||
self.write(t4, "# Methods exported by the ActiveX object")
|
||||
for m in methods:
|
||||
name = self.trimMethodName(m.name)
|
||||
self.write(t4, "def %s(self%s):" % (name, self.getParameters(m, True)))
|
||||
self.write(t8, "return self.CallAXMethod('%s'%s)" % (m.name, self.getParameters(m, False)))
|
||||
self.write()
|
||||
|
||||
|
||||
def WriteProperties(self, ax):
|
||||
props = ax.GetAXProperties()
|
||||
if props:
|
||||
self.write(t4, "# Getters, Setters and properties")
|
||||
for p in props:
|
||||
getterName = setterName = "None"
|
||||
if p.canGet:
|
||||
getterName = "_get_" + p.name
|
||||
self.write(t4, "def %s(self):" % getterName)
|
||||
self.write(t8, "return self.GetAXProp('%s')" % p.name)
|
||||
if p.canSet:
|
||||
setterName = "_set_" + p.name
|
||||
self.write(t4, "def %s(self, %s):" % (setterName, p.arg.name))
|
||||
self.write(t8, "self.SetAXProp('%s', %s)" % (p.name, p.arg.name))
|
||||
|
||||
self.write(t4, "%s = property(%s, %s)" %
|
||||
(self.trimPropName(p.name), getterName, setterName))
|
||||
self.write()
|
||||
|
||||
|
||||
def WriteDocs(self, ax):
|
||||
self.write()
|
||||
doc = GetAXInfo(ax)
|
||||
for line in doc.split('\n'):
|
||||
self.write("# ", line)
|
||||
|
||||
|
||||
|
||||
def write(self, *args):
|
||||
for a in args:
|
||||
self.mf.write(a)
|
||||
self.mf.write("\n")
|
||||
|
||||
|
||||
def trimEventName(name):
|
||||
if name.startswith("On"):
|
||||
name = name[2:]
|
||||
return name
|
||||
trimEventName = staticmethod(trimEventName)
|
||||
|
||||
|
||||
def trimPropName(name):
|
||||
#name = name[0].lower() + name[1:]
|
||||
name = name.lower()
|
||||
import keyword
|
||||
if name in keyword.kwlist: name += '_'
|
||||
return name
|
||||
trimPropName = staticmethod(trimPropName)
|
||||
|
||||
|
||||
def trimMethodName(name):
|
||||
import keyword
|
||||
if name in keyword.kwlist: name += '_'
|
||||
return name
|
||||
trimMethodName = staticmethod(trimMethodName)
|
||||
|
||||
|
||||
def getParameters(self, m, withDefaults):
|
||||
import keyword
|
||||
st = ""
|
||||
# collect the input parameters, if both isIn and isOut are
|
||||
# False then assume it is an input paramater
|
||||
params = []
|
||||
for p in m.params:
|
||||
if p.isIn or (not p.isIn and not p.isOut):
|
||||
params.append(p)
|
||||
# did we get any?
|
||||
for p in params:
|
||||
name = p.name
|
||||
if name in keyword.kwlist: name += '_'
|
||||
st += ", "
|
||||
st += name
|
||||
if withDefaults and p.isOptional:
|
||||
st += '=None'
|
||||
return st
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
16
wxPython/contrib/activex/_activex_rename.i
Normal file
16
wxPython/contrib/activex/_activex_rename.i
Normal file
@@ -0,0 +1,16 @@
|
||||
// A bunch of %rename directives generated by ./distrib/build_renamers.py
|
||||
// in order to remove the wx prefix from all global scope names.
|
||||
|
||||
#ifndef BUILDING_RENAMERS
|
||||
|
||||
%rename(ParamX) wxParamX;
|
||||
%rename(FuncX) wxFuncX;
|
||||
%rename(PropX) wxPropX;
|
||||
%rename(ParamXArray) wxParamXArray;
|
||||
%rename(FuncXArray) wxFuncXArray;
|
||||
%rename(PropXArray) wxPropXArray;
|
||||
%rename(ActiveXWindow) wxActiveXWindow;
|
||||
%rename(ActiveXEvent) wxActiveXEvent;
|
||||
%rename(IEHtmlWindowBase) wxIEHtmlWindowBase;
|
||||
|
||||
#endif
|
2
wxPython/contrib/activex/_activex_reverse.txt
Normal file
2
wxPython/contrib/activex/_activex_reverse.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
EVT*
|
1091
wxPython/contrib/activex/activex.i
Normal file
1091
wxPython/contrib/activex/activex.i
Normal file
File diff suppressed because it is too large
Load Diff
621
wxPython/contrib/activex/activex.py
Normal file
621
wxPython/contrib/activex/activex.py
Normal file
@@ -0,0 +1,621 @@
|
||||
# This file was created automatically by SWIG.
|
||||
# Don't modify this file, modify the SWIG interface instead.
|
||||
|
||||
import _activex
|
||||
|
||||
import core
|
||||
wx = core
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
class CLSID(object):
|
||||
"""
|
||||
This class wraps the Windows CLSID structure and is used to
|
||||
specify the class of the ActiveX object that is to be created. A
|
||||
CLSID can be constructed from either a ProgID string, (such as
|
||||
'WordPad.Document.1') or a classID string, (such as
|
||||
'{CA8A9783-280D-11CF-A24D-444553540000}').
|
||||
"""
|
||||
def __repr__(self):
|
||||
return "<%s.%s; proxy of C++ CLSID instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
|
||||
def __init__(self, *args, **kwargs):
|
||||
"""
|
||||
__init__(String id) -> CLSID
|
||||
|
||||
This class wraps the Windows CLSID structure and is used to
|
||||
specify the class of the ActiveX object that is to be created. A
|
||||
CLSID can be constructed from either a ProgID string, (such as
|
||||
'WordPad.Document.1') or a classID string, (such as
|
||||
'{CA8A9783-280D-11CF-A24D-444553540000}').
|
||||
"""
|
||||
newobj = _activex.new_CLSID(*args, **kwargs)
|
||||
self.this = newobj.this
|
||||
self.thisown = 1
|
||||
del newobj.thisown
|
||||
def __del__(self, destroy=_activex.delete_CLSID):
|
||||
"""__del__()"""
|
||||
try:
|
||||
if self.thisown: destroy(self)
|
||||
except: pass
|
||||
|
||||
def GetCLSIDString(*args, **kwargs):
|
||||
"""GetCLSIDString() -> String"""
|
||||
return _activex.CLSID_GetCLSIDString(*args, **kwargs)
|
||||
|
||||
def GetProgIDString(*args, **kwargs):
|
||||
"""GetProgIDString() -> String"""
|
||||
return _activex.CLSID_GetProgIDString(*args, **kwargs)
|
||||
|
||||
def __str__(self): return self.GetCLSIDString()
|
||||
|
||||
class CLSIDPtr(CLSID):
|
||||
def __init__(self, this):
|
||||
self.this = this
|
||||
if not hasattr(self,"thisown"): self.thisown = 0
|
||||
self.__class__ = CLSID
|
||||
_activex.CLSID_swigregister(CLSIDPtr)
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
class ParamX(object):
|
||||
def __init__(self): raise RuntimeError, "No constructor defined"
|
||||
def __repr__(self):
|
||||
return "<%s.%s; proxy of C++ wxParamX instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
|
||||
flags = property(_activex.ParamX_flags_get)
|
||||
isPtr = property(_activex.ParamX_isPtr_get)
|
||||
isSafeArray = property(_activex.ParamX_isSafeArray_get)
|
||||
isOptional = property(_activex.ParamX_isOptional_get)
|
||||
vt = property(_activex.ParamX_vt_get)
|
||||
name = property(_activex.ParamX_name_get)
|
||||
vt_type = property(_activex.ParamX_vt_type_get)
|
||||
|
||||
isIn = property(_activex.ParamX_IsIn)
|
||||
|
||||
isOut = property(_activex.ParamX_IsOut)
|
||||
|
||||
isRetVal = property(_activex.ParamX_IsRetVal)
|
||||
|
||||
|
||||
class ParamXPtr(ParamX):
|
||||
def __init__(self, this):
|
||||
self.this = this
|
||||
if not hasattr(self,"thisown"): self.thisown = 0
|
||||
self.__class__ = ParamX
|
||||
_activex.ParamX_swigregister(ParamXPtr)
|
||||
|
||||
class FuncX(object):
|
||||
def __init__(self): raise RuntimeError, "No constructor defined"
|
||||
def __repr__(self):
|
||||
return "<%s.%s; proxy of C++ wxFuncX instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
|
||||
name = property(_activex.FuncX_name_get)
|
||||
memid = property(_activex.FuncX_memid_get)
|
||||
hasOut = property(_activex.FuncX_hasOut_get)
|
||||
retType = property(_activex.FuncX_retType_get)
|
||||
params = property(_activex.FuncX_params_get)
|
||||
|
||||
class FuncXPtr(FuncX):
|
||||
def __init__(self, this):
|
||||
self.this = this
|
||||
if not hasattr(self,"thisown"): self.thisown = 0
|
||||
self.__class__ = FuncX
|
||||
_activex.FuncX_swigregister(FuncXPtr)
|
||||
|
||||
class PropX(object):
|
||||
def __init__(self): raise RuntimeError, "No constructor defined"
|
||||
def __repr__(self):
|
||||
return "<%s.%s; proxy of C++ wxPropX instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
|
||||
name = property(_activex.PropX_name_get)
|
||||
memid = property(_activex.PropX_memid_get)
|
||||
type = property(_activex.PropX_type_get)
|
||||
arg = property(_activex.PropX_arg_get)
|
||||
putByRef = property(_activex.PropX_putByRef_get)
|
||||
canGet = property(_activex.PropX_CanGet)
|
||||
|
||||
canSet = property(_activex.PropX_CanSet)
|
||||
|
||||
|
||||
class PropXPtr(PropX):
|
||||
def __init__(self, this):
|
||||
self.this = this
|
||||
if not hasattr(self,"thisown"): self.thisown = 0
|
||||
self.__class__ = PropX
|
||||
_activex.PropX_swigregister(PropXPtr)
|
||||
|
||||
class ParamXArray(object):
|
||||
def __init__(self): raise RuntimeError, "No constructor defined"
|
||||
def __repr__(self):
|
||||
return "<%s.%s; proxy of C++ wxParamXArray instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
|
||||
def __nonzero__(*args, **kwargs):
|
||||
"""__nonzero__() -> bool"""
|
||||
return _activex.ParamXArray___nonzero__(*args, **kwargs)
|
||||
|
||||
def __len__(*args, **kwargs):
|
||||
"""__len__() -> int"""
|
||||
return _activex.ParamXArray___len__(*args, **kwargs)
|
||||
|
||||
def __getitem__(*args, **kwargs):
|
||||
"""__getitem__(int idx) -> ParamX"""
|
||||
return _activex.ParamXArray___getitem__(*args, **kwargs)
|
||||
|
||||
|
||||
class ParamXArrayPtr(ParamXArray):
|
||||
def __init__(self, this):
|
||||
self.this = this
|
||||
if not hasattr(self,"thisown"): self.thisown = 0
|
||||
self.__class__ = ParamXArray
|
||||
_activex.ParamXArray_swigregister(ParamXArrayPtr)
|
||||
|
||||
class FuncXArray(object):
|
||||
def __init__(self): raise RuntimeError, "No constructor defined"
|
||||
def __repr__(self):
|
||||
return "<%s.%s; proxy of C++ wxFuncXArray instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
|
||||
def __nonzero__(*args, **kwargs):
|
||||
"""__nonzero__() -> bool"""
|
||||
return _activex.FuncXArray___nonzero__(*args, **kwargs)
|
||||
|
||||
def __len__(*args, **kwargs):
|
||||
"""__len__() -> int"""
|
||||
return _activex.FuncXArray___len__(*args, **kwargs)
|
||||
|
||||
def __getitem__(*args, **kwargs):
|
||||
"""__getitem__(int idx) -> FuncX"""
|
||||
return _activex.FuncXArray___getitem__(*args, **kwargs)
|
||||
|
||||
|
||||
class FuncXArrayPtr(FuncXArray):
|
||||
def __init__(self, this):
|
||||
self.this = this
|
||||
if not hasattr(self,"thisown"): self.thisown = 0
|
||||
self.__class__ = FuncXArray
|
||||
_activex.FuncXArray_swigregister(FuncXArrayPtr)
|
||||
|
||||
class PropXArray(object):
|
||||
def __init__(self): raise RuntimeError, "No constructor defined"
|
||||
def __repr__(self):
|
||||
return "<%s.%s; proxy of C++ wxPropXArray instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
|
||||
def __nonzero__(*args, **kwargs):
|
||||
"""__nonzero__() -> bool"""
|
||||
return _activex.PropXArray___nonzero__(*args, **kwargs)
|
||||
|
||||
def __len__(*args, **kwargs):
|
||||
"""__len__() -> int"""
|
||||
return _activex.PropXArray___len__(*args, **kwargs)
|
||||
|
||||
def __getitem__(*args, **kwargs):
|
||||
"""__getitem__(int idx) -> PropX"""
|
||||
return _activex.PropXArray___getitem__(*args, **kwargs)
|
||||
|
||||
|
||||
class PropXArrayPtr(PropXArray):
|
||||
def __init__(self, this):
|
||||
self.this = this
|
||||
if not hasattr(self,"thisown"): self.thisown = 0
|
||||
self.__class__ = PropXArray
|
||||
_activex.PropXArray_swigregister(PropXArrayPtr)
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
class ActiveXWindow(core.Window):
|
||||
"""
|
||||
ActiveXWindow derives from wxWindow and the constructor accepts a
|
||||
CLSID for the ActiveX Control that should be created. The
|
||||
ActiveXWindow class simply adds methods that allow you to query
|
||||
some of the TypeInfo exposed by the ActiveX object, and also to
|
||||
get/set properties or call methods by name. The Python
|
||||
implementation automatically handles converting parameters and
|
||||
return values to/from the types expected by the ActiveX code as
|
||||
specified by the TypeInfo.
|
||||
|
||||
"""
|
||||
def __repr__(self):
|
||||
return "<%s.%s; proxy of C++ wxActiveXWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
|
||||
def __init__(self, *args, **kwargs):
|
||||
"""
|
||||
__init__(Window parent, CLSID clsId, int id=-1, Point pos=DefaultPosition,
|
||||
Size size=DefaultSize, long style=0,
|
||||
String name=PanelNameStr) -> ActiveXWindow
|
||||
|
||||
Creates an ActiveX control from the clsID given and makes it act
|
||||
as much like a regular wx.Window as possible.
|
||||
"""
|
||||
newobj = _activex.new_ActiveXWindow(*args, **kwargs)
|
||||
self.this = newobj.this
|
||||
self.thisown = 1
|
||||
del newobj.thisown
|
||||
self._setOORInfo(self)
|
||||
|
||||
def GetCLSID(*args, **kwargs):
|
||||
"""
|
||||
GetCLSID() -> CLSID
|
||||
|
||||
Return the CLSID used to construct this ActiveX window
|
||||
"""
|
||||
return _activex.ActiveXWindow_GetCLSID(*args, **kwargs)
|
||||
|
||||
def GetAXEventCount(*args, **kwargs):
|
||||
"""
|
||||
GetAXEventCount() -> int
|
||||
|
||||
Number of events defined for this control
|
||||
"""
|
||||
return _activex.ActiveXWindow_GetAXEventCount(*args, **kwargs)
|
||||
|
||||
def GetAXEventDesc(*args, **kwargs):
|
||||
"""
|
||||
GetAXEventDesc(int idx) -> FuncX
|
||||
|
||||
Returns event description by index
|
||||
"""
|
||||
return _activex.ActiveXWindow_GetAXEventDesc(*args, **kwargs)
|
||||
|
||||
def GetAXPropCount(*args, **kwargs):
|
||||
"""
|
||||
GetAXPropCount() -> int
|
||||
|
||||
Number of properties defined for this control
|
||||
"""
|
||||
return _activex.ActiveXWindow_GetAXPropCount(*args, **kwargs)
|
||||
|
||||
def GetAXPropDesc(*args):
|
||||
"""
|
||||
GetAXPropDesc(int idx) -> PropX
|
||||
GetAXPropDesc(String name) -> PropX
|
||||
"""
|
||||
return _activex.ActiveXWindow_GetAXPropDesc(*args)
|
||||
|
||||
def GetAXMethodCount(*args, **kwargs):
|
||||
"""
|
||||
GetAXMethodCount() -> int
|
||||
|
||||
Number of methods defined for this control
|
||||
"""
|
||||
return _activex.ActiveXWindow_GetAXMethodCount(*args, **kwargs)
|
||||
|
||||
def GetAXMethodDesc(*args):
|
||||
"""
|
||||
GetAXMethodDesc(int idx) -> FuncX
|
||||
GetAXMethodDesc(String name) -> FuncX
|
||||
"""
|
||||
return _activex.ActiveXWindow_GetAXMethodDesc(*args)
|
||||
|
||||
def GetAXEvents(*args, **kwargs):
|
||||
"""
|
||||
GetAXEvents() -> FuncXArray
|
||||
|
||||
Returns a sequence of FuncX objects describing the events
|
||||
available for this ActiveX object.
|
||||
"""
|
||||
return _activex.ActiveXWindow_GetAXEvents(*args, **kwargs)
|
||||
|
||||
def GetAXMethods(*args, **kwargs):
|
||||
"""
|
||||
GetAXMethods() -> FuncXArray
|
||||
|
||||
Returns a sequence of FuncX objects describing the methods
|
||||
available for this ActiveX object.
|
||||
"""
|
||||
return _activex.ActiveXWindow_GetAXMethods(*args, **kwargs)
|
||||
|
||||
def GetAXProperties(*args, **kwargs):
|
||||
"""
|
||||
GetAXProperties() -> PropXArray
|
||||
|
||||
Returns a sequence of PropX objects describing the properties
|
||||
available for this ActiveX object.
|
||||
"""
|
||||
return _activex.ActiveXWindow_GetAXProperties(*args, **kwargs)
|
||||
|
||||
def SetAXProp(*args, **kwargs):
|
||||
"""
|
||||
SetAXProp(String name, PyObject value)
|
||||
|
||||
Set a property of the ActiveX object by name.
|
||||
"""
|
||||
return _activex.ActiveXWindow_SetAXProp(*args, **kwargs)
|
||||
|
||||
def GetAXProp(*args, **kwargs):
|
||||
"""
|
||||
GetAXProp(String name) -> PyObject
|
||||
|
||||
Get the value of an ActiveX property by name.
|
||||
"""
|
||||
return _activex.ActiveXWindow_GetAXProp(*args, **kwargs)
|
||||
|
||||
def _CallAXMethod(*args):
|
||||
"""
|
||||
_CallAXMethod(String name, PyObject args) -> PyObject
|
||||
|
||||
The implementation for CallMethod. Calls an ActiveX method, by
|
||||
name passing the parameters given in args.
|
||||
"""
|
||||
return _activex.ActiveXWindow__CallAXMethod(*args)
|
||||
|
||||
def CallAXMethod(self, name, *args):
|
||||
"""
|
||||
Front-end for _CallMethod. Simply passes all positional args
|
||||
after the name as a single tuple to _CallMethod.
|
||||
"""
|
||||
return self._CallAXMethod(name, args)
|
||||
|
||||
|
||||
class ActiveXWindowPtr(ActiveXWindow):
|
||||
def __init__(self, this):
|
||||
self.this = this
|
||||
if not hasattr(self,"thisown"): self.thisown = 0
|
||||
self.__class__ = ActiveXWindow
|
||||
_activex.ActiveXWindow_swigregister(ActiveXWindowPtr)
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def RegisterActiveXEvent(*args, **kwargs):
|
||||
"""
|
||||
RegisterActiveXEvent(String eventName) -> wxEventType
|
||||
|
||||
Creates a standard wx event ID for the given eventName.
|
||||
"""
|
||||
return _activex.RegisterActiveXEvent(*args, **kwargs)
|
||||
class ActiveXEvent(core.CommandEvent):
|
||||
"""
|
||||
An instance of ActiveXEvent is sent to the handler for all bound
|
||||
ActiveX events. Any event parameters from the ActiveX cntrol are
|
||||
turned into attributes of the Python proxy for this event object.
|
||||
Additionally, there is a property called eventName that will
|
||||
return (suprizingly <wink>) the name of the ActiveX event.
|
||||
"""
|
||||
def __init__(self): raise RuntimeError, "No constructor defined"
|
||||
def __repr__(self):
|
||||
return "<%s.%s; proxy of C++ wxActiveXEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
|
||||
eventName = property(_activex.ActiveXEvent_EventName)
|
||||
|
||||
def _preInit(*args, **kwargs):
|
||||
"""
|
||||
_preInit(PyObject pyself)
|
||||
|
||||
This is called by the EventThunker before calling the handler.
|
||||
We'll convert and load the ActiveX event parameters into
|
||||
attributes of the Python event object.
|
||||
"""
|
||||
return _activex.ActiveXEvent__preInit(*args, **kwargs)
|
||||
|
||||
|
||||
class ActiveXEventPtr(ActiveXEvent):
|
||||
def __init__(self, this):
|
||||
self.this = this
|
||||
if not hasattr(self,"thisown"): self.thisown = 0
|
||||
self.__class__ = ActiveXEvent
|
||||
_activex.ActiveXEvent_swigregister(ActiveXEventPtr)
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
class IEHtmlWindowBase(ActiveXWindow):
|
||||
def __repr__(self):
|
||||
return "<%s.%s; proxy of C++ wxIEHtmlWindowBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
|
||||
def __init__(self, *args, **kwargs):
|
||||
newobj = _activex.new_IEHtmlWindowBase(*args, **kwargs)
|
||||
self.this = newobj.this
|
||||
self.thisown = 1
|
||||
del newobj.thisown
|
||||
def SetCharset(*args, **kwargs): return _activex.IEHtmlWindowBase_SetCharset(*args, **kwargs)
|
||||
def LoadString(*args, **kwargs): return _activex.IEHtmlWindowBase_LoadString(*args, **kwargs)
|
||||
def LoadStream(*args, **kwargs): return _activex.IEHtmlWindowBase_LoadStream(*args, **kwargs)
|
||||
def GetStringSelection(*args, **kwargs): return _activex.IEHtmlWindowBase_GetStringSelection(*args, **kwargs)
|
||||
def GetText(*args, **kwargs): return _activex.IEHtmlWindowBase_GetText(*args, **kwargs)
|
||||
|
||||
class IEHtmlWindowBasePtr(IEHtmlWindowBase):
|
||||
def __init__(self, this):
|
||||
self.this = this
|
||||
if not hasattr(self,"thisown"): self.thisown = 0
|
||||
self.__class__ = IEHtmlWindowBase
|
||||
_activex.IEHtmlWindowBase_swigregister(IEHtmlWindowBasePtr)
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Some helper and utility functions for ActiveX
|
||||
|
||||
|
||||
t4 = " " * 4
|
||||
t8 = " " * 8
|
||||
|
||||
def GetAXInfo(ax):
|
||||
"""
|
||||
Returns a printable summary of the TypeInfo from the ActiveX instance
|
||||
passed in.
|
||||
"""
|
||||
|
||||
def ProcessFuncX(f, out, name):
|
||||
out.append(name)
|
||||
out.append(t4 + "retType: %s" % f.retType.vt_type)
|
||||
if f.params:
|
||||
out.append(t4 + "params:")
|
||||
for p in f.params:
|
||||
out.append(t8 + p.name)
|
||||
out.append(t8+t4+ "in:%s out:%s optional:%s type:%s" % (p.isIn, p.isOut, p.isOptional, p.vt_type))
|
||||
out.append('')
|
||||
|
||||
def ProcessPropX(p, out):
|
||||
out.append(GernerateAXModule.trimPropName(p.name))
|
||||
out.append(t4+ "type:%s arg:%s canGet:%s canSet:%s" % (p.type.vt_type, p.arg.vt_type, p.canGet, p.canSet))
|
||||
out.append('')
|
||||
|
||||
out = []
|
||||
|
||||
out.append("PROPERTIES")
|
||||
out.append("-"*20)
|
||||
for p in ax.GetAXProperties():
|
||||
ProcessPropX(p, out)
|
||||
out.append('\n\n')
|
||||
|
||||
out.append("METHODS")
|
||||
out.append("-"*20)
|
||||
for m in ax.GetAXMethods():
|
||||
ProcessFuncX(m, out, GernerateAXModule.trimMethodName(m.name))
|
||||
out.append('\n\n')
|
||||
|
||||
out.append("EVENTS")
|
||||
out.append("-"*20)
|
||||
for e in ax.GetAXEvents():
|
||||
ProcessFuncX(e, out, GernerateAXModule.trimEventName(e.name))
|
||||
out.append('\n\n')
|
||||
|
||||
return "\n".join(out)
|
||||
|
||||
|
||||
|
||||
class GernerateAXModule:
|
||||
def __init__(self, ax, className, modulePath, moduleName=None, verbose=False):
|
||||
"""
|
||||
Make a Python module file with a class that has been specialized
|
||||
for the AcitveX object.
|
||||
|
||||
ax An instance of the ActiveXWindow class
|
||||
className The name to use for the new class
|
||||
modulePath The path where the new module should be written to
|
||||
moduleName The name of the .py file to create. If not given
|
||||
then the className will be used.
|
||||
"""
|
||||
import os
|
||||
if moduleName is None:
|
||||
moduleName = className + '.py'
|
||||
filename = os.path.join(modulePath, moduleName)
|
||||
if verbose:
|
||||
print "Creating module in:", filename
|
||||
print " ProgID: ", ax.GetCLSID().GetProgIDString()
|
||||
print " CLSID: ", ax.GetCLSID().GetCLSIDString()
|
||||
print
|
||||
self.mf = file(filename, "w")
|
||||
self.WriteFileHeader(ax)
|
||||
self.WriteEvents(ax)
|
||||
self.WriteClassHeader(ax, className)
|
||||
self.WriteMethods(ax)
|
||||
self.WriteProperties(ax)
|
||||
self.WriteDocs(ax)
|
||||
self.mf.close()
|
||||
del self.mf
|
||||
|
||||
|
||||
def WriteFileHeader(self, ax):
|
||||
self.write("# This module was generated by the wx.activex.GernerateAXModule class\n"
|
||||
"# (See also the genaxmodule script.)\n")
|
||||
self.write("import wx")
|
||||
self.write("import wx.activex\n")
|
||||
self.write("clsID = '%s'\nprogID = '%s'\n"
|
||||
% (ax.GetCLSID().GetCLSIDString(), ax.GetCLSID().GetProgIDString()))
|
||||
self.write("\n")
|
||||
|
||||
|
||||
def WriteEvents(self, ax):
|
||||
events = ax.GetAXEvents()
|
||||
if events:
|
||||
self.write("# Create eventTypes and event binders")
|
||||
for e in events:
|
||||
self.write("wxEVT_%s = wx.activex.RegisterActiveXEvent('%s')"
|
||||
% (self.trimEventName(e.name), e.name))
|
||||
self.write()
|
||||
for e in events:
|
||||
n = self.trimEventName(e.name)
|
||||
self.write("EVT_%s = wx.PyEventBinder(wxEVT_%s, 1)" % (n,n))
|
||||
self.write("\n")
|
||||
|
||||
|
||||
def WriteClassHeader(self, ax, className):
|
||||
self.write("# Derive a new class from ActiveXWindow")
|
||||
self.write("""\
|
||||
class %s(wx.activex.ActiveXWindow):
|
||||
def __init__(self, parent, ID=-1, pos=wx.DefaultPosition,
|
||||
size=wx.DefaultSize, style=0, name='%s'):
|
||||
wx.activex.ActiveXWindow.__init__(self, parent,
|
||||
wx.activex.CLSID('%s'),
|
||||
ID, pos, size, style, name)
|
||||
""" % (className, className, ax.GetCLSID().GetCLSIDString()) )
|
||||
|
||||
|
||||
def WriteMethods(self, ax):
|
||||
methods = ax.GetAXMethods()
|
||||
if methods:
|
||||
self.write(t4, "# Methods exported by the ActiveX object")
|
||||
for m in methods:
|
||||
name = self.trimMethodName(m.name)
|
||||
self.write(t4, "def %s(self%s):" % (name, self.getParameters(m, True)))
|
||||
self.write(t8, "return self.CallAXMethod('%s'%s)" % (m.name, self.getParameters(m, False)))
|
||||
self.write()
|
||||
|
||||
|
||||
def WriteProperties(self, ax):
|
||||
props = ax.GetAXProperties()
|
||||
if props:
|
||||
self.write(t4, "# Getters, Setters and properties")
|
||||
for p in props:
|
||||
getterName = setterName = "None"
|
||||
if p.canGet:
|
||||
getterName = "_get_" + p.name
|
||||
self.write(t4, "def %s(self):" % getterName)
|
||||
self.write(t8, "return self.GetAXProp('%s')" % p.name)
|
||||
if p.canSet:
|
||||
setterName = "_set_" + p.name
|
||||
self.write(t4, "def %s(self, %s):" % (setterName, p.arg.name))
|
||||
self.write(t8, "self.SetAXProp('%s', %s)" % (p.name, p.arg.name))
|
||||
|
||||
self.write(t4, "%s = property(%s, %s)" %
|
||||
(self.trimPropName(p.name), getterName, setterName))
|
||||
self.write()
|
||||
|
||||
|
||||
def WriteDocs(self, ax):
|
||||
self.write()
|
||||
doc = GetAXInfo(ax)
|
||||
for line in doc.split('\n'):
|
||||
self.write("# ", line)
|
||||
|
||||
|
||||
|
||||
def write(self, *args):
|
||||
for a in args:
|
||||
self.mf.write(a)
|
||||
self.mf.write("\n")
|
||||
|
||||
|
||||
def trimEventName(name):
|
||||
if name.startswith("On"):
|
||||
name = name[2:]
|
||||
return name
|
||||
trimEventName = staticmethod(trimEventName)
|
||||
|
||||
|
||||
def trimPropName(name):
|
||||
#name = name[0].lower() + name[1:]
|
||||
name = name.lower()
|
||||
import keyword
|
||||
if name in keyword.kwlist: name += '_'
|
||||
return name
|
||||
trimPropName = staticmethod(trimPropName)
|
||||
|
||||
|
||||
def trimMethodName(name):
|
||||
import keyword
|
||||
if name in keyword.kwlist: name += '_'
|
||||
return name
|
||||
trimMethodName = staticmethod(trimMethodName)
|
||||
|
||||
|
||||
def getParameters(self, m, withDefaults):
|
||||
import keyword
|
||||
st = ""
|
||||
# collect the input parameters, if both isIn and isOut are
|
||||
# False then assume it is an input paramater
|
||||
params = []
|
||||
for p in m.params:
|
||||
if p.isIn or (not p.isIn and not p.isOut):
|
||||
params.append(p)
|
||||
# did we get any?
|
||||
for p in params:
|
||||
name = p.name
|
||||
if name in keyword.kwlist: name += '_'
|
||||
st += ", "
|
||||
st += name
|
||||
if withDefaults and p.isOptional:
|
||||
st += '=None'
|
||||
return st
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
|
3708
wxPython/contrib/activex/activex_wrap.cpp
Normal file
3708
wxPython/contrib/activex/activex_wrap.cpp
Normal file
File diff suppressed because one or more lines are too long
133
wxPython/contrib/activex/wxie/IEHtmlStream.h
Normal file
133
wxPython/contrib/activex/wxie/IEHtmlStream.h
Normal file
@@ -0,0 +1,133 @@
|
||||
/*
|
||||
wxActiveX Library Licence, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 2003 Lindsay Mathieson [, ...]
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this licence document, but changing it is not allowed.
|
||||
|
||||
wxActiveX LIBRARY LICENCE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public Licence as published by
|
||||
the Free Software Foundation; either version 2 of the Licence, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public Licence for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public Licence
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licenced under the wxActiveX Library Licence, applying
|
||||
either version 3 of the Licence, or (at your option) any later version of
|
||||
the Licence as published by the copyright holders of version 3 of the
|
||||
Licence document.
|
||||
|
||||
2. The exception is that you may use, copy, link, modify and distribute
|
||||
under the user's own terms, binary object code versions of works based
|
||||
on the Library.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public Licence or the GNU Library General Public Licence into a
|
||||
copy of this library, as this licence permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
*/
|
||||
|
||||
// This module contains the declarations of the stream adapters and such that
|
||||
// used to be in IEHtmlWin.cpp, so that they can be used independently in the
|
||||
// wxPython wrappers...
|
||||
|
||||
|
||||
#ifndef _IEHTMLSTREAM_H_
|
||||
#define _IEHTMLSTREAM_H_
|
||||
|
||||
|
||||
class IStreamAdaptorBase : public IStream
|
||||
{
|
||||
private:
|
||||
DECLARE_OLE_UNKNOWN(IStreamAdaptorBase);
|
||||
|
||||
public:
|
||||
string prepend;
|
||||
|
||||
IStreamAdaptorBase() {}
|
||||
virtual ~IStreamAdaptorBase() {}
|
||||
|
||||
virtual int Read(char *buf, int cb) = 0;
|
||||
|
||||
// ISequentialStream
|
||||
HRESULT STDMETHODCALLTYPE Read(void __RPC_FAR *pv, ULONG cb, ULONG __RPC_FAR *pcbRead);
|
||||
|
||||
HRESULT STDMETHODCALLTYPE Write(const void __RPC_FAR *pv, ULONG cb, ULONG __RPC_FAR *pcbWritten) {return E_NOTIMPL;}
|
||||
|
||||
// IStream
|
||||
HRESULT STDMETHODCALLTYPE Seek(LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER __RPC_FAR *plibNewPosition) {return E_NOTIMPL;}
|
||||
HRESULT STDMETHODCALLTYPE SetSize(ULARGE_INTEGER libNewSize) {return E_NOTIMPL;}
|
||||
HRESULT STDMETHODCALLTYPE CopyTo(IStream __RPC_FAR *pstm, ULARGE_INTEGER cb, ULARGE_INTEGER __RPC_FAR *pcbRead, ULARGE_INTEGER __RPC_FAR *pcbWritten) {return E_NOTIMPL;}
|
||||
HRESULT STDMETHODCALLTYPE Commit(DWORD grfCommitFlags) {return E_NOTIMPL;}
|
||||
HRESULT STDMETHODCALLTYPE Revert(void) {return E_NOTIMPL;}
|
||||
HRESULT STDMETHODCALLTYPE LockRegion(ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) {return E_NOTIMPL;}
|
||||
HRESULT STDMETHODCALLTYPE UnlockRegion(ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) {return E_NOTIMPL;}
|
||||
HRESULT STDMETHODCALLTYPE Stat(STATSTG __RPC_FAR *pstatstg, DWORD grfStatFlag) {return E_NOTIMPL;}
|
||||
HRESULT STDMETHODCALLTYPE Clone(IStream __RPC_FAR *__RPC_FAR *ppstm) {return E_NOTIMPL;}
|
||||
};
|
||||
|
||||
|
||||
|
||||
class IStreamAdaptor : public IStreamAdaptorBase
|
||||
{
|
||||
private:
|
||||
istream *m_is;
|
||||
|
||||
public:
|
||||
IStreamAdaptor(istream *is);
|
||||
~IStreamAdaptor();
|
||||
int Read(char *buf, int cb);
|
||||
};
|
||||
|
||||
|
||||
|
||||
class IwxStreamAdaptor : public IStreamAdaptorBase
|
||||
{
|
||||
private:
|
||||
wxInputStream *m_is;
|
||||
|
||||
public:
|
||||
IwxStreamAdaptor(wxInputStream *is);
|
||||
~IwxStreamAdaptor();
|
||||
int Read(char *buf, int cb);
|
||||
};
|
||||
|
||||
|
||||
class wxOwnedMemInputStream : public wxMemoryInputStream
|
||||
{
|
||||
public:
|
||||
char *m_data;
|
||||
|
||||
wxOwnedMemInputStream(char *data, size_t len);
|
||||
~wxOwnedMemInputStream();
|
||||
};
|
||||
|
||||
|
||||
wxAutoOleInterface<IHTMLTxtRange> wxieGetSelRange(IOleObject *oleObject);
|
||||
|
||||
#endif
|
478
wxPython/contrib/activex/wxie/IEHtmlWin.cpp
Normal file
478
wxPython/contrib/activex/wxie/IEHtmlWin.cpp
Normal file
@@ -0,0 +1,478 @@
|
||||
/*
|
||||
wxActiveX Library Licence, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 2003 Lindsay Mathieson [, ...]
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this licence document, but changing it is not allowed.
|
||||
|
||||
wxActiveX LIBRARY LICENCE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public Licence as published by
|
||||
the Free Software Foundation; either version 2 of the Licence, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public Licence for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public Licence
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licenced under the wxActiveX Library Licence, applying
|
||||
either version 3 of the Licence, or (at your option) any later version of
|
||||
the Licence as published by the copyright holders of version 3 of the
|
||||
Licence document.
|
||||
|
||||
2. The exception is that you may use, copy, link, modify and distribute
|
||||
under the user's own terms, binary object code versions of works based
|
||||
on the Library.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public Licence or the GNU Library General Public Licence into a
|
||||
copy of this library, as this licence permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
*/
|
||||
|
||||
#include "IEHtmlWin.h"
|
||||
#include <wx/strconv.h>
|
||||
#include <wx/string.h>
|
||||
#include <wx/event.h>
|
||||
#include <wx/listctrl.h>
|
||||
#include <wx/mstream.h>
|
||||
#include <oleidl.h>
|
||||
#include <winerror.h>
|
||||
#include <exdispid.h>
|
||||
#include <exdisp.h>
|
||||
#include <olectl.h>
|
||||
#include <Mshtml.h>
|
||||
#include <sstream>
|
||||
#include <IEHtmlStream.h>
|
||||
using namespace std;
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Stream adapters and such
|
||||
|
||||
HRESULT STDMETHODCALLTYPE IStreamAdaptorBase::Read(void __RPC_FAR *pv, ULONG cb, ULONG __RPC_FAR *pcbRead)
|
||||
{
|
||||
if (prepend.size() > 0)
|
||||
{
|
||||
int n = min(prepend.size(), cb);
|
||||
prepend.copy((char *) pv, n);
|
||||
prepend = prepend.substr(n);
|
||||
if (pcbRead)
|
||||
*pcbRead = n;
|
||||
|
||||
return S_OK;
|
||||
};
|
||||
|
||||
int rc = Read((char *) pv, cb);
|
||||
if (pcbRead)
|
||||
*pcbRead = rc;
|
||||
|
||||
return S_OK;
|
||||
};
|
||||
|
||||
DEFINE_OLE_TABLE(IStreamAdaptorBase)
|
||||
OLE_IINTERFACE(IUnknown)
|
||||
OLE_IINTERFACE(ISequentialStream)
|
||||
OLE_IINTERFACE(IStream)
|
||||
END_OLE_TABLE;
|
||||
|
||||
|
||||
IStreamAdaptor::IStreamAdaptor(istream *is)
|
||||
: IStreamAdaptorBase(), m_is(is)
|
||||
{
|
||||
wxASSERT(m_is != NULL);
|
||||
}
|
||||
|
||||
IStreamAdaptor::~IStreamAdaptor()
|
||||
{
|
||||
delete m_is;
|
||||
}
|
||||
|
||||
int IStreamAdaptor::Read(char *buf, int cb)
|
||||
{
|
||||
m_is->read(buf, cb);
|
||||
return m_is->gcount();
|
||||
}
|
||||
|
||||
|
||||
IwxStreamAdaptor::IwxStreamAdaptor(wxInputStream *is)
|
||||
: IStreamAdaptorBase(), m_is(is)
|
||||
{
|
||||
wxASSERT(m_is != NULL);
|
||||
}
|
||||
IwxStreamAdaptor::~IwxStreamAdaptor()
|
||||
{
|
||||
delete m_is;
|
||||
}
|
||||
|
||||
// ISequentialStream
|
||||
int IwxStreamAdaptor::Read(char *buf, int cb)
|
||||
{
|
||||
m_is->Read(buf, cb);
|
||||
return m_is->LastRead();
|
||||
};
|
||||
|
||||
wxOwnedMemInputStream::wxOwnedMemInputStream(char *data, size_t len)
|
||||
: wxMemoryInputStream(data, len), m_data(data)
|
||||
{}
|
||||
|
||||
wxOwnedMemInputStream::~wxOwnedMemInputStream()
|
||||
{
|
||||
free(m_data);
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
BEGIN_EVENT_TABLE(wxIEHtmlWin, wxActiveX)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
|
||||
static const CLSID CLSID_MozillaBrowser =
|
||||
{ 0x1339B54C, 0x3453, 0x11D2,
|
||||
{ 0x93, 0xB9, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00 } };
|
||||
|
||||
|
||||
//#define PROGID "Shell.Explorer"
|
||||
#define PROGID CLSID_WebBrowser
|
||||
//#define PROGID CLSID_MozillaBrowser
|
||||
//#define PROGID CLSID_HTMLDocument
|
||||
//#define PROGID "MSCAL.Calendar"
|
||||
//#define PROGID ""
|
||||
//#define PROGID "SoftwareFX.ChartFX.20"
|
||||
|
||||
wxIEHtmlWin::wxIEHtmlWin(wxWindow * parent, wxWindowID id,
|
||||
const wxPoint& pos,
|
||||
const wxSize& size,
|
||||
long style,
|
||||
const wxString& name) :
|
||||
wxActiveX(parent, PROGID, id, pos, size, style, name)
|
||||
{
|
||||
SetupBrowser();
|
||||
}
|
||||
|
||||
|
||||
wxIEHtmlWin::~wxIEHtmlWin()
|
||||
{
|
||||
}
|
||||
|
||||
void wxIEHtmlWin::SetupBrowser()
|
||||
{
|
||||
HRESULT hret;
|
||||
|
||||
// Get IWebBrowser2 Interface
|
||||
hret = m_webBrowser.QueryInterface(IID_IWebBrowser2, m_ActiveX);
|
||||
assert(SUCCEEDED(hret));
|
||||
|
||||
// web browser setup
|
||||
m_webBrowser->put_MenuBar(VARIANT_FALSE);
|
||||
m_webBrowser->put_AddressBar(VARIANT_FALSE);
|
||||
m_webBrowser->put_StatusBar(VARIANT_FALSE);
|
||||
m_webBrowser->put_ToolBar(VARIANT_FALSE);
|
||||
|
||||
m_webBrowser->put_RegisterAsBrowser(VARIANT_TRUE);
|
||||
m_webBrowser->put_RegisterAsDropTarget(VARIANT_TRUE);
|
||||
|
||||
m_webBrowser->Navigate( L"about:blank", NULL, NULL, NULL, NULL );
|
||||
}
|
||||
|
||||
|
||||
void wxIEHtmlWin::SetEditMode(bool seton)
|
||||
{
|
||||
m_bAmbientUserMode = ! seton;
|
||||
AmbientPropertyChanged(DISPID_AMBIENT_USERMODE);
|
||||
};
|
||||
|
||||
bool wxIEHtmlWin::GetEditMode()
|
||||
{
|
||||
return ! m_bAmbientUserMode;
|
||||
};
|
||||
|
||||
|
||||
void wxIEHtmlWin::SetCharset(const wxString& charset)
|
||||
{
|
||||
// HTML Document ?
|
||||
IDispatch *pDisp = NULL;
|
||||
HRESULT hret = m_webBrowser->get_Document(&pDisp);
|
||||
wxAutoOleInterface<IDispatch> disp(pDisp);
|
||||
|
||||
if (disp.Ok())
|
||||
{
|
||||
wxAutoOleInterface<IHTMLDocument2> doc(IID_IHTMLDocument2, disp);
|
||||
if (doc.Ok())
|
||||
doc->put_charset((BSTR) (const wchar_t *) charset.wc_str(wxConvUTF8));
|
||||
//doc->put_charset((BSTR) wxConvUTF8.cMB2WC(charset).data());
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
void wxIEHtmlWin::LoadUrl(const wxString& url)
|
||||
{
|
||||
VARIANTARG navFlag, targetFrame, postData, headers;
|
||||
navFlag.vt = VT_EMPTY;
|
||||
navFlag.vt = VT_I2;
|
||||
navFlag.iVal = navNoReadFromCache;
|
||||
targetFrame.vt = VT_EMPTY;
|
||||
postData.vt = VT_EMPTY;
|
||||
headers.vt = VT_EMPTY;
|
||||
|
||||
HRESULT hret = 0;
|
||||
hret = m_webBrowser->Navigate((BSTR) (const wchar_t *) url.wc_str(wxConvUTF8),
|
||||
&navFlag, &targetFrame, &postData, &headers);
|
||||
};
|
||||
|
||||
|
||||
bool wxIEHtmlWin::LoadString(const wxString& html)
|
||||
{
|
||||
char *data = NULL;
|
||||
size_t len = html.length();
|
||||
#ifdef UNICODE
|
||||
len *= 2;
|
||||
#endif
|
||||
data = (char *) malloc(len);
|
||||
memcpy(data, html.c_str(), len);
|
||||
return LoadStream(new wxOwnedMemInputStream(data, len));
|
||||
};
|
||||
|
||||
bool wxIEHtmlWin::LoadStream(IStreamAdaptorBase *pstrm)
|
||||
{
|
||||
// need to prepend this as poxy MSHTML will not recognise a HTML comment
|
||||
// as starting a html document and treats it as plain text
|
||||
// Does nayone know how to force it to html mode ?
|
||||
pstrm->prepend = "<html>";
|
||||
|
||||
// strip leading whitespace as it can confuse MSHTML
|
||||
wxAutoOleInterface<IStream> strm(pstrm);
|
||||
|
||||
// Document Interface
|
||||
IDispatch *pDisp = NULL;
|
||||
HRESULT hret = m_webBrowser->get_Document(&pDisp);
|
||||
if (! pDisp)
|
||||
return false;
|
||||
wxAutoOleInterface<IDispatch> disp(pDisp);
|
||||
|
||||
|
||||
// get IPersistStreamInit
|
||||
wxAutoOleInterface<IPersistStreamInit>
|
||||
pPersistStreamInit(IID_IPersistStreamInit, disp);
|
||||
|
||||
if (pPersistStreamInit.Ok())
|
||||
{
|
||||
HRESULT hr = pPersistStreamInit->InitNew();
|
||||
if (SUCCEEDED(hr))
|
||||
hr = pPersistStreamInit->Load(strm);
|
||||
|
||||
return SUCCEEDED(hr);
|
||||
}
|
||||
else
|
||||
return false;
|
||||
};
|
||||
|
||||
bool wxIEHtmlWin::LoadStream(istream *is)
|
||||
{
|
||||
// wrap reference around stream
|
||||
IStreamAdaptor *pstrm = new IStreamAdaptor(is);
|
||||
pstrm->AddRef();
|
||||
|
||||
return LoadStream(pstrm);
|
||||
};
|
||||
|
||||
bool wxIEHtmlWin::LoadStream(wxInputStream *is)
|
||||
{
|
||||
// wrap reference around stream
|
||||
IwxStreamAdaptor *pstrm = new IwxStreamAdaptor(is);
|
||||
pstrm->AddRef();
|
||||
|
||||
return LoadStream(pstrm);
|
||||
};
|
||||
|
||||
|
||||
bool wxIEHtmlWin::GoBack()
|
||||
{
|
||||
HRESULT hret = 0;
|
||||
hret = m_webBrowser->GoBack();
|
||||
return hret == S_OK;
|
||||
}
|
||||
|
||||
bool wxIEHtmlWin::GoForward()
|
||||
{
|
||||
HRESULT hret = 0;
|
||||
hret = m_webBrowser->GoForward();
|
||||
return hret == S_OK;
|
||||
}
|
||||
|
||||
bool wxIEHtmlWin::GoHome()
|
||||
{
|
||||
try
|
||||
{
|
||||
CallMethod("GoHome");
|
||||
return true;
|
||||
}
|
||||
catch(exception&)
|
||||
{
|
||||
return false;
|
||||
};
|
||||
}
|
||||
|
||||
bool wxIEHtmlWin::GoSearch()
|
||||
{
|
||||
HRESULT hret = 0;
|
||||
hret = m_webBrowser->GoSearch();
|
||||
return hret == S_OK;
|
||||
}
|
||||
|
||||
bool wxIEHtmlWin::Refresh(wxIEHtmlRefreshLevel level)
|
||||
{
|
||||
VARIANTARG levelArg;
|
||||
HRESULT hret = 0;
|
||||
|
||||
levelArg.vt = VT_I2;
|
||||
levelArg.iVal = level;
|
||||
hret = m_webBrowser->Refresh2(&levelArg);
|
||||
return hret == S_OK;
|
||||
}
|
||||
|
||||
bool wxIEHtmlWin::Stop()
|
||||
{
|
||||
HRESULT hret = 0;
|
||||
hret = m_webBrowser->Stop();
|
||||
return hret == S_OK;
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static wxAutoOleInterface<IHTMLSelectionObject> GetSelObject(IOleObject *oleObject)
|
||||
{
|
||||
// Query for IWebBrowser interface
|
||||
wxAutoOleInterface<IWebBrowser2> wb(IID_IWebBrowser2, oleObject);
|
||||
if (! wb.Ok())
|
||||
return wxAutoOleInterface<IHTMLSelectionObject>();
|
||||
|
||||
IDispatch *iDisp = NULL;
|
||||
HRESULT hr = wb->get_Document(&iDisp);
|
||||
if (hr != S_OK)
|
||||
return wxAutoOleInterface<IHTMLSelectionObject>();
|
||||
|
||||
// Query for Document Interface
|
||||
wxAutoOleInterface<IHTMLDocument2> hd(IID_IHTMLDocument2, iDisp);
|
||||
iDisp->Release();
|
||||
|
||||
if (! hd.Ok())
|
||||
return wxAutoOleInterface<IHTMLSelectionObject>();
|
||||
|
||||
IHTMLSelectionObject *_so = NULL;
|
||||
hr = hd->get_selection(&_so);
|
||||
|
||||
// take ownership of selection object
|
||||
wxAutoOleInterface<IHTMLSelectionObject> so(_so);
|
||||
|
||||
return so;
|
||||
};
|
||||
|
||||
wxAutoOleInterface<IHTMLTxtRange> wxieGetSelRange(IOleObject *oleObject)
|
||||
{
|
||||
wxAutoOleInterface<IHTMLTxtRange> tr;
|
||||
|
||||
wxAutoOleInterface<IHTMLSelectionObject> so(GetSelObject(oleObject));
|
||||
if (! so)
|
||||
return tr;
|
||||
|
||||
IDispatch *iDisp = NULL;
|
||||
HRESULT hr = so->createRange(&iDisp);
|
||||
if (hr != S_OK)
|
||||
return tr;
|
||||
|
||||
// Query for IHTMLTxtRange interface
|
||||
tr.QueryInterface(IID_IHTMLTxtRange, iDisp);
|
||||
iDisp->Release();
|
||||
return tr;
|
||||
};
|
||||
|
||||
|
||||
wxString wxIEHtmlWin::GetStringSelection(bool asHTML)
|
||||
{
|
||||
wxAutoOleInterface<IHTMLTxtRange> tr(wxieGetSelRange(m_oleObject));
|
||||
if (! tr)
|
||||
return wxEmptyString;
|
||||
|
||||
BSTR text = NULL;
|
||||
HRESULT hr = E_FAIL;
|
||||
|
||||
if (asHTML)
|
||||
hr = tr->get_htmlText(&text);
|
||||
else
|
||||
hr = tr->get_text(&text);
|
||||
if (hr != S_OK)
|
||||
return wxEmptyString;
|
||||
|
||||
wxString s = text;
|
||||
SysFreeString(text);
|
||||
|
||||
return s;
|
||||
};
|
||||
|
||||
wxString wxIEHtmlWin::GetText(bool asHTML)
|
||||
{
|
||||
if (! m_webBrowser.Ok())
|
||||
return wxEmptyString;
|
||||
|
||||
// get document dispatch interface
|
||||
IDispatch *iDisp = NULL;
|
||||
HRESULT hr = m_webBrowser->get_Document(&iDisp);
|
||||
if (hr != S_OK)
|
||||
return wxEmptyString;
|
||||
|
||||
// Query for Document Interface
|
||||
wxAutoOleInterface<IHTMLDocument2> hd(IID_IHTMLDocument2, iDisp);
|
||||
iDisp->Release();
|
||||
|
||||
if (! hd.Ok())
|
||||
return wxEmptyString;
|
||||
|
||||
// get body element
|
||||
IHTMLElement *_body = NULL;
|
||||
hd->get_body(&_body);
|
||||
if (! _body)
|
||||
return wxEmptyString;
|
||||
wxAutoOleInterface<IHTMLElement> body(_body);
|
||||
|
||||
// get inner text
|
||||
BSTR text = NULL;
|
||||
hr = E_FAIL;
|
||||
|
||||
if (asHTML)
|
||||
hr = body->get_innerHTML(&text);
|
||||
else
|
||||
hr = body->get_innerText(&text);
|
||||
if (hr != S_OK)
|
||||
return wxEmptyString;
|
||||
|
||||
wxString s = text;
|
||||
SysFreeString(text);
|
||||
|
||||
return s;
|
||||
};
|
120
wxPython/contrib/activex/wxie/IEHtmlWin.h
Normal file
120
wxPython/contrib/activex/wxie/IEHtmlWin.h
Normal file
@@ -0,0 +1,120 @@
|
||||
/*
|
||||
wxActiveX Library Licence, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 2003 Lindsay Mathieson [, ...]
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this licence document, but changing it is not allowed.
|
||||
|
||||
wxActiveX LIBRARY LICENCE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public Licence as published by
|
||||
the Free Software Foundation; either version 2 of the Licence, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public Licence for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public Licence
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licenced under the wxActiveX Library Licence, applying
|
||||
either version 3 of the Licence, or (at your option) any later version of
|
||||
the Licence as published by the copyright holders of version 3 of the
|
||||
Licence document.
|
||||
|
||||
2. The exception is that you may use, copy, link, modify and distribute
|
||||
under the user's own terms, binary object code versions of works based
|
||||
on the Library.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public Licence or the GNU Library General Public Licence into a
|
||||
copy of this library, as this licence permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
*/
|
||||
|
||||
/*! \file iehtmlwin.h
|
||||
\brief implements wxIEHtmlWin window class
|
||||
*/
|
||||
#ifndef _IEHTMLWIN_H_
|
||||
#define _IEHTMLWIN_H_
|
||||
#pragma warning( disable : 4101 4786)
|
||||
#pragma warning( disable : 4786)
|
||||
|
||||
|
||||
#include <wx/setup.h>
|
||||
#include <wx/wx.h>
|
||||
#include <exdisp.h>
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
|
||||
#include "wxactivex.h"
|
||||
|
||||
|
||||
enum wxIEHtmlRefreshLevel
|
||||
{
|
||||
wxIEHTML_REFRESH_NORMAL = 0,
|
||||
wxIEHTML_REFRESH_IFEXPIRED = 1,
|
||||
wxIEHTML_REFRESH_CONTINUE = 2,
|
||||
wxIEHTML_REFRESH_COMPLETELY = 3
|
||||
};
|
||||
|
||||
class IStreamAdaptorBase;
|
||||
|
||||
class wxIEHtmlWin : public wxActiveX
|
||||
{
|
||||
public:
|
||||
wxIEHtmlWin(wxWindow * parent, wxWindowID id = -1,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = 0,
|
||||
const wxString& name = wxPanelNameStr);
|
||||
virtual ~wxIEHtmlWin();
|
||||
|
||||
void LoadUrl(const wxString& url);
|
||||
bool LoadString(const wxString& html);
|
||||
bool LoadStream(istream *strm);
|
||||
bool LoadStream(wxInputStream *is);
|
||||
|
||||
void SetCharset(const wxString& charset);
|
||||
void SetEditMode(bool seton);
|
||||
bool GetEditMode();
|
||||
wxString GetStringSelection(bool asHTML = false);
|
||||
wxString GetText(bool asHTML = false);
|
||||
|
||||
bool GoBack();
|
||||
bool GoForward();
|
||||
bool GoHome();
|
||||
bool GoSearch();
|
||||
bool Refresh(wxIEHtmlRefreshLevel level);
|
||||
bool Stop();
|
||||
|
||||
DECLARE_EVENT_TABLE();
|
||||
|
||||
protected:
|
||||
void SetupBrowser();
|
||||
bool LoadStream(IStreamAdaptorBase *pstrm);
|
||||
|
||||
wxAutoOleInterface<IWebBrowser2> m_webBrowser;
|
||||
};
|
||||
|
||||
#endif /* _IEHTMLWIN_H_ */
|
6
wxPython/contrib/activex/wxie/README.1st.txt
Normal file
6
wxPython/contrib/activex/wxie/README.1st.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
The contents of this dir are from the 9-Jan-2004 version of wxie.zip
|
||||
downloaded from:
|
||||
|
||||
http://members.optusnet.com.au/~blackpaw1/wxactivex.html
|
||||
|
||||
|
205
wxPython/contrib/activex/wxie/default.doxygen
Normal file
205
wxPython/contrib/activex/wxie/default.doxygen
Normal file
@@ -0,0 +1,205 @@
|
||||
# Doxyfile 1.3-rc2
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# General configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
PROJECT_NAME = wxActiveX
|
||||
PROJECT_NUMBER =
|
||||
OUTPUT_DIRECTORY =
|
||||
OUTPUT_LANGUAGE = English
|
||||
EXTRACT_ALL = NO
|
||||
EXTRACT_PRIVATE = NO
|
||||
EXTRACT_STATIC = YES
|
||||
EXTRACT_LOCAL_CLASSES = YES
|
||||
HIDE_UNDOC_MEMBERS = YES
|
||||
HIDE_UNDOC_CLASSES = YES
|
||||
HIDE_FRIEND_COMPOUNDS = NO
|
||||
HIDE_IN_BODY_DOCS = NO
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
REPEAT_BRIEF = YES
|
||||
ALWAYS_DETAILED_SEC = NO
|
||||
INLINE_INHERITED_MEMB = NO
|
||||
FULL_PATH_NAMES = NO
|
||||
STRIP_FROM_PATH =
|
||||
INTERNAL_DOCS = NO
|
||||
CASE_SENSE_NAMES = YES
|
||||
SHORT_NAMES = NO
|
||||
HIDE_SCOPE_NAMES = NO
|
||||
VERBATIM_HEADERS = YES
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
JAVADOC_AUTOBRIEF = YES
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
DETAILS_AT_TOP = YES
|
||||
INHERIT_DOCS = NO
|
||||
INLINE_INFO = YES
|
||||
SORT_MEMBER_DOCS = NO
|
||||
DISTRIBUTE_GROUP_DOC = YES
|
||||
TAB_SIZE = 8
|
||||
GENERATE_TODOLIST = YES
|
||||
GENERATE_TESTLIST = YES
|
||||
GENERATE_BUGLIST = YES
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
ALIASES =
|
||||
ENABLED_SECTIONS =
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
SHOW_USED_FILES = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to warning and progress messages
|
||||
#---------------------------------------------------------------------------
|
||||
QUIET = NO
|
||||
WARNINGS = YES
|
||||
WARN_IF_UNDOCUMENTED = YES
|
||||
WARN_IF_DOC_ERROR = YES
|
||||
WARN_FORMAT = "$file($line): $text"
|
||||
WARN_LOGFILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = .\wxactivex.h .\iehtmlwin.h
|
||||
FILE_PATTERNS = *.cpp \
|
||||
*.c \
|
||||
*.h \
|
||||
*.cxx \
|
||||
*.idl
|
||||
RECURSIVE = NO
|
||||
EXCLUDE =
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS =
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS =
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH =
|
||||
INPUT_FILTER =
|
||||
FILTER_SOURCE_FILES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to source browsing
|
||||
#---------------------------------------------------------------------------
|
||||
SOURCE_BROWSER = YES
|
||||
INLINE_SOURCES = NO
|
||||
STRIP_CODE_COMMENTS = YES
|
||||
REFERENCED_BY_RELATION = NO
|
||||
REFERENCES_RELATION = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the alphabetical class index
|
||||
#---------------------------------------------------------------------------
|
||||
ALPHABETICAL_INDEX = YES
|
||||
COLS_IN_ALPHA_INDEX = 4
|
||||
IGNORE_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the HTML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_HTML = YES
|
||||
HTML_OUTPUT = doxydoc
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER =
|
||||
HTML_FOOTER =
|
||||
HTML_STYLESHEET =
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = no
|
||||
CHM_FILE = wxactivex.chm
|
||||
HHC_LOCATION = hhc.exe
|
||||
GENERATE_CHI = NO
|
||||
BINARY_TOC = NO
|
||||
TOC_EXPAND = NO
|
||||
DISABLE_INDEX = NO
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
GENERATE_TREEVIEW = NO
|
||||
TREEVIEW_WIDTH = 250
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the LaTeX output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_LATEX = YES
|
||||
LATEX_OUTPUT = latex
|
||||
LATEX_CMD_NAME = latex
|
||||
MAKEINDEX_CMD_NAME = makeindex
|
||||
COMPACT_LATEX = NO
|
||||
PAPER_TYPE = a4wide
|
||||
EXTRA_PACKAGES =
|
||||
LATEX_HEADER =
|
||||
PDF_HYPERLINKS = NO
|
||||
USE_PDFLATEX = NO
|
||||
LATEX_BATCHMODE = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the RTF output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_RTF = NO
|
||||
RTF_OUTPUT = rtf
|
||||
COMPACT_RTF = NO
|
||||
RTF_HYPERLINKS = NO
|
||||
RTF_STYLESHEET_FILE =
|
||||
RTF_EXTENSIONS_FILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the man page output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_MAN = NO
|
||||
MAN_OUTPUT = man
|
||||
MAN_EXTENSION = .3
|
||||
MAN_LINKS = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the XML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_XML = NO
|
||||
XML_SCHEMA =
|
||||
XML_DTD =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options for the AutoGen Definitions output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the Perl module output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_PERLMOD = NO
|
||||
PERLMOD_LATEX = NO
|
||||
PERLMOD_PRETTY = YES
|
||||
PERLMOD_MAKEVAR_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = NO
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::addtions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES =
|
||||
GENERATE_TAGFILE =
|
||||
ALLEXTERNALS = NO
|
||||
EXTERNAL_GROUPS = YES
|
||||
PERL_PATH = /usr/bin/perl
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
CLASS_DIAGRAMS = YES
|
||||
HIDE_UNDOC_RELATIONS = YES
|
||||
HAVE_DOT = NO
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = YES
|
||||
TEMPLATE_RELATIONS = YES
|
||||
INCLUDE_GRAPH = YES
|
||||
INCLUDED_BY_GRAPH = YES
|
||||
GRAPHICAL_HIERARCHY = YES
|
||||
DOT_IMAGE_FORMAT = png
|
||||
DOT_PATH =
|
||||
DOTFILE_DIRS =
|
||||
MAX_DOT_GRAPH_WIDTH = 1024
|
||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||
GENERATE_LEGEND = YES
|
||||
DOT_CLEANUP = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::addtions related to the search engine
|
||||
#---------------------------------------------------------------------------
|
||||
SEARCHENGINE = NO
|
||||
CGI_NAME = search.cgi
|
||||
CGI_URL =
|
||||
DOC_URL =
|
||||
DOC_ABSPATH =
|
||||
BIN_ABSPATH = /usr/local/bin/
|
||||
EXT_DOC_PATHS =
|
22
wxPython/contrib/activex/wxie/doxydoc/annotated.html
Normal file
22
wxPython/contrib/activex/wxie/doxydoc/annotated.html
Normal file
@@ -0,0 +1,22 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Annotated Index</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>wxActiveX Data Structures</h1>Here are the data structures with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="structNS__wxActiveX_1_1less__wxStringI.html">NS_wxActiveX::less_wxStringI</a></td><td class="indexvalue">STL utilty class</td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classwxActiveX.html">wxActiveX</a></td><td class="indexvalue">Main class for embedding a ActiveX control</td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classwxActiveX_1_1FuncX.html">wxActiveX::FuncX</a></td><td class="indexvalue">Type & Parameter info for Events and Methods</td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classwxActiveX_1_1ParamX.html">wxActiveX::ParamX</a></td><td class="indexvalue">General parameter and return type infoformation for Events, Properties and Methods</td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classwxActiveX_1_1PropX.html">wxActiveX::PropX</a></td><td class="indexvalue">Type info for properties</td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classwxAutoOleInterface.html">wxAutoOleInterface< I ></a></td><td class="indexvalue">Template class for smart interface handling</td></tr>
|
||||
</table>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
17
wxPython/contrib/activex/wxie/doxydoc/classes.html
Normal file
17
wxPython/contrib/activex/wxie/doxydoc/classes.html
Normal file
@@ -0,0 +1,17 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Alphabetical index</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>wxActiveX Data Structure Index</h1><table align=center width="95%" border="0" cellspacing="0" cellpadding="0">
|
||||
<tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> L </div></td></tr></table>
|
||||
</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> W </div></td></tr></table>
|
||||
</td><td><a class="el" href="classwxActiveX_1_1FuncX.html">wxActiveX::FuncX</a> </td><td><a class="el" href="classwxActiveX_1_1PropX.html">wxActiveX::PropX</a> </td></tr><tr><td><a class="el" href="structNS__wxActiveX_1_1less__wxStringI.html">less_wxStringI</a> (<a class="el" href="namespaceNS__wxActiveX.html">NS_wxActiveX</a>) </td><td><a class="el" href="classwxActiveX.html">wxActiveX</a> </td><td><a class="el" href="classwxActiveX_1_1ParamX.html">wxActiveX::ParamX</a> </td><td><a class="el" href="classwxAutoOleInterface.html">wxAutoOleInterface</a> </td></tr></table><hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
474
wxPython/contrib/activex/wxie/doxydoc/classwxActiveX.html
Normal file
474
wxPython/contrib/activex/wxie/doxydoc/classwxActiveX.html
Normal file
@@ -0,0 +1,474 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>wxActiveX class Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>wxActiveX Class Reference</h1><code>#include <<a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>></code>
|
||||
<p>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Main class for embedding a ActiveX control.
|
||||
<p>
|
||||
Use by itself or derive from it <dl compact><dt><b>Note:</b></dt><dd>The utility program (wxie) can generate a list of events, methods & properties for a control. First display the control (File|Display), then get the type info (ActiveX|Get Type Info) - these are copied to the clipboard. Eventually this will be expanded to autogenerate wxWindows source files for a control with all methods etc encapsulated. </dd></dl>
|
||||
<dl compact><dt><b>Usage: </b></dt><dd>construct using a ProgId or class id <div class="fragment"><pre> <span class="keyword">new</span> <a class="code" href="classwxActiveX.html#a0">wxActiveX</a>(parent, CLSID_WebBrowser, id, pos, size, style, name)
|
||||
</pre></div><div class="fragment"><pre> <span class="keyword">new</span> <a class="code" href="classwxActiveX.html#a0">wxActiveX</a>(parent, <span class="stringliteral">"ShockwaveFlash.ShockwaveFlash"</span>, id, pos, size, style, name)
|
||||
</pre></div></dd></dl>
|
||||
<dl compact><dt><b>Properties</b></dt><dd>Properties can be set using <code><a class="el" href="classwxActiveX.html#a11">SetProp()</a></code> and set/retrieved using <code><a class="el" href="classwxActiveX.html#a13">Prop()</a></code> <div class="fragment"><pre> <a class="code" href="classwxActiveX.html#a11">SetProp</a>(name, wxVariant(x))
|
||||
</pre></div>or <div class="fragment"><pre> wxString <a class="code" href="classwxActiveX.html#a13">Prop</a>(<span class="stringliteral">"<name>"</span>) = x
|
||||
</pre></div><div class="fragment"><pre> wxString result = <a class="code" href="classwxActiveX.html#a13">Prop</a>(<span class="stringliteral">"<name>"</span>)
|
||||
</pre></div><div class="fragment"><pre> flash_ctl.Prop(<span class="stringliteral">"movie"</span>) = <span class="stringliteral">"file:///movies/test.swf"</span>;
|
||||
</pre></div><div class="fragment"><pre> flash_ctl.Prop(<span class="stringliteral">"Playing"</span>) = <span class="keyword">false</span>;
|
||||
</pre></div><div class="fragment"><pre> wxString current_movie = flash_ctl.Prop(<span class="stringliteral">"movie"</span>);
|
||||
</pre></div></dd></dl>
|
||||
<dl compact><dt><b>Methods</b></dt><dd>Methods are invoked with <code><a class="el" href="classwxActiveX.html#a26">CallMethod()</a></code> <div class="fragment"><pre> wxVariant result = <a class="code" href="classwxActiveX.html#a26">CallMethod</a>(<span class="stringliteral">"<name>"</span>, args, nargs = -1)
|
||||
</pre></div><div class="fragment"><pre> wxVariant args[] = {0L, <span class="stringliteral">"file:///e:/dev/wxie/bug-zap.swf"</span>};
|
||||
wxVariant result = X->CallMethod(<span class="stringliteral">"LoadMovie"</span>, args);
|
||||
</pre></div></dd></dl>
|
||||
<dl compact><dt><b>events</b></dt><dd>respond to events with the <code><a class="el" href="wxactivex_8h.html#a10">EVT_ACTIVEX(controlId, eventName, handler)</a></code> & <code><a class="el" href="wxactivex_8h.html#a11">EVT_ACTIVEX_DISPID(controlId, eventDispId, handler)</a></code> macros <div class="fragment"><pre>
|
||||
BEGIN_EVENT_TABLE(wxIEFrame, wxFrame)
|
||||
<a class="code" href="wxactivex_8h.html#a11">EVT_ACTIVEX_DISPID</a>(ID_MSHTML, DISPID_STATUSTEXTCHANGE, OnMSHTMLStatusTextChangeX)
|
||||
<a class="code" href="wxactivex_8h.html#a10">EVT_ACTIVEX</a>(ID_MSHTML, <span class="stringliteral">"BeforeNavigate2"</span>, OnMSHTMLBeforeNavigate2X)
|
||||
<a class="code" href="wxactivex_8h.html#a10">EVT_ACTIVEX</a>(ID_MSHTML, <span class="stringliteral">"TitleChange"</span>, OnMSHTMLTitleChangeX)
|
||||
<a class="code" href="wxactivex_8h.html#a10">EVT_ACTIVEX</a>(ID_MSHTML, <span class="stringliteral">"NewWindow2"</span>, OnMSHTMLNewWindow2X)
|
||||
<a class="code" href="wxactivex_8h.html#a10">EVT_ACTIVEX</a>(ID_MSHTML, <span class="stringliteral">"ProgressChange"</span>, OnMSHTMLProgressChangeX)
|
||||
END_EVENT_TABLE()
|
||||
</pre></div></dd></dl>
|
||||
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="wxactivex_8h-source.html#l00329">329</a> of file <a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>.<table border=0 cellpadding=0 cellspacing=0>
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a0" doxytag="wxActiveX::wxActiveX"></a>
|
||||
</td><td valign=bottom><a class="el" href="classwxActiveX.html#a0">wxActiveX</a> (wxWindow *parent, REFCLSID clsid, wxWindowID id=-1, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Create using clsid.</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a1" doxytag="wxActiveX::wxActiveX"></a>
|
||||
</td><td valign=bottom><a class="el" href="classwxActiveX.html#a1">wxActiveX</a> (wxWindow *parent, wxString progId, wxWindowID id=-1, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>create using progid.</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a3" doxytag="wxActiveX::GetEventCount"></a>
|
||||
int </td><td valign=bottom><a class="el" href="classwxActiveX.html#a3">GetEventCount</a> () const</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Number of events defined for this control.</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top>const <a class="el" href="classwxActiveX_1_1FuncX.html">FuncX</a> & </td><td valign=bottom><a class="el" href="classwxActiveX.html#a4">GetEventDesc</a> (int idx) const</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>returns event description by index.</em> <a href="#a4"></a><em></em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a5" doxytag="wxActiveX::GetPropCount"></a>
|
||||
int </td><td valign=bottom><a class="el" href="classwxActiveX.html#a5">GetPropCount</a> () const</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Number of properties defined for this control.</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top>const <a class="el" href="classwxActiveX_1_1PropX.html">PropX</a> & </td><td valign=bottom><a class="el" href="classwxActiveX.html#a6">GetPropDesc</a> (int idx) const</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>returns property description by index.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top>const <a class="el" href="classwxActiveX_1_1PropX.html">PropX</a> & </td><td valign=bottom><a class="el" href="classwxActiveX.html#a7">GetPropDesc</a> (wxString name) const</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>returns property description by name.</em> <a href="#a7"></a><em></em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a8" doxytag="wxActiveX::GetMethodCount"></a>
|
||||
int </td><td valign=bottom><a class="el" href="classwxActiveX.html#a8">GetMethodCount</a> () const</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Number of methods defined for this control.</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top>const <a class="el" href="classwxActiveX_1_1FuncX.html">FuncX</a> & </td><td valign=bottom><a class="el" href="classwxActiveX.html#a9">GetMethodDesc</a> (int idx) const</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>returns method description by name.</em> <a href="#a9"></a><em></em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top>const <a class="el" href="classwxActiveX_1_1FuncX.html">FuncX</a> & </td><td valign=bottom><a class="el" href="classwxActiveX.html#a10">GetMethodDesc</a> (wxString name) const</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>returns method description by name.</em> <a href="#a10"></a><em></em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a11" doxytag="wxActiveX::SetProp"></a>
|
||||
void </td><td valign=bottom><a class="el" href="classwxActiveX.html#a11">SetProp</a> (MEMBERID name, VARIANTARG &value)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Set property VARIANTARG value by MEMBERID.</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a12" doxytag="wxActiveX::SetProp"></a>
|
||||
void </td><td valign=bottom><a class="el" href="classwxActiveX.html#a12">SetProp</a> (const wxString &name, const wxVariant &value)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Set property using wxVariant by name.</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top>wxPropertySetter </td><td valign=bottom><a class="el" href="classwxActiveX.html#a13">Prop</a> (wxString name)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Generic Get/Set Property by name. Automatically handles most types.</em> <a href="#a13"></a><em></em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top>wxVariant </td><td valign=bottom><a class="el" href="classwxActiveX.html#a26">CallMethod</a> (wxString name, wxVariant args[], int nargs=-1)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Call a method of the ActiveX control. Automatically handles most types.</em> <a href="#a26"></a><em></em></font><br><br></td></tr>
|
||||
<tr><td colspan=2><br><h2>Related Functions</h2></td></tr>
|
||||
<tr><td colspan=2>(Note that these are not member functions.)<br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classwxActiveX.html#k0">MSWVariantToVariant</a> (VARIANTARG &va, wxVariant &vx)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Convert MSW VARIANTARG to wxVariant. Handles basic types, need to add:<ul>
|
||||
<li>VT_ARRAY | VT_*</li><li>better support for VT_UNKNOWN (currently treated as void *)</li><li>better support for VT_DISPATCH (currently treated as void *).</li></ul>
|
||||
</em> <a href="#k0"></a><em></em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classwxActiveX.html#k1">VariantToMSWVariant</a> (const wxVariant &vx, VARIANTARG &va)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Convert wxVariant to MSW VARIANTARG. Handles basic types, need to add:<ul>
|
||||
<li>VT_ARRAY | VT_*</li><li>better support for VT_UNKNOWN (currently treated as void *)</li><li>better support for VT_DISPATCH (currently treated as void *).</li></ul>
|
||||
</em> <a href="#k1"></a><em></em></font><br><br></td></tr>
|
||||
</table>
|
||||
<hr><h2>Member Function Documentation</h2>
|
||||
<a name="a4" doxytag="wxActiveX::GetEventDesc"></a><p>
|
||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> const <a class="el" href="classwxActiveX_1_1FuncX.html">FuncX</a>& wxActiveX::GetEventDesc </td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">int </td>
|
||||
<td class="mdname1" valign="top" nowrap> <em>idx</em> </td>
|
||||
<td class="md" valign="top">) </td>
|
||||
<td class="md" nowrap> const</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing=5 cellpadding=0 border=0>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<p>
|
||||
returns event description by index.
|
||||
<p>
|
||||
throws exception for invalid index </td>
|
||||
</tr>
|
||||
</table>
|
||||
<a name="a6" doxytag="wxActiveX::GetPropDesc"></a><p>
|
||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> const <a class="el" href="classwxActiveX_1_1PropX.html">PropX</a>& wxActiveX::GetPropDesc </td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">int </td>
|
||||
<td class="mdname1" valign="top" nowrap> <em>idx</em> </td>
|
||||
<td class="md" valign="top">) </td>
|
||||
<td class="md" nowrap> const</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing=5 cellpadding=0 border=0>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<p>
|
||||
returns property description by index.
|
||||
<p>
|
||||
throws exception for invalid index </td>
|
||||
</tr>
|
||||
</table>
|
||||
<a name="a7" doxytag="wxActiveX::GetPropDesc"></a><p>
|
||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> const <a class="el" href="classwxActiveX_1_1PropX.html">PropX</a>& wxActiveX::GetPropDesc </td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">wxString </td>
|
||||
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
|
||||
<td class="md" valign="top">) </td>
|
||||
<td class="md" nowrap> const</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing=5 cellpadding=0 border=0>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<p>
|
||||
returns property description by name.
|
||||
<p>
|
||||
throws exception for invalid name </td>
|
||||
</tr>
|
||||
</table>
|
||||
<a name="a9" doxytag="wxActiveX::GetMethodDesc"></a><p>
|
||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> const <a class="el" href="classwxActiveX_1_1FuncX.html">FuncX</a>& wxActiveX::GetMethodDesc </td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">int </td>
|
||||
<td class="mdname1" valign="top" nowrap> <em>idx</em> </td>
|
||||
<td class="md" valign="top">) </td>
|
||||
<td class="md" nowrap> const</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing=5 cellpadding=0 border=0>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<p>
|
||||
returns method description by name.
|
||||
<p>
|
||||
throws exception for invalid index </td>
|
||||
</tr>
|
||||
</table>
|
||||
<a name="a10" doxytag="wxActiveX::GetMethodDesc"></a><p>
|
||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> const <a class="el" href="classwxActiveX_1_1FuncX.html">FuncX</a>& wxActiveX::GetMethodDesc </td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">wxString </td>
|
||||
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
|
||||
<td class="md" valign="top">) </td>
|
||||
<td class="md" nowrap> const</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing=5 cellpadding=0 border=0>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<p>
|
||||
returns method description by name.
|
||||
<p>
|
||||
throws exception for invalid name </td>
|
||||
</tr>
|
||||
</table>
|
||||
<a name="a13" doxytag="wxActiveX::Prop"></a><p>
|
||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> wxPropertySetter wxActiveX::Prop </td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">wxString </td>
|
||||
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
|
||||
<td class="md" valign="top">) </td>
|
||||
<td class="md" nowrap><code> [inline]</code></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing=5 cellpadding=0 border=0>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<p>
|
||||
Generic Get/Set Property by name. Automatically handles most types.
|
||||
<p>
|
||||
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign=top><em>name</em> </td><td>Property name to read/set </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>wxPropertySetter, which has overloads for setting/getting the property </dd></dl>
|
||||
<p>
|
||||
<dl compact><dt><b>Usage:</b></dt><dd><ul>
|
||||
<li>Prop("<name>") = <value></li><li>var = Prop("<name>")</li><li>e.g:<ul>
|
||||
<li><div class="fragment"><pre> flash_ctl.Prop(<span class="stringliteral">"movie"</span>) = <span class="stringliteral">"file:///movies/test.swf"</span>;
|
||||
</pre></div></li><li><div class="fragment"><pre> flash_ctl.Prop(<span class="stringliteral">"Playing"</span>) = <span class="keyword">false</span>;
|
||||
</pre></div></li><li><div class="fragment"><pre> wxString current_movie = flash_ctl.Prop(<span class="stringliteral">"movie"</span>);
|
||||
</pre></div></li></ul>
|
||||
</li></ul>
|
||||
</dd></dl>
|
||||
<dl compact><dt><b>Exceptions:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign=top><em>raises</em> </td><td>exception if <name> is invalid </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Note:</b></dt><dd>Have to add a few more type conversions yet ... </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="wxactivex_8h-source.html#l00458">458</a> of file <a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>. </td>
|
||||
</tr>
|
||||
</table>
|
||||
<a name="a26" doxytag="wxActiveX::CallMethod"></a><p>
|
||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> wxVariant wxActiveX::CallMethod </td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">wxString </td>
|
||||
<td class="mdname" nowrap> <em>name</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td class="md" nowrap>wxVariant </td>
|
||||
<td class="mdname" nowrap> <em>args</em>[], </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td class="md" nowrap>int </td>
|
||||
<td class="mdname" nowrap> <em>nargs</em> = -1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="md">) </td>
|
||||
<td class="md" colspan="2"></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing=5 cellpadding=0 border=0>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<p>
|
||||
Call a method of the ActiveX control. Automatically handles most types.
|
||||
<p>
|
||||
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign=top><em>name</em> </td><td>name of method to call </td></tr>
|
||||
<tr><td valign=top><em>args</em> </td><td>array of wxVariant's, defaults to NULL (no args) </td></tr>
|
||||
<tr><td valign=top><em>nargs</em> </td><td>number of arguments passed via args. Defaults to actual number of args for the method </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>wxVariant </dd></dl>
|
||||
<p>
|
||||
<dl compact><dt><b>Usage:</b></dt><dd><ul>
|
||||
<li>result = CallMethod("<name>", args, nargs)</li><li>e.g.</li><li><div class="fragment"><pre>
|
||||
wxVariant args[] = {0L, <span class="stringliteral">"file:///e:/dev/wxie/bug-zap.swf"</span>};
|
||||
wxVariant result = X->CallMethod(<span class="stringliteral">"LoadMovie"</span>, args);
|
||||
</pre></div></li></ul>
|
||||
</dd></dl>
|
||||
<dl compact><dt><b>Exceptions:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign=top><em>raises</em> </td><td>exception if <name> is invalid </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Note:</b></dt><dd>Since wxVariant has built in type conversion, most the std types can be passed easily </dd></dl>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr><h2>Friends And Related Function Documentation</h2>
|
||||
<a name="k0" doxytag="wxActiveX::MSWVariantToVariant"></a><p>
|
||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> bool MSWVariantToVariant </td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">VARIANTARG & </td>
|
||||
<td class="mdname" nowrap> <em>va</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td class="md" nowrap>wxVariant & </td>
|
||||
<td class="mdname" nowrap> <em>vx</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="md">) </td>
|
||||
<td class="md" colspan="2"><code> [related]</code></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing=5 cellpadding=0 border=0>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<p>
|
||||
Convert MSW VARIANTARG to wxVariant. Handles basic types, need to add:<ul>
|
||||
<li>VT_ARRAY | VT_*</li><li>better support for VT_UNKNOWN (currently treated as void *)</li><li>better support for VT_DISPATCH (currently treated as void *).</li></ul>
|
||||
|
||||
<p>
|
||||
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign=top><em>va</em> </td><td>VARAIANTARG to convert from </td></tr>
|
||||
<tr><td valign=top><em>vx</em> </td><td>Destination wxVariant </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>success/failure (true/false) </dd></dl>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<a name="k1" doxytag="wxActiveX::VariantToMSWVariant"></a><p>
|
||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> bool VariantToMSWVariant </td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">const wxVariant & </td>
|
||||
<td class="mdname" nowrap> <em>vx</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td class="md" nowrap>VARIANTARG & </td>
|
||||
<td class="mdname" nowrap> <em>va</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="md">) </td>
|
||||
<td class="md" colspan="2"><code> [related]</code></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing=5 cellpadding=0 border=0>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<p>
|
||||
Convert wxVariant to MSW VARIANTARG. Handles basic types, need to add:<ul>
|
||||
<li>VT_ARRAY | VT_*</li><li>better support for VT_UNKNOWN (currently treated as void *)</li><li>better support for VT_DISPATCH (currently treated as void *).</li></ul>
|
||||
|
||||
<p>
|
||||
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign=top><em>vx</em> </td><td>wxVariant to convert from </td></tr>
|
||||
<tr><td valign=top><em>va</em> </td><td>Destination VARIANTARG </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>success/failure (true/false) </dd></dl>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="wxactivex_8h-source.html">wxactivex.h</a></ul>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
@@ -0,0 +1,28 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>wxActiveX::FuncX class Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>wxActiveX::FuncX Class Reference</h1><code>#include <<a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>></code>
|
||||
<p>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Type & Parameter info for Events and Methods.
|
||||
<p>
|
||||
refer to FUNCDESC in MSDN
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="wxactivex_8h-source.html#l00350">350</a> of file <a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>.<table border=0 cellpadding=0 cellspacing=0>
|
||||
<tr><td></td></tr>
|
||||
</table>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="wxactivex_8h-source.html">wxactivex.h</a></ul>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
@@ -0,0 +1,28 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>wxActiveX::ParamX class Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>wxActiveX::ParamX Class Reference</h1><code>#include <<a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>></code>
|
||||
<p>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
General parameter and return type infoformation for Events, Properties and Methods.
|
||||
<p>
|
||||
refer to ELEMDESC, IDLDESC in MSDN
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="wxactivex_8h-source.html#l00333">333</a> of file <a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>.<table border=0 cellpadding=0 cellspacing=0>
|
||||
<tr><td></td></tr>
|
||||
</table>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="wxactivex_8h-source.html">wxactivex.h</a></ul>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>wxActiveX::PropX class Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>wxActiveX::PropX Class Reference</h1><code>#include <<a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>></code>
|
||||
<p>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Type info for properties.
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="wxactivex_8h-source.html#l00362">362</a> of file <a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>.<table border=0 cellpadding=0 cellspacing=0>
|
||||
<tr><td></td></tr>
|
||||
</table>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="wxactivex_8h-source.html">wxactivex.h</a></ul>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
@@ -0,0 +1,79 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title> TemplatewxAutoOleInterface< I > class Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>wxAutoOleInterface< I > Class Template Reference</h1><code>#include <<a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>></code>
|
||||
<p>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
<h3>template<class I><br>
|
||||
class wxAutoOleInterface< I ></h3>
|
||||
|
||||
Template class for smart interface handling.
|
||||
<p>
|
||||
<ul>
|
||||
<li>Automatically dereferences ole interfaces</li><li>Smart Copy Semantics</li><li>Can Create Interfaces</li><li>Can query for other interfaces </li></ul>
|
||||
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="wxactivex_8h-source.html#l00045">45</a> of file <a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>.<table border=0 cellpadding=0 cellspacing=0>
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a0" doxytag="wxAutoOleInterface::wxAutoOleInterface"></a>
|
||||
</td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html#a0">wxAutoOleInterface</a> (I *pInterface=NULL)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>takes ownership of an existing interface Assumed to already have a AddRef() applied</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a1" doxytag="wxAutoOleInterface::wxAutoOleInterface"></a>
|
||||
</td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html#a1">wxAutoOleInterface</a> (REFIID riid, IUnknown *pUnk)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>queries for an interface</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a2" doxytag="wxAutoOleInterface::wxAutoOleInterface"></a>
|
||||
</td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html#a2">wxAutoOleInterface</a> (REFIID riid, IDispatch *pDispatch)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>queries for an interface</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a3" doxytag="wxAutoOleInterface::wxAutoOleInterface"></a>
|
||||
</td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html#a3">wxAutoOleInterface</a> (REFCLSID clsid, REFIID riid)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Creates an Interface.</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a4" doxytag="wxAutoOleInterface::wxAutoOleInterface"></a>
|
||||
</td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html#a4">wxAutoOleInterface</a> (const wxAutoOleInterface< I > &ti)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>copy constructor</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a5" doxytag="wxAutoOleInterface::operator="></a>
|
||||
wxAutoOleInterface< I > & </td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html#a5">operator=</a> (const wxAutoOleInterface< I > &ti)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>assignment operator</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a6" doxytag="wxAutoOleInterface::operator="></a>
|
||||
wxAutoOleInterface< I > & </td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html#a6">operator=</a> (I *&ti)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>takes ownership of an existing interface Assumed to already have a AddRef() applied</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a7" doxytag="wxAutoOleInterface::~wxAutoOleInterface"></a>
|
||||
</td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html#a7">~wxAutoOleInterface</a> ()</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>invokes <a class="el" href="classwxAutoOleInterface.html#a8">Free()</a></em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a8" doxytag="wxAutoOleInterface::Free"></a>
|
||||
void </td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html#a8">Free</a> ()</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Releases interface (i.e decrements refCount).</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a9" doxytag="wxAutoOleInterface::QueryInterface"></a>
|
||||
HRESULT </td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html#a9">QueryInterface</a> (REFIID riid, IUnknown *pUnk)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>queries for an interface</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a10" doxytag="wxAutoOleInterface::CreateInstance"></a>
|
||||
HRESULT </td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html#a10">CreateInstance</a> (REFCLSID clsid, REFIID riid)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Create a Interface instance.</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a11" doxytag="wxAutoOleInterface::operator I *"></a>
|
||||
</td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html#a11">operator I *</a> () const</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>returns the interface pointer</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a12" doxytag="wxAutoOleInterface::operator->"></a>
|
||||
I * </td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html#a12">operator-></a> ()</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>returns the dereferenced interface pointer</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a13" doxytag="wxAutoOleInterface::GetRef"></a>
|
||||
I ** </td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html#a13">GetRef</a> ()</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>returns a pointer to the interface pointer</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a14" doxytag="wxAutoOleInterface::Ok"></a>
|
||||
bool </td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html#a14">Ok</a> () const</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>returns true if we have a valid interface pointer</em></font><br><br></td></tr>
|
||||
</table>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="wxactivex_8h-source.html">wxactivex.h</a></ul>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
49
wxPython/contrib/activex/wxie/doxydoc/doxygen.css
Normal file
49
wxPython/contrib/activex/wxie/doxydoc/doxygen.css
Normal file
@@ -0,0 +1,49 @@
|
||||
H1 { text-align: center; }
|
||||
CAPTION { font-weight: bold }
|
||||
A.qindex {}
|
||||
A.qindexRef {}
|
||||
A.el { text-decoration: none; font-weight: bold }
|
||||
A.elRef { font-weight: bold }
|
||||
A.code { text-decoration: none; font-weight: normal; color: #4444ee }
|
||||
A.codeRef { font-weight: normal; color: #4444ee }
|
||||
A:hover { text-decoration: none; background-color: #f2f2ff }
|
||||
DL.el { margin-left: -1cm }
|
||||
DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
|
||||
DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
|
||||
TD.md { background-color: #f2f2ff; font-weight: bold; }
|
||||
TD.mdname1 { background-color: #f2f2ff; font-weight: bold; color: #602020; }
|
||||
TD.mdname { background-color: #f2f2ff; font-weight: bold; color: #602020; width: 600px; }
|
||||
DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold }
|
||||
DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller }
|
||||
BODY { background: white; color: black }
|
||||
TD.indexkey {
|
||||
background-color: #eeeeff;
|
||||
font-weight: bold;
|
||||
padding-right : 10px;
|
||||
padding-top : 2px;
|
||||
padding-left : 10px;
|
||||
padding-bottom : 2px;
|
||||
margin-left : 0px;
|
||||
margin-right : 0px;
|
||||
margin-top : 2px;
|
||||
margin-bottom : 2px
|
||||
}
|
||||
TD.indexvalue {
|
||||
background-color: #eeeeff;
|
||||
font-style: italic;
|
||||
padding-right : 10px;
|
||||
padding-top : 2px;
|
||||
padding-left : 10px;
|
||||
padding-bottom : 2px;
|
||||
margin-left : 0px;
|
||||
margin-right : 0px;
|
||||
margin-top : 2px;
|
||||
margin-bottom : 2px
|
||||
}
|
||||
span.keyword { color: #008000 }
|
||||
span.keywordtype { color: #604020 }
|
||||
span.keywordflow { color: #e08000 }
|
||||
span.comment { color: #800000 }
|
||||
span.preprocessor { color: #806020 }
|
||||
span.stringliteral { color: #002080 }
|
||||
span.charliteral { color: #008080 }
|
BIN
wxPython/contrib/activex/wxie/doxydoc/doxygen.png
Normal file
BIN
wxPython/contrib/activex/wxie/doxydoc/doxygen.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.3 KiB |
18
wxPython/contrib/activex/wxie/doxydoc/files.html
Normal file
18
wxPython/contrib/activex/wxie/doxydoc/files.html
Normal file
@@ -0,0 +1,18 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>File Index</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>wxActiveX File List</h1>Here is a list of all documented files with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="iehtmlwin_8h.html">iehtmlwin.h</a> <a href="iehtmlwin_8h-source.html">[code]</a></td><td class="indexvalue">Implements wxIEHtmlWin window class</td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="wxactivex_8h.html">wxactivex.h</a> <a href="wxactivex_8h-source.html">[code]</a></td><td class="indexvalue">Implements <a class="el" href="classwxActiveX.html">wxActiveX</a> window class and OLE tools</td></tr>
|
||||
</table>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
38
wxPython/contrib/activex/wxie/doxydoc/functions.html
Normal file
38
wxPython/contrib/activex/wxie/doxydoc/functions.html
Normal file
@@ -0,0 +1,38 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Compound Member Index</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>wxActiveX Data Fields</h1>Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:<ul>
|
||||
<li>CallMethod()
|
||||
: <a class="el" href="classwxActiveX.html#a26">wxActiveX</a><li>CreateInstance()
|
||||
: <a class="el" href="classwxAutoOleInterface.html#a10">wxAutoOleInterface< I ></a><li>Free()
|
||||
: <a class="el" href="classwxAutoOleInterface.html#a8">wxAutoOleInterface< I ></a><li>GetEventCount()
|
||||
: <a class="el" href="classwxActiveX.html#a3">wxActiveX</a><li>GetEventDesc()
|
||||
: <a class="el" href="classwxActiveX.html#a4">wxActiveX</a><li>GetMethodCount()
|
||||
: <a class="el" href="classwxActiveX.html#a8">wxActiveX</a><li>GetMethodDesc()
|
||||
: <a class="el" href="classwxActiveX.html#a10">wxActiveX</a><li>GetPropCount()
|
||||
: <a class="el" href="classwxActiveX.html#a5">wxActiveX</a><li>GetPropDesc()
|
||||
: <a class="el" href="classwxActiveX.html#a7">wxActiveX</a><li>GetRef()
|
||||
: <a class="el" href="classwxAutoOleInterface.html#a13">wxAutoOleInterface< I ></a><li>MSWVariantToVariant()
|
||||
: <a class="el" href="classwxActiveX.html#k0">wxActiveX</a><li>Ok()
|
||||
: <a class="el" href="classwxAutoOleInterface.html#a14">wxAutoOleInterface< I ></a><li>operator I *()
|
||||
: <a class="el" href="classwxAutoOleInterface.html#a11">wxAutoOleInterface< I ></a><li>operator->()
|
||||
: <a class="el" href="classwxAutoOleInterface.html#a12">wxAutoOleInterface< I ></a><li>operator=()
|
||||
: <a class="el" href="classwxAutoOleInterface.html#a6">wxAutoOleInterface< I ></a><li>Prop()
|
||||
: <a class="el" href="classwxActiveX.html#a13">wxActiveX</a><li>QueryInterface()
|
||||
: <a class="el" href="classwxAutoOleInterface.html#a9">wxAutoOleInterface< I ></a><li>SetProp()
|
||||
: <a class="el" href="classwxActiveX.html#a12">wxActiveX</a><li>VariantToMSWVariant()
|
||||
: <a class="el" href="classwxActiveX.html#k1">wxActiveX</a><li>wxActiveX()
|
||||
: <a class="el" href="classwxActiveX.html#a1">wxActiveX</a><li>wxAutoOleInterface()
|
||||
: <a class="el" href="classwxAutoOleInterface.html#a4">wxAutoOleInterface< I ></a><li>~wxAutoOleInterface()
|
||||
: <a class="el" href="classwxAutoOleInterface.html#a7">wxAutoOleInterface< I ></a></ul>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
20
wxPython/contrib/activex/wxie/doxydoc/globals.html
Normal file
20
wxPython/contrib/activex/wxie/doxydoc/globals.html
Normal file
@@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>File Member Index</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>wxActiveX Globals</h1>Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:<ul>
|
||||
<li>EVT_ACTIVEX
|
||||
: <a class="el" href="wxactivex_8h.html#a10">wxactivex.h</a><li>EVT_ACTIVEX_DISPID
|
||||
: <a class="el" href="wxactivex_8h.html#a11">wxactivex.h</a><li>GetIIDName()
|
||||
: <a class="el" href="wxactivex_8h.html#a14">wxactivex.h</a><li>OLEHResultToString()
|
||||
: <a class="el" href="wxactivex_8h.html#a13">wxactivex.h</a></ul>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
22
wxPython/contrib/activex/wxie/doxydoc/hierarchy.html
Normal file
22
wxPython/contrib/activex/wxie/doxydoc/hierarchy.html
Normal file
@@ -0,0 +1,22 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Hierarchical Index</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>wxActiveX Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
|
||||
<li><a class="el" href="structNS__wxActiveX_1_1less__wxStringI.html">NS_wxActiveX::less_wxStringI</a>
|
||||
<li><a class="el" href="classwxActiveX.html">wxActiveX</a>
|
||||
<li><a class="el" href="classwxActiveX_1_1FuncX.html">wxActiveX::FuncX</a>
|
||||
<li><a class="el" href="classwxActiveX_1_1ParamX.html">wxActiveX::ParamX</a>
|
||||
<li><a class="el" href="classwxActiveX_1_1PropX.html">wxActiveX::PropX</a>
|
||||
<li><a class="el" href="classwxAutoOleInterface.html">wxAutoOleInterface< I ></a>
|
||||
</ul>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
@@ -0,0 +1,78 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>iehtmlwin.h Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>iehtmlwin.h</h1><a href="iehtmlwin_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
|
||||
00004 <span class="preprocessor">#ifndef _IEHTMLWIN_H_</span>
|
||||
00005 <span class="preprocessor"></span><span class="preprocessor">#define _IEHTMLWIN_H_</span>
|
||||
00006 <span class="preprocessor"></span><span class="preprocessor">#pragma warning( disable : 4101 4786)</span>
|
||||
00007 <span class="preprocessor"></span><span class="preprocessor">#pragma warning( disable : 4786)</span>
|
||||
00008 <span class="preprocessor"></span>
|
||||
00009
|
||||
00010 <span class="preprocessor">#include <wx/setup.h></span>
|
||||
00011 <span class="preprocessor">#include <wx/wx.h></span>
|
||||
00012 <span class="preprocessor">#include <exdisp.h></span>
|
||||
00013 <span class="preprocessor">#include <iostream></span>
|
||||
00014 <span class="keyword">using</span> <span class="keyword">namespace </span>std;
|
||||
00015
|
||||
00016 <span class="preprocessor">#include "<a class="code" href="wxactivex_8h.html">wxactivex.h</a>"</span>
|
||||
00017
|
||||
00018
|
||||
00019 <span class="keyword">enum</span> wxIEHtmlRefreshLevel
|
||||
00020 {
|
||||
00021 wxIEHTML_REFRESH_NORMAL = 0,
|
||||
00022 wxIEHTML_REFRESH_IFEXPIRED = 1,
|
||||
00023 wxIEHTML_REFRESH_CONTINUE = 2,
|
||||
00024 wxIEHTML_REFRESH_COMPLETELY = 3
|
||||
00025 };
|
||||
00026
|
||||
00027 <span class="keyword">class </span>IStreamAdaptorBase;
|
||||
00028
|
||||
00029 <span class="keyword">class </span>wxIEHtmlWin : <span class="keyword">public</span> <a class="code" href="classwxActiveX.html">wxActiveX</a>
|
||||
00030 {
|
||||
00031 <span class="keyword">public</span>:
|
||||
00032 wxIEHtmlWin(wxWindow * parent, wxWindowID id = -1,
|
||||
00033 <span class="keyword">const</span> wxPoint& pos = wxDefaultPosition,
|
||||
00034 <span class="keyword">const</span> wxSize& size = wxDefaultSize,
|
||||
00035 <span class="keywordtype">long</span> style = 0,
|
||||
00036 <span class="keyword">const</span> wxString& name = wxPanelNameStr);
|
||||
00037 <span class="keyword">virtual</span> ~wxIEHtmlWin();
|
||||
00038
|
||||
00039 <span class="keywordtype">void</span> LoadUrl(<span class="keyword">const</span> wxString&);
|
||||
00040 <span class="keywordtype">bool</span> LoadString(wxString html);
|
||||
00041 <span class="keywordtype">bool</span> LoadStream(istream *strm);
|
||||
00042 <span class="keywordtype">bool</span> LoadStream(wxInputStream *is);
|
||||
00043
|
||||
00044 <span class="keywordtype">void</span> SetCharset(wxString charset);
|
||||
00045 <span class="keywordtype">void</span> SetEditMode(<span class="keywordtype">bool</span> seton);
|
||||
00046 <span class="keywordtype">bool</span> GetEditMode();
|
||||
00047 wxString GetStringSelection(<span class="keywordtype">bool</span> asHTML = <span class="keyword">false</span>);
|
||||
00048 wxString GetText(<span class="keywordtype">bool</span> asHTML = <span class="keyword">false</span>);
|
||||
00049
|
||||
00050 <span class="keywordtype">bool</span> GoBack();
|
||||
00051 <span class="keywordtype">bool</span> GoForward();
|
||||
00052 <span class="keywordtype">bool</span> GoHome();
|
||||
00053 <span class="keywordtype">bool</span> GoSearch();
|
||||
00054 <span class="keywordtype">bool</span> Refresh(wxIEHtmlRefreshLevel level);
|
||||
00055 <span class="keywordtype">bool</span> Stop();
|
||||
00056
|
||||
00057 DECLARE_EVENT_TABLE();
|
||||
00058
|
||||
00059 <span class="keyword">protected</span>:
|
||||
00060 <span class="keywordtype">void</span> SetupBrowser();
|
||||
00061 <span class="keywordtype">bool</span> LoadStream(IStreamAdaptorBase *pstrm);
|
||||
00062
|
||||
00063 <a class="code" href="classwxAutoOleInterface.html">wxAutoOleInterface<IWebBrowser2></a> m_webBrowser;
|
||||
00064 };
|
||||
00065
|
||||
00066 <span class="preprocessor">#endif </span><span class="comment">/* _IEHTMLWIN_H_ */</span>
|
||||
</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
31
wxPython/contrib/activex/wxie/doxydoc/iehtmlwin_8h.html
Normal file
31
wxPython/contrib/activex/wxie/doxydoc/iehtmlwin_8h.html
Normal file
@@ -0,0 +1,31 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>iehtmlwin.h File Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>iehtmlwin.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
implements wxIEHtmlWin window class
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition in file <a class="el" href="iehtmlwin_8h-source.html">iehtmlwin.h</a>.
|
||||
<p>
|
||||
<code>#include <wx/setup.h></code><br>
|
||||
<code>#include <wx/wx.h></code><br>
|
||||
<code>#include <exdisp.h></code><br>
|
||||
<code>#include <iostream></code><br>
|
||||
<code>#include "<a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>"</code><br>
|
||||
|
||||
<p>
|
||||
<a href="iehtmlwin_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
|
||||
<tr><td></td></tr>
|
||||
</table>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
16
wxPython/contrib/activex/wxie/doxydoc/index.html
Normal file
16
wxPython/contrib/activex/wxie/doxydoc/index.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Main Page</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>wxActiveX Documentation</h1>
|
||||
<p>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
@@ -0,0 +1,25 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>NS_wxActiveX Namespace Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>NS_wxActiveX Namespace Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
<a class="el" href="classwxActiveX.html">wxActiveX</a> Namespace for stuff I want to keep out of other tools way.
|
||||
<p>
|
||||
|
||||
<p>
|
||||
<table border=0 cellpadding=0 cellspacing=0>
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
|
||||
<tr><td nowrap align=right valign=top>struct </td><td valign=bottom><a class="el" href="structNS__wxActiveX_1_1less__wxStringI.html">less_wxStringI</a></td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>STL utilty class.</em> <a href="structNS__wxActiveX_1_1less__wxStringI.html#_details">More...</a><em></em></font><br><br></td></tr>
|
||||
</table>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
17
wxPython/contrib/activex/wxie/doxydoc/namespaces.html
Normal file
17
wxPython/contrib/activex/wxie/doxydoc/namespaces.html
Normal file
@@ -0,0 +1,17 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Namespace Index</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>wxActiveX Namespace List</h1>Here is a list of all documented namespaces with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="namespaceNS__wxActiveX.html">NS_wxActiveX</a></td><td class="indexvalue">WxActiveX Namespace for stuff I want to keep out of other tools way</td></tr>
|
||||
</table>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
@@ -0,0 +1,28 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>NS_wxActiveX::less_wxStringI struct Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>NS_wxActiveX::less_wxStringI Struct Reference</h1><code>#include <<a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>></code>
|
||||
<p>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
STL utilty class.
|
||||
<p>
|
||||
specific to <a class="el" href="classwxActiveX.html">wxActiveX</a>, for creating case insenstive maps etc
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="wxactivex_8h-source.html#l00029">29</a> of file <a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>.<table border=0 cellpadding=0 cellspacing=0>
|
||||
<tr><td></td></tr>
|
||||
</table>
|
||||
<hr>The documentation for this struct was generated from the following file:<ul>
|
||||
<li><a class="el" href="wxactivex_8h-source.html">wxactivex.h</a></ul>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
477
wxPython/contrib/activex/wxie/doxydoc/wxactivex_8h-source.html
Normal file
477
wxPython/contrib/activex/wxie/doxydoc/wxactivex_8h-source.html
Normal file
@@ -0,0 +1,477 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>wxactivex.h Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>wxactivex.h</h1><a href="wxactivex_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
|
||||
00005 <span class="preprocessor">#ifndef WX_ACTIVE_X</span>
|
||||
00006 <span class="preprocessor"></span><span class="preprocessor">#define WX_ACTIVE_X</span>
|
||||
00007 <span class="preprocessor"></span><span class="preprocessor">#pragma warning( disable : 4101 4786)</span>
|
||||
00008 <span class="preprocessor"></span><span class="preprocessor">#pragma warning( disable : 4786)</span>
|
||||
00009 <span class="preprocessor"></span>
|
||||
00010
|
||||
00011 <span class="preprocessor">#include <wx/setup.h></span>
|
||||
00012 <span class="preprocessor">#include <wx/wx.h></span>
|
||||
00013 <span class="preprocessor">#include <wx/variant.h></span>
|
||||
00014 <span class="preprocessor">#include <wx/datetime.h></span>
|
||||
00015 <span class="preprocessor">#include <oleidl.h></span>
|
||||
00016 <span class="preprocessor">#include <exdisp.h></span>
|
||||
00017 <span class="preprocessor">#include <docobj.h></span>
|
||||
00018 <span class="preprocessor">#include <iostream></span>
|
||||
00019 <span class="preprocessor">#include <vector></span>
|
||||
00020 <span class="preprocessor">#include <map></span>
|
||||
00021 <span class="keyword">using</span> <span class="keyword">namespace </span>std;
|
||||
00022
|
||||
<a name="l00024"></a><a class="code" href="namespaceNS__wxActiveX.html">00024</a> <span class="keyword">namespace </span>NS_wxActiveX
|
||||
00025 {
|
||||
<a name="l00029"></a><a class="code" href="structNS__wxActiveX_1_1less__wxStringI.html">00029</a> <span class="keyword">struct </span><a class="code" href="structNS__wxActiveX_1_1less__wxStringI.html">less_wxStringI</a>
|
||||
00030 {
|
||||
00031 <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> wxString& x, <span class="keyword">const</span> wxString& y)<span class="keyword"> const</span>
|
||||
00032 <span class="keyword"> </span>{
|
||||
00033 <span class="keywordflow">return</span> x.CmpNoCase(y) < 0;
|
||||
00034 };
|
||||
00035 };
|
||||
00036 };
|
||||
00037
|
||||
00038
|
||||
<a name="l00045"></a><a class="code" href="classwxAutoOleInterface.html">00045</a> <span class="keyword">template</span> <<span class="keyword">class</span> I> <span class="keyword">class </span><a class="code" href="classwxAutoOleInterface.html">wxAutoOleInterface</a>
|
||||
00046 {
|
||||
00047 <span class="keyword">protected</span>:
|
||||
00048 I *m_interface;
|
||||
00049
|
||||
00050 <span class="keyword">public</span>:
|
||||
<a name="l00053"></a><a class="code" href="classwxAutoOleInterface.html#a0">00053</a> <span class="keyword">explicit</span> <a class="code" href="classwxAutoOleInterface.html#a0">wxAutoOleInterface</a>(I *pInterface = NULL) : m_interface(pInterface) {}
|
||||
00054
|
||||
<a name="l00056"></a><a class="code" href="classwxAutoOleInterface.html#a1">00056</a> <a class="code" href="classwxAutoOleInterface.html#a0">wxAutoOleInterface</a>(REFIID riid, IUnknown *pUnk) : m_interface(NULL)
|
||||
00057 {
|
||||
00058 <a class="code" href="classwxAutoOleInterface.html#a9">QueryInterface</a>(riid, pUnk);
|
||||
00059 };
|
||||
<a name="l00061"></a><a class="code" href="classwxAutoOleInterface.html#a2">00061</a> <a class="code" href="classwxAutoOleInterface.html#a0">wxAutoOleInterface</a>(REFIID riid, IDispatch *pDispatch) : m_interface(NULL)
|
||||
00062 {
|
||||
00063 <a class="code" href="classwxAutoOleInterface.html#a9">QueryInterface</a>(riid, pDispatch);
|
||||
00064 };
|
||||
00065
|
||||
<a name="l00067"></a><a class="code" href="classwxAutoOleInterface.html#a3">00067</a> <a class="code" href="classwxAutoOleInterface.html#a0">wxAutoOleInterface</a>(REFCLSID clsid, REFIID riid) : m_interface(NULL)
|
||||
00068 {
|
||||
00069 <a class="code" href="classwxAutoOleInterface.html#a10">CreateInstance</a>(clsid, riid);
|
||||
00070 };
|
||||
00071
|
||||
<a name="l00073"></a><a class="code" href="classwxAutoOleInterface.html#a4">00073</a> <a class="code" href="classwxAutoOleInterface.html#a0">wxAutoOleInterface</a>(<span class="keyword">const</span> <a class="code" href="classwxAutoOleInterface.html">wxAutoOleInterface<I></a>& ti) : m_interface(NULL)
|
||||
00074 {
|
||||
00075 <a class="code" href="classwxAutoOleInterface.html#a5">operator = </a>(ti);
|
||||
00076 }
|
||||
00077
|
||||
<a name="l00079"></a><a class="code" href="classwxAutoOleInterface.html#a5">00079</a> <a class="code" href="classwxAutoOleInterface.html">wxAutoOleInterface<I></a>& <a class="code" href="classwxAutoOleInterface.html#a5">operator = </a>(<span class="keyword">const</span> <a class="code" href="classwxAutoOleInterface.html">wxAutoOleInterface<I></a>& ti)
|
||||
00080 {
|
||||
00081 <span class="keywordflow">if</span> (ti.<a class="code" href="classwxAutoOleInterface.html#n0">m_interface</a>)
|
||||
00082 ti.<a class="code" href="classwxAutoOleInterface.html#n0">m_interface</a>->AddRef();
|
||||
00083 <a class="code" href="classwxAutoOleInterface.html#a8">Free</a>();
|
||||
00084 m_interface = ti.<a class="code" href="classwxAutoOleInterface.html#n0">m_interface</a>;
|
||||
00085 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
|
||||
00086 }
|
||||
00087
|
||||
<a name="l00090"></a><a class="code" href="classwxAutoOleInterface.html#a6">00090</a> <a class="code" href="classwxAutoOleInterface.html">wxAutoOleInterface<I></a>& <a class="code" href="classwxAutoOleInterface.html#a5">operator = </a>(I *&ti)
|
||||
00091 {
|
||||
00092 <a class="code" href="classwxAutoOleInterface.html#a8">Free</a>();
|
||||
00093 m_interface = ti;
|
||||
00094 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
|
||||
00095 }
|
||||
00096
|
||||
<a name="l00098"></a><a class="code" href="classwxAutoOleInterface.html#a7">00098</a> <a class="code" href="classwxAutoOleInterface.html#a7">~wxAutoOleInterface</a>()
|
||||
00099 {
|
||||
00100 <a class="code" href="classwxAutoOleInterface.html#a8">Free</a>();
|
||||
00101 };
|
||||
00102
|
||||
00103
|
||||
<a name="l00105"></a><a class="code" href="classwxAutoOleInterface.html#a8">00105</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classwxAutoOleInterface.html#a8">Free</a>()
|
||||
00106 {
|
||||
00107 <span class="keywordflow">if</span> (m_interface)
|
||||
00108 m_interface->Release();
|
||||
00109 m_interface = NULL;
|
||||
00110 };
|
||||
00111
|
||||
<a name="l00113"></a><a class="code" href="classwxAutoOleInterface.html#a9">00113</a> HRESULT <a class="code" href="classwxAutoOleInterface.html#a9">QueryInterface</a>(REFIID riid, IUnknown *pUnk)
|
||||
00114 {
|
||||
00115 <a class="code" href="classwxAutoOleInterface.html#a8">Free</a>();
|
||||
00116 wxASSERT(pUnk != NULL);
|
||||
00117 <span class="keywordflow">return</span> pUnk->QueryInterface(riid, (<span class="keywordtype">void</span> **) &m_interface);
|
||||
00118 };
|
||||
00119
|
||||
<a name="l00121"></a><a class="code" href="classwxAutoOleInterface.html#a10">00121</a> HRESULT <a class="code" href="classwxAutoOleInterface.html#a10">CreateInstance</a>(REFCLSID clsid, REFIID riid)
|
||||
00122 {
|
||||
00123 <a class="code" href="classwxAutoOleInterface.html#a8">Free</a>();
|
||||
00124 <span class="keywordflow">return</span> CoCreateInstance(clsid, NULL, CLSCTX_ALL, riid, (<span class="keywordtype">void</span> **) &m_interface);
|
||||
00125 };
|
||||
00126
|
||||
00127
|
||||
<a name="l00129"></a><a class="code" href="classwxAutoOleInterface.html#a11">00129</a> <span class="keyword">inline</span> <a class="code" href="classwxAutoOleInterface.html#a11">operator I *</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_interface;}
|
||||
00130
|
||||
<a name="l00132"></a><a class="code" href="classwxAutoOleInterface.html#a12">00132</a> <span class="keyword">inline</span> I* <a class="code" href="classwxAutoOleInterface.html#a12">operator -></a>() {<span class="keywordflow">return</span> m_interface;}
|
||||
<a name="l00134"></a><a class="code" href="classwxAutoOleInterface.html#a13">00134</a> <span class="keyword">inline</span> I** <a class="code" href="classwxAutoOleInterface.html#a13">GetRef</a>() {<span class="keywordflow">return</span> &m_interface;}
|
||||
<a name="l00136"></a><a class="code" href="classwxAutoOleInterface.html#a14">00136</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classwxAutoOleInterface.html#a14">Ok</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_interface != NULL;}
|
||||
00137 };
|
||||
00138
|
||||
00139
|
||||
00142 wxString <a class="code" href="wxactivex_8h.html#a13">OLEHResultToString</a>(HRESULT hr);
|
||||
00145 wxString <a class="code" href="wxactivex_8h.html#a14">GetIIDName</a>(REFIID riid);
|
||||
00146
|
||||
00147 <span class="comment">//#define __WXOLEDEBUG</span>
|
||||
00148
|
||||
00149
|
||||
00150 <span class="preprocessor">#ifdef __WXOLEDEBUG</span>
|
||||
00151 <span class="preprocessor"></span><span class="preprocessor"> #define WXOLE_TRACE(str) {OutputDebugString(str);OutputDebugString("\r\n");}</span>
|
||||
00152 <span class="preprocessor"></span><span class="preprocessor"> #define WXOLE_TRACEOUT(stuff)\</span>
|
||||
00153 <span class="preprocessor"> {\</span>
|
||||
00154 <span class="preprocessor"> wxString os;\</span>
|
||||
00155 <span class="preprocessor"> os << stuff << "\r\n";\</span>
|
||||
00156 <span class="preprocessor"> WXOLE_TRACE(os.mb_str());\</span>
|
||||
00157 <span class="preprocessor"> }</span>
|
||||
00158 <span class="preprocessor"></span>
|
||||
00159 <span class="preprocessor"> #define WXOLE_WARN(__hr,msg)\</span>
|
||||
00160 <span class="preprocessor"> {\</span>
|
||||
00161 <span class="preprocessor"> if (__hr != S_OK)\</span>
|
||||
00162 <span class="preprocessor"> {\</span>
|
||||
00163 <span class="preprocessor"> wxString s = "*** ";\</span>
|
||||
00164 <span class="preprocessor"> s += msg;\</span>
|
||||
00165 <span class="preprocessor"> s += " : "+ OLEHResultToString(__hr);\</span>
|
||||
00166 <span class="preprocessor"> WXOLE_TRACE(s.c_str());\</span>
|
||||
00167 <span class="preprocessor"> }\</span>
|
||||
00168 <span class="preprocessor"> }</span>
|
||||
00169 <span class="preprocessor"></span><span class="preprocessor">#else</span>
|
||||
00170 <span class="preprocessor"></span><span class="preprocessor"> #define WXOLE_TRACE(str)</span>
|
||||
00171 <span class="preprocessor"></span><span class="preprocessor"> #define WXOLE_TRACEOUT(stuff)</span>
|
||||
00172 <span class="preprocessor"></span><span class="preprocessor"> #define WXOLE_WARN(_proc,msg) {_proc;}</span>
|
||||
00173 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
|
||||
00174 <span class="preprocessor"></span>
|
||||
00175 <span class="keyword">class </span>wxOleInit
|
||||
00176 {
|
||||
00177 <span class="keyword">public</span>:
|
||||
00178 <span class="keyword">static</span> IMalloc *GetIMalloc();
|
||||
00179
|
||||
00180 wxOleInit();
|
||||
00181 ~wxOleInit();
|
||||
00182 };
|
||||
00183
|
||||
00184 <span class="preprocessor">#define DECLARE_OLE_UNKNOWN(cls)\</span>
|
||||
00185 <span class="preprocessor"> private:\</span>
|
||||
00186 <span class="preprocessor"> class TAutoInitInt\</span>
|
||||
00187 <span class="preprocessor"> {\</span>
|
||||
00188 <span class="preprocessor"> public:\</span>
|
||||
00189 <span class="preprocessor"> LONG l;\</span>
|
||||
00190 <span class="preprocessor"> TAutoInitInt() : l(0) {}\</span>
|
||||
00191 <span class="preprocessor"> };\</span>
|
||||
00192 <span class="preprocessor"> TAutoInitInt refCount, lockCount;\</span>
|
||||
00193 <span class="preprocessor"> wxOleInit oleInit;\</span>
|
||||
00194 <span class="preprocessor"> static void _GetInterface(cls *self, REFIID iid, void **_interface, const char *&desc);\</span>
|
||||
00195 <span class="preprocessor"> public:\</span>
|
||||
00196 <span class="preprocessor"> LONG GetRefCount();\</span>
|
||||
00197 <span class="preprocessor"> HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void ** ppvObject);\</span>
|
||||
00198 <span class="preprocessor"> ULONG STDMETHODCALLTYPE AddRef();\</span>
|
||||
00199 <span class="preprocessor"> ULONG STDMETHODCALLTYPE Release();\</span>
|
||||
00200 <span class="preprocessor"> ULONG STDMETHODCALLTYPE AddLock();\</span>
|
||||
00201 <span class="preprocessor"> ULONG STDMETHODCALLTYPE ReleaseLock()</span>
|
||||
00202 <span class="preprocessor"></span>
|
||||
00203 <span class="preprocessor">#define DEFINE_OLE_TABLE(cls)\</span>
|
||||
00204 <span class="preprocessor"> LONG cls::GetRefCount() {return refCount.l;}\</span>
|
||||
00205 <span class="preprocessor"> HRESULT STDMETHODCALLTYPE cls::QueryInterface(REFIID iid, void ** ppvObject)\</span>
|
||||
00206 <span class="preprocessor"> {\</span>
|
||||
00207 <span class="preprocessor"> if (! ppvObject)\</span>
|
||||
00208 <span class="preprocessor"> {\</span>
|
||||
00209 <span class="preprocessor"> WXOLE_TRACE("*** NULL POINTER ***");\</span>
|
||||
00210 <span class="preprocessor"> return E_FAIL;\</span>
|
||||
00211 <span class="preprocessor"> };\</span>
|
||||
00212 <span class="preprocessor"> const char *desc = NULL;\</span>
|
||||
00213 <span class="preprocessor"> cls::_GetInterface(this, iid, ppvObject, desc);\</span>
|
||||
00214 <span class="preprocessor"> if (! *ppvObject)\</span>
|
||||
00215 <span class="preprocessor"> {\</span>
|
||||
00216 <span class="preprocessor"> WXOLE_TRACEOUT("<" << GetIIDName(iid).c_str() << "> Not Found");\</span>
|
||||
00217 <span class="preprocessor"> return E_NOINTERFACE;\</span>
|
||||
00218 <span class="preprocessor"> };\</span>
|
||||
00219 <span class="preprocessor"> WXOLE_TRACEOUT("QI : <" << desc <<">");\</span>
|
||||
00220 <span class="preprocessor"> ((IUnknown * )(*ppvObject))->AddRef();\</span>
|
||||
00221 <span class="preprocessor"> return S_OK;\</span>
|
||||
00222 <span class="preprocessor"> };\</span>
|
||||
00223 <span class="preprocessor"> ULONG STDMETHODCALLTYPE cls::AddRef()\</span>
|
||||
00224 <span class="preprocessor"> {\</span>
|
||||
00225 <span class="preprocessor"> WXOLE_TRACEOUT(# cls << "::Add ref(" << refCount.l << ")");\</span>
|
||||
00226 <span class="preprocessor"> InterlockedIncrement(&refCount.l);\</span>
|
||||
00227 <span class="preprocessor"> return refCount.l;\</span>
|
||||
00228 <span class="preprocessor"> };\</span>
|
||||
00229 <span class="preprocessor"> ULONG STDMETHODCALLTYPE cls::Release()\</span>
|
||||
00230 <span class="preprocessor"> {\</span>
|
||||
00231 <span class="preprocessor"> if (refCount.l > 0)\</span>
|
||||
00232 <span class="preprocessor"> {\</span>
|
||||
00233 <span class="preprocessor"> InterlockedDecrement(&refCount.l);\</span>
|
||||
00234 <span class="preprocessor"> WXOLE_TRACEOUT(# cls << "::Del ref(" << refCount.l << ")");\</span>
|
||||
00235 <span class="preprocessor"> if (refCount.l == 0)\</span>
|
||||
00236 <span class="preprocessor"> {\</span>
|
||||
00237 <span class="preprocessor"> delete this;\</span>
|
||||
00238 <span class="preprocessor"> return 0;\</span>
|
||||
00239 <span class="preprocessor"> };\</span>
|
||||
00240 <span class="preprocessor"> return refCount.l;\</span>
|
||||
00241 <span class="preprocessor"> }\</span>
|
||||
00242 <span class="preprocessor"> else\</span>
|
||||
00243 <span class="preprocessor"> return 0;\</span>
|
||||
00244 <span class="preprocessor"> }\</span>
|
||||
00245 <span class="preprocessor"> ULONG STDMETHODCALLTYPE cls::AddLock()\</span>
|
||||
00246 <span class="preprocessor"> {\</span>
|
||||
00247 <span class="preprocessor"> WXOLE_TRACEOUT(# cls << "::Add Lock(" << lockCount.l << ")");\</span>
|
||||
00248 <span class="preprocessor"> InterlockedIncrement(&lockCount.l);\</span>
|
||||
00249 <span class="preprocessor"> return lockCount.l;\</span>
|
||||
00250 <span class="preprocessor"> };\</span>
|
||||
00251 <span class="preprocessor"> ULONG STDMETHODCALLTYPE cls::ReleaseLock()\</span>
|
||||
00252 <span class="preprocessor"> {\</span>
|
||||
00253 <span class="preprocessor"> if (lockCount.l > 0)\</span>
|
||||
00254 <span class="preprocessor"> {\</span>
|
||||
00255 <span class="preprocessor"> InterlockedDecrement(&lockCount.l);\</span>
|
||||
00256 <span class="preprocessor"> WXOLE_TRACEOUT(# cls << "::Del Lock(" << lockCount.l << ")");\</span>
|
||||
00257 <span class="preprocessor"> return lockCount.l;\</span>
|
||||
00258 <span class="preprocessor"> }\</span>
|
||||
00259 <span class="preprocessor"> else\</span>
|
||||
00260 <span class="preprocessor"> return 0;\</span>
|
||||
00261 <span class="preprocessor"> }\</span>
|
||||
00262 <span class="preprocessor"> DEFINE_OLE_BASE(cls)</span>
|
||||
00263 <span class="preprocessor"></span>
|
||||
00264 <span class="preprocessor">#define DEFINE_OLE_BASE(cls)\</span>
|
||||
00265 <span class="preprocessor"> void cls::_GetInterface(cls *self, REFIID iid, void **_interface, const char *&desc)\</span>
|
||||
00266 <span class="preprocessor"> {\</span>
|
||||
00267 <span class="preprocessor"> *_interface = NULL;\</span>
|
||||
00268 <span class="preprocessor"> desc = NULL;</span>
|
||||
00269 <span class="preprocessor"></span>
|
||||
00270 <span class="preprocessor">#define OLE_INTERFACE(_iid, _type)\</span>
|
||||
00271 <span class="preprocessor"> if (IsEqualIID(iid, _iid))\</span>
|
||||
00272 <span class="preprocessor"> {\</span>
|
||||
00273 <span class="preprocessor"> WXOLE_TRACE("Found Interface <" # _type ">");\</span>
|
||||
00274 <span class="preprocessor"> *_interface = (IUnknown *) (_type *) self;\</span>
|
||||
00275 <span class="preprocessor"> desc = # _iid;\</span>
|
||||
00276 <span class="preprocessor"> return;\</span>
|
||||
00277 <span class="preprocessor"> }</span>
|
||||
00278 <span class="preprocessor"></span>
|
||||
00279 <span class="preprocessor">#define OLE_IINTERFACE(_face) OLE_INTERFACE(IID_##_face, _face)</span>
|
||||
00280 <span class="preprocessor"></span>
|
||||
00281 <span class="preprocessor">#define OLE_INTERFACE_CUSTOM(func)\</span>
|
||||
00282 <span class="preprocessor"> if (func(self, iid, _interface, desc))\</span>
|
||||
00283 <span class="preprocessor"> {\</span>
|
||||
00284 <span class="preprocessor"> return;\</span>
|
||||
00285 <span class="preprocessor"> }</span>
|
||||
00286 <span class="preprocessor"></span>
|
||||
00287 <span class="preprocessor">#define END_OLE_TABLE\</span>
|
||||
00288 <span class="preprocessor"> }</span>
|
||||
00289 <span class="preprocessor"></span>
|
||||
00290
|
||||
00328
|
||||
<a name="l00329"></a><a class="code" href="classwxActiveX.html">00329</a> <span class="keyword">class </span><a class="code" href="classwxActiveX.html">wxActiveX</a> : <span class="keyword">public</span> wxWindow {
|
||||
00330 <span class="keyword">public</span>:
|
||||
<a name="l00333"></a><a class="code" href="classwxActiveX_1_1ParamX.html">00333</a> <span class="keyword">class </span><a class="code" href="classwxActiveX_1_1ParamX.html">ParamX</a>
|
||||
00334 {
|
||||
00335 <span class="keyword">public</span>:
|
||||
00336 USHORT flags;
|
||||
00337 <span class="keywordtype">bool</span> isPtr, isSafeArray;
|
||||
00338 VARTYPE vt;
|
||||
00339 wxString name;
|
||||
00340
|
||||
00341 <a class="code" href="classwxActiveX_1_1ParamX.html">ParamX</a>() : vt(VT_EMPTY) {}
|
||||
00342 <span class="keyword">inline</span> <span class="keywordtype">bool</span> IsIn()<span class="keyword"> const </span>{<span class="keywordflow">return</span> (flags & IDLFLAG_FIN) != 0;}
|
||||
00343 <span class="keyword">inline</span> <span class="keywordtype">bool</span> IsOut()<span class="keyword"> const </span>{<span class="keywordflow">return</span> (flags & IDLFLAG_FOUT) != 0;}
|
||||
00344 <span class="keyword">inline</span> <span class="keywordtype">bool</span> IsRetVal()<span class="keyword"> const </span>{<span class="keywordflow">return</span> (flags & IDLFLAG_FRETVAL) != 0;}
|
||||
00345 };
|
||||
00346 <span class="keyword">typedef</span> vector<ParamX> ParamXArray;
|
||||
00347
|
||||
<a name="l00350"></a><a class="code" href="classwxActiveX_1_1FuncX.html">00350</a> <span class="keyword">class </span><a class="code" href="classwxActiveX_1_1FuncX.html">FuncX</a>
|
||||
00351 {
|
||||
00352 <span class="keyword">public</span>:
|
||||
00353 wxString name;
|
||||
00354 MEMBERID memid;
|
||||
00355 <span class="keywordtype">bool</span> hasOut;
|
||||
00356
|
||||
00357 <a class="code" href="classwxActiveX_1_1ParamX.html">ParamX</a> retType;
|
||||
00358 ParamXArray params;
|
||||
00359 };
|
||||
00360
|
||||
<a name="l00362"></a><a class="code" href="classwxActiveX_1_1PropX.html">00362</a> <span class="keyword">class </span><a class="code" href="classwxActiveX_1_1PropX.html">PropX</a>
|
||||
00363 {
|
||||
00364 <span class="keyword">public</span>:
|
||||
00365 wxString name;
|
||||
00366 MEMBERID memid;
|
||||
00367 <a class="code" href="classwxActiveX_1_1ParamX.html">ParamX</a> type;
|
||||
00368 <a class="code" href="classwxActiveX_1_1ParamX.html">ParamX</a> arg;
|
||||
00369 <span class="keywordtype">bool</span> putByRef;
|
||||
00370
|
||||
00371 <a class="code" href="classwxActiveX_1_1PropX.html">PropX</a>() : putByRef (<span class="keyword">false</span>) {}
|
||||
00372 <span class="keyword">inline</span> <span class="keywordtype">bool</span> CanGet()<span class="keyword"> const </span>{<span class="keywordflow">return</span> type.<a class="code" href="classwxActiveX_1_1ParamX.html#m3">vt</a> != VT_EMPTY;}
|
||||
00373 <span class="keyword">inline</span> <span class="keywordtype">bool</span> CanSet()<span class="keyword"> const </span>{<span class="keywordflow">return</span> arg.<a class="code" href="classwxActiveX_1_1ParamX.html#m3">vt</a> != VT_EMPTY;}
|
||||
00374 };
|
||||
00375
|
||||
00377 <a class="code" href="classwxActiveX.html#a0">wxActiveX</a>(wxWindow * parent, REFCLSID clsid, wxWindowID id = -1,
|
||||
00378 <span class="keyword">const</span> wxPoint& pos = wxDefaultPosition,
|
||||
00379 <span class="keyword">const</span> wxSize& size = wxDefaultSize,
|
||||
00380 <span class="keywordtype">long</span> style = 0,
|
||||
00381 <span class="keyword">const</span> wxString& name = wxPanelNameStr);
|
||||
00383 <a class="code" href="classwxActiveX.html#a0">wxActiveX</a>(wxWindow * parent, wxString progId, wxWindowID id = -1,
|
||||
00384 <span class="keyword">const</span> wxPoint& pos = wxDefaultPosition,
|
||||
00385 <span class="keyword">const</span> wxSize& size = wxDefaultSize,
|
||||
00386 <span class="keywordtype">long</span> style = 0,
|
||||
00387 <span class="keyword">const</span> wxString& name = wxPanelNameStr);
|
||||
00388 <span class="keyword">virtual</span> ~<a class="code" href="classwxActiveX.html">wxActiveX</a>();
|
||||
00389
|
||||
<a name="l00391"></a><a class="code" href="classwxActiveX.html#a3">00391</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classwxActiveX.html#a3">GetEventCount</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_events.size();}
|
||||
00394 <span class="keyword">const</span> FuncX& <a class="code" href="classwxActiveX.html#a4">GetEventDesc</a>(<span class="keywordtype">int</span> idx) <span class="keyword">const</span>;
|
||||
00395
|
||||
<a name="l00397"></a><a class="code" href="classwxActiveX.html#a5">00397</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classwxActiveX.html#a5">GetPropCount</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_props.size();}
|
||||
00400 <span class="keyword">const</span> PropX& <a class="code" href="classwxActiveX.html#a6">GetPropDesc</a>(<span class="keywordtype">int</span> idx) <span class="keyword">const</span>;
|
||||
00403 <span class="keyword">const</span> PropX& <a class="code" href="classwxActiveX.html#a6">GetPropDesc</a>(wxString name) <span class="keyword">const</span>;
|
||||
00404
|
||||
<a name="l00406"></a><a class="code" href="classwxActiveX.html#a8">00406</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classwxActiveX.html#a8">GetMethodCount</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_methods.size();}
|
||||
00409 <span class="keyword">const</span> FuncX& <a class="code" href="classwxActiveX.html#a9">GetMethodDesc</a>(<span class="keywordtype">int</span> idx) <span class="keyword">const</span>;
|
||||
00412 <span class="keyword">const</span> FuncX& <a class="code" href="classwxActiveX.html#a9">GetMethodDesc</a>(wxString name) <span class="keyword">const</span>;
|
||||
00413
|
||||
00415 <span class="keywordtype">void</span> <a class="code" href="classwxActiveX.html#a11">SetProp</a>(MEMBERID name, VARIANTARG& value);
|
||||
00417 <span class="keywordtype">void</span> <a class="code" href="classwxActiveX.html#a11">SetProp</a>(<span class="keyword">const</span> wxString &name, <span class="keyword">const</span> wxVariant &value);
|
||||
00418
|
||||
00419 <span class="keyword">class </span>wxPropertySetter
|
||||
00420 {
|
||||
00421 <span class="keyword">public</span>:
|
||||
00422 <a class="code" href="classwxActiveX.html">wxActiveX</a> *m_ctl;
|
||||
00423 wxString m_propName;
|
||||
00424
|
||||
00425 wxPropertySetter(<a class="code" href="classwxActiveX.html">wxActiveX</a> *ctl, wxString propName) :
|
||||
00426 m_ctl(ctl), m_propName(propName) {}
|
||||
00427
|
||||
00428 <span class="keyword">inline</span> <span class="keyword">const</span> wxPropertySetter& operator = (wxVariant v)<span class="keyword"> const</span>
|
||||
00429 <span class="keyword"> </span>{
|
||||
00430 m_ctl-><a class="code" href="classwxActiveX.html#a11">SetProp</a>(m_propName, v);
|
||||
00431 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
|
||||
00432 };
|
||||
00433
|
||||
00434 <span class="keyword">inline</span> operator wxVariant()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_ctl-><a class="code" href="classwxActiveX.html#a16">GetPropAsWxVariant</a>(m_propName);};
|
||||
00435 <span class="keyword">inline</span> operator wxString()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_ctl-><a class="code" href="classwxActiveX.html#a17">GetPropAsString</a>(m_propName);};
|
||||
00436 <span class="keyword">inline</span> operator char()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_ctl-><a class="code" href="classwxActiveX.html#a18">GetPropAsChar</a>(m_propName);};
|
||||
00437 <span class="keyword">inline</span> operator long()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_ctl-><a class="code" href="classwxActiveX.html#a19">GetPropAsLong</a>(m_propName);};
|
||||
00438 <span class="keyword">inline</span> operator bool()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_ctl-><a class="code" href="classwxActiveX.html#a20">GetPropAsBool</a>(m_propName);};
|
||||
00439 <span class="keyword">inline</span> operator double()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_ctl-><a class="code" href="classwxActiveX.html#a21">GetPropAsDouble</a>(m_propName);};
|
||||
00440 <span class="keyword">inline</span> operator wxDateTime()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_ctl-><a class="code" href="classwxActiveX.html#a22">GetPropAsDateTime</a>(m_propName);};
|
||||
00441 <span class="keyword">inline</span> operator void *()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_ctl-><a class="code" href="classwxActiveX.html#a23">GetPropAsPointer</a>(m_propName);};
|
||||
00442 };
|
||||
00443
|
||||
<a name="l00458"></a><a class="code" href="classwxActiveX.html#a13">00458</a> <span class="keyword">inline</span> wxPropertySetter <a class="code" href="classwxActiveX.html#a13">Prop</a>(wxString name) {<span class="keywordflow">return</span> wxPropertySetter(<span class="keyword">this</span>, name);}
|
||||
00459
|
||||
00460 VARIANT GetPropAsVariant(MEMBERID name);
|
||||
00461 VARIANT GetPropAsVariant(<span class="keyword">const</span> wxString& name);
|
||||
00462 wxVariant GetPropAsWxVariant(<span class="keyword">const</span> wxString& name);
|
||||
00463 wxString GetPropAsString(<span class="keyword">const</span> wxString& name);
|
||||
00464 <span class="keywordtype">char</span> GetPropAsChar(<span class="keyword">const</span> wxString& name);
|
||||
00465 <span class="keywordtype">long</span> GetPropAsLong(<span class="keyword">const</span> wxString& name);
|
||||
00466 <span class="keywordtype">bool</span> GetPropAsBool(<span class="keyword">const</span> wxString& name);
|
||||
00467 <span class="keywordtype">double</span> GetPropAsDouble(<span class="keyword">const</span> wxString& name);
|
||||
00468 wxDateTime GetPropAsDateTime(<span class="keyword">const</span> wxString& name);
|
||||
00469 <span class="keywordtype">void</span> *GetPropAsPointer(<span class="keyword">const</span> wxString& name);
|
||||
00470
|
||||
00471 <span class="comment">// methods</span>
|
||||
00472 <span class="comment">// VARIANTARG form is passed straight to Invoke, </span>
|
||||
00473 <span class="comment">// so args in *REVERSE* order</span>
|
||||
00474 VARIANT <a class="code" href="classwxActiveX.html#a26">CallMethod</a>(MEMBERID name, VARIANTARG args[], <span class="keywordtype">int</span> argc);
|
||||
00475 VARIANT <a class="code" href="classwxActiveX.html#a26">CallMethod</a>(wxString name, VARIANTARG args[] = NULL, <span class="keywordtype">int</span> argc = -1);
|
||||
00476 <span class="comment">// args are in *NORMAL* order</span>
|
||||
00477 <span class="comment">// args can be a single wxVariant or an array</span>
|
||||
00493 <span class="comment"> wxVariant CallMethod(wxString name, wxVariant args[], int nargs = -1);</span>
|
||||
00494
|
||||
00495 HRESULT ConnectAdvise(REFIID riid, IUnknown *eventSink);
|
||||
00496
|
||||
00497 <span class="keywordtype">void</span> OnSize(wxSizeEvent&);
|
||||
00498 <span class="keywordtype">void</span> OnPaint(wxPaintEvent& event);
|
||||
00499 <span class="keywordtype">void</span> OnMouse(wxMouseEvent& event);
|
||||
00500 <span class="keywordtype">void</span> OnSetFocus(wxFocusEvent&);
|
||||
00501 <span class="keywordtype">void</span> OnKillFocus(wxFocusEvent&);
|
||||
00502
|
||||
00503 DECLARE_EVENT_TABLE();
|
||||
00504
|
||||
00505 <span class="keyword">protected</span>:
|
||||
00506 <span class="keyword">friend</span> <span class="keyword">class </span>FrameSite;
|
||||
00507 <span class="keyword">friend</span> <span class="keyword">class </span>wxActiveXEvents;
|
||||
00508
|
||||
00509 <span class="keyword">typedef</span> map<MEMBERID, FuncX> FuncXMap;
|
||||
00510 <span class="keyword">typedef</span> map<wxString, FuncX, NS_wxActiveX::less_wxStringI> FuncXStringMap;
|
||||
00511 <span class="keyword">typedef</span> map<wxString, PropX, NS_wxActiveX::less_wxStringI> PropXMap;
|
||||
00512 <span class="keyword">typedef</span> <a class="code" href="classwxAutoOleInterface.html">wxAutoOleInterface<IConnectionPoint></a> wxOleConnectionPoint;
|
||||
00513 <span class="keyword">typedef</span> pair<wxOleConnectionPoint, DWORD> wxOleConnection;
|
||||
00514 <span class="keyword">typedef</span> vector<wxOleConnection> wxOleConnectionArray;
|
||||
00515
|
||||
00516 <a class="code" href="classwxAutoOleInterface.html">wxAutoOleInterface<IDispatch></a> m_Dispatch;
|
||||
00517 <a class="code" href="classwxAutoOleInterface.html">wxAutoOleInterface<IOleClientSite></a> m_clientSite;
|
||||
00518 <a class="code" href="classwxAutoOleInterface.html">wxAutoOleInterface<IUnknown></a> m_ActiveX;
|
||||
00519 <a class="code" href="classwxAutoOleInterface.html">wxAutoOleInterface<IOleObject></a> m_oleObject;
|
||||
00520 <a class="code" href="classwxAutoOleInterface.html">wxAutoOleInterface<IOleInPlaceObject></a> m_oleInPlaceObject;
|
||||
00521 <a class="code" href="classwxAutoOleInterface.html">wxAutoOleInterface<IOleInPlaceActiveObject></a>
|
||||
00522
|
||||
00523 m_oleInPlaceActiveObject;
|
||||
00524 <a class="code" href="classwxAutoOleInterface.html">wxAutoOleInterface<IOleDocumentView></a> m_docView;
|
||||
00525 <a class="code" href="classwxAutoOleInterface.html">wxAutoOleInterface<IViewObject></a> m_viewObject;
|
||||
00526 HWND m_oleObjectHWND;
|
||||
00527 <span class="keywordtype">bool</span> m_bAmbientUserMode;
|
||||
00528 DWORD m_docAdviseCookie;
|
||||
00529 wxOleConnectionArray m_connections;
|
||||
00530
|
||||
00531 <span class="keywordtype">void</span> CreateActiveX(REFCLSID clsid);
|
||||
00532 <span class="keywordtype">void</span> CreateActiveX(LPOLESTR progId);
|
||||
00533 HRESULT AmbientPropertyChanged(DISPID dispid);
|
||||
00534
|
||||
00535 <span class="keywordtype">void</span> GetTypeInfo();
|
||||
00536 <span class="keywordtype">void</span> GetTypeInfo(ITypeInfo *ti, <span class="keywordtype">bool</span> defInterface, <span class="keywordtype">bool</span> defEventSink);
|
||||
00537
|
||||
00538
|
||||
00539 <span class="comment">// events</span>
|
||||
00540 FuncXMap m_events;
|
||||
00541
|
||||
00542 <span class="comment">// properties</span>
|
||||
00543 PropXMap m_props;
|
||||
00544
|
||||
00545 <span class="comment">// Methods</span>
|
||||
00546 FuncXStringMap m_methods;
|
||||
00547
|
||||
00548 <span class="keywordtype">long</span> MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
|
||||
00549 };
|
||||
00550
|
||||
00551 <span class="comment">// events</span>
|
||||
00552 <span class="keyword">class </span>wxActiveXEvent : <span class="keyword">public</span> wxCommandEvent
|
||||
00553 {
|
||||
00554 <span class="keyword">private</span>:
|
||||
00555 <span class="keyword">friend</span> <span class="keyword">class </span>wxActiveXEvents;
|
||||
00556
|
||||
00557 wxVariant m_params;
|
||||
00558
|
||||
00559 <span class="keyword">public</span>:
|
||||
00560
|
||||
00561 <span class="keyword">virtual</span> wxEvent *Clone()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> wxActiveXEvent(*<span class="keyword">this</span>); }
|
||||
00562
|
||||
00563 wxString EventName();
|
||||
00564 <span class="keywordtype">int</span> ParamCount() <span class="keyword">const</span>;
|
||||
00565 wxString ParamType(<span class="keywordtype">int</span> idx);
|
||||
00566 wxString ParamName(<span class="keywordtype">int</span> idx);
|
||||
00567 wxVariant& operator[] (<span class="keywordtype">int</span> idx);
|
||||
00568 wxVariant& operator[] (wxString name);
|
||||
00569 };
|
||||
00570
|
||||
00571 <span class="keyword">const</span> wxEventType& RegisterActiveXEvent(<span class="keyword">const</span> wxChar *eventName);
|
||||
00572 <span class="keyword">const</span> wxEventType& RegisterActiveXEvent(DISPID event);
|
||||
00573
|
||||
00574 <span class="keyword">typedef</span> void (wxEvtHandler::*wxActiveXEventFunction)(wxActiveXEvent&);
|
||||
00575
|
||||
<a name="l00578"></a><a class="code" href="wxactivex_8h.html#a10">00578</a> <span class="preprocessor">#define EVT_ACTIVEX(id, eventName, fn) DECLARE_EVENT_TABLE_ENTRY(RegisterActiveXEvent(wxT(eventName)), id, -1, (wxObjectEventFunction) (wxEventFunction) (wxActiveXEventFunction) & fn, (wxObject *) NULL ),</span>
|
||||
<a name="l00581"></a><a class="code" href="wxactivex_8h.html#a11">00581</a> <span class="preprocessor">#define EVT_ACTIVEX_DISPID(id, eventDispId, fn) DECLARE_EVENT_TABLE_ENTRY(RegisterActiveXEvent(eventDispId), id, -1, (wxObjectEventFunction) (wxEventFunction) (wxActiveXEventFunction) & fn, (wxObject *) NULL ),</span>
|
||||
00582 <span class="preprocessor"></span>
|
||||
00583 <span class="comment">//util</span>
|
||||
00584 <span class="keywordtype">bool</span> wxDateTimeToVariant(wxDateTime dt, VARIANTARG& va);
|
||||
00585 <span class="keywordtype">bool</span> VariantToWxDateTime(VARIANTARG va, wxDateTime& dt);
|
||||
00596 <span class="keywordtype">bool</span> MSWVariantToVariant(VARIANTARG& va, wxVariant& vx);
|
||||
00607 <span class="keywordtype">bool</span> VariantToMSWVariant(<span class="keyword">const</span> wxVariant& vx, VARIANTARG& va);
|
||||
00608
|
||||
00609 <span class="preprocessor">#endif </span><span class="comment">/* _IEHTMLWIN_H_ */</span>
|
||||
</pre></div><hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
216
wxPython/contrib/activex/wxie/doxydoc/wxactivex_8h.html
Normal file
216
wxPython/contrib/activex/wxie/doxydoc/wxactivex_8h.html
Normal file
@@ -0,0 +1,216 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>wxactivex.h File Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.3-rc3 -->
|
||||
<center>
|
||||
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
|
||||
<hr><h1>wxactivex.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
implements <a class="el" href="classwxActiveX.html">wxActiveX</a> window class and OLE tools
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition in file <a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>.
|
||||
<p>
|
||||
<code>#include <wx/setup.h></code><br>
|
||||
<code>#include <wx/wx.h></code><br>
|
||||
<code>#include <wx/variant.h></code><br>
|
||||
<code>#include <wx/datetime.h></code><br>
|
||||
<code>#include <oleidl.h></code><br>
|
||||
<code>#include <exdisp.h></code><br>
|
||||
<code>#include <docobj.h></code><br>
|
||||
<code>#include <iostream></code><br>
|
||||
<code>#include <vector></code><br>
|
||||
<code>#include <map></code><br>
|
||||
|
||||
<p>
|
||||
<a href="wxactivex_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan=2><br><h2>Namespaces</h2></td></tr>
|
||||
<tr><td nowrap align=right valign=top>namespace </td><td valign=bottom><a class="el" href="namespaceNS__wxActiveX.html">NS_wxActiveX</a></td></tr>
|
||||
<tr><td nowrap align=right valign=top>namespace </td><td valign=bottom><b>std</b></td></tr>
|
||||
<tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
|
||||
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classwxAutoOleInterface.html">wxAutoOleInterface</a></td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Template class for smart interface handling.</em> <a href="classwxAutoOleInterface.html#_details">More...</a><em></em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classwxActiveX.html">wxActiveX</a></td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Main class for embedding a ActiveX control.</em> <a href="classwxActiveX.html#_details">More...</a><em></em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classwxActiveX_1_1ParamX.html">ParamX</a></td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>General parameter and return type infoformation for Events, Properties and Methods.</em> <a href="classwxActiveX_1_1ParamX.html#_details">More...</a><em></em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classwxActiveX_1_1FuncX.html">FuncX</a></td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Type & Parameter info for Events and Methods.</em> <a href="classwxActiveX_1_1FuncX.html#_details">More...</a><em></em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classwxActiveX_1_1PropX.html">PropX</a></td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Type info for properties.</em> <a href="classwxActiveX_1_1PropX.html#_details">More...</a><em></em></font><br><br></td></tr>
|
||||
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a10" doxytag="wxactivex.h::EVT_ACTIVEX"></a>
|
||||
#define </td><td valign=bottom><a class="el" href="wxactivex_8h.html#a10">EVT_ACTIVEX</a>(id, eventName, fn) DECLARE_EVENT_TABLE_ENTRY(RegisterActiveXEvent(wxT(eventName)), id, -1, (wxObjectEventFunction) (wxEventFunction) (wxActiveXEventFunction) & fn, (wxObject *) NULL ),</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Event handle for events by name.</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a11" doxytag="wxactivex.h::EVT_ACTIVEX_DISPID"></a>
|
||||
#define </td><td valign=bottom><a class="el" href="wxactivex_8h.html#a11">EVT_ACTIVEX_DISPID</a>(id, eventDispId, fn) DECLARE_EVENT_TABLE_ENTRY(RegisterActiveXEvent(eventDispId), id, -1, (wxObjectEventFunction) (wxEventFunction) (wxActiveXEventFunction) & fn, (wxObject *) NULL ),</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Event handle for events by DISPID (dispath id).</em></font><br><br></td></tr>
|
||||
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a13" doxytag="wxactivex.h::OLEHResultToString"></a>
|
||||
wxString </td><td valign=bottom><a class="el" href="wxactivex_8h.html#a13">OLEHResultToString</a> (HRESULT hr)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Converts a std HRESULT to its error code. Hardcoded, by no means a definitive list.</em></font><br><br></td></tr>
|
||||
<tr><td nowrap align=right valign=top><a name="a14" doxytag="wxactivex.h::GetIIDName"></a>
|
||||
wxString </td><td valign=bottom><a class="el" href="wxactivex_8h.html#a14">GetIIDName</a> (REFIID riid)</td></tr>
|
||||
<tr><td> </td><td><font size=-1><em>Returns the string description of a IID. Hardcoded, by no means a definitive list.</em></font><br><br></td></tr>
|
||||
</table>
|
||||
<hr><h2>Define Documentation</h2>
|
||||
<a name="a3" doxytag="wxactivex.h::DECLARE_OLE_UNKNOWN"></a><p>
|
||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> #define DECLARE_OLE_UNKNOWN</td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">cls </td>
|
||||
<td class="mdname1" valign="top" nowrap> </td>
|
||||
<td class="md" valign="top">) </td>
|
||||
<td class="md" nowrap>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing=5 cellpadding=0 border=0>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<p>
|
||||
<b>Value:</b><div class="fragment"><pre><span class="keyword">private</span>:\
|
||||
<span class="keyword">class </span>TAutoInitInt\
|
||||
{\
|
||||
<span class="keyword">public</span>:\
|
||||
LONG l;\
|
||||
TAutoInitInt() : l(0) {}\
|
||||
};\
|
||||
TAutoInitInt refCount, lockCount;\
|
||||
wxOleInit oleInit;\
|
||||
<span class="keyword">static</span> <span class="keywordtype">void</span> _GetInterface(cls *self, REFIID iid, <span class="keywordtype">void</span> **_interface, <span class="keyword">const</span> <span class="keywordtype">char</span> *&desc);\
|
||||
<span class="keyword">public</span>:\
|
||||
LONG GetRefCount();\
|
||||
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, <span class="keywordtype">void</span> ** ppvObject);\
|
||||
ULONG STDMETHODCALLTYPE AddRef();\
|
||||
ULONG STDMETHODCALLTYPE Release();\
|
||||
ULONG STDMETHODCALLTYPE AddLock();\
|
||||
ULONG STDMETHODCALLTYPE ReleaseLock()
|
||||
</pre></div>
|
||||
<p>
|
||||
Definition at line <a class="el" href="wxactivex_8h-source.html#l00184">184</a> of file <a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>. </td>
|
||||
</tr>
|
||||
</table>
|
||||
<a name="a5" doxytag="wxactivex.h::DEFINE_OLE_BASE"></a><p>
|
||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> #define DEFINE_OLE_BASE</td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">cls </td>
|
||||
<td class="mdname1" valign="top" nowrap> </td>
|
||||
<td class="md" valign="top">) </td>
|
||||
<td class="md" nowrap>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing=5 cellpadding=0 border=0>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<p>
|
||||
<b>Value:</b><div class="fragment"><pre><span class="keywordtype">void</span> cls::_GetInterface(cls *self, REFIID iid, <span class="keywordtype">void</span> **_interface, <span class="keyword">const</span> <span class="keywordtype">char</span> *&desc)\
|
||||
{\
|
||||
*_interface = NULL;\
|
||||
desc = NULL;
|
||||
</pre></div>
|
||||
<p>
|
||||
Definition at line <a class="el" href="wxactivex_8h-source.html#l00264">264</a> of file <a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>. </td>
|
||||
</tr>
|
||||
</table>
|
||||
<a name="a6" doxytag="wxactivex.h::OLE_INTERFACE"></a><p>
|
||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> #define OLE_INTERFACE</td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">_iid, <tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td class="md" nowrap>_type </td>
|
||||
<td class="mdname1" valign="top" nowrap> </td>
|
||||
<td class="md" valign="top">) </td>
|
||||
<td class="md" nowrap>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing=5 cellpadding=0 border=0>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<p>
|
||||
<b>Value:</b><div class="fragment"><pre><span class="keywordflow">if</span> (IsEqualIID(iid, _iid))\
|
||||
{\
|
||||
WXOLE_TRACE(<span class="stringliteral">"Found Interface <"</span> # _type <span class="stringliteral">">"</span>);\
|
||||
*_interface = (IUnknown *) (_type *) self;\
|
||||
desc = # _iid;\
|
||||
<span class="keywordflow">return</span>;\
|
||||
}
|
||||
</pre></div>
|
||||
<p>
|
||||
Definition at line <a class="el" href="wxactivex_8h-source.html#l00270">270</a> of file <a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>. </td>
|
||||
</tr>
|
||||
</table>
|
||||
<a name="a8" doxytag="wxactivex.h::OLE_INTERFACE_CUSTOM"></a><p>
|
||||
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td class="md" nowrap valign="top"> #define OLE_INTERFACE_CUSTOM</td>
|
||||
<td class="md" valign="top">( </td>
|
||||
<td class="md" nowrap valign="top">func </td>
|
||||
<td class="mdname1" valign="top" nowrap> </td>
|
||||
<td class="md" valign="top">) </td>
|
||||
<td class="md" nowrap>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing=5 cellpadding=0 border=0>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<p>
|
||||
<b>Value:</b><div class="fragment"><pre><span class="keywordflow">if</span> (func(self, iid, _interface, desc))\
|
||||
{\
|
||||
<span class="keywordflow">return</span>;\
|
||||
}
|
||||
</pre></div>
|
||||
<p>
|
||||
Definition at line <a class="el" href="wxactivex_8h-source.html#l00281">281</a> of file <a class="el" href="wxactivex_8h-source.html">wxactivex.h</a>. </td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr><address style="align: right;"><small>Generated on Tue Apr 1 14:51:12 2003 for wxActiveX by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
||||
width=110 height=53></a>1.3-rc3 </small></address>
|
||||
</body>
|
||||
</html>
|
39
wxPython/contrib/activex/wxie/latex/Makefile
Normal file
39
wxPython/contrib/activex/wxie/latex/Makefile
Normal file
@@ -0,0 +1,39 @@
|
||||
all: refman.dvi
|
||||
|
||||
ps: refman.ps
|
||||
|
||||
pdf: refman.pdf
|
||||
|
||||
ps_2on1: refman_2on1.ps
|
||||
|
||||
pdf_2on1: refman_2on1.pdf
|
||||
|
||||
refman.ps: refman.dvi
|
||||
dvips -o refman.ps refman.dvi
|
||||
|
||||
refman.pdf: refman.ps
|
||||
gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=refman.pdf -c save pop -f refman.ps
|
||||
|
||||
refman.dvi: refman.tex doxygen.sty
|
||||
echo "Running latex..."
|
||||
latex refman.tex
|
||||
echo "Running makeindex..."
|
||||
makeindex refman.idx
|
||||
echo "Rerunning latex...."
|
||||
latex refman.tex
|
||||
latex_count=5 ; \
|
||||
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
|
||||
do \
|
||||
echo "Rerunning latex...." ;\
|
||||
latex refman.tex ;\
|
||||
latex_count=`expr $$latex_count - 1` ;\
|
||||
done
|
||||
|
||||
refman_2on1.ps: refman.ps
|
||||
psnup -2 refman.ps >refman_2on1.ps
|
||||
|
||||
refman_2on1.pdf: refman_2on1.ps
|
||||
gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=refman_2on1.pdf -c save pop -f refman_2on1.ps
|
||||
|
||||
clean:
|
||||
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out
|
9
wxPython/contrib/activex/wxie/latex/annotated.tex
Normal file
9
wxPython/contrib/activex/wxie/latex/annotated.tex
Normal file
@@ -0,0 +1,9 @@
|
||||
\section{wx\-Active\-X Data Structures}
|
||||
Here are the data structures with brief descriptions:\begin{CompactList}
|
||||
\item\contentsline{section}{{\bf NS\_\-wx\-Active\-X::less\_\-wx\-String\-I} (STL utilty class)}{\pageref{structNS__wxActiveX_1_1less__wxStringI}}{}
|
||||
\item\contentsline{section}{{\bf wx\-Active\-X} (Main class for embedding a Active\-X control)}{\pageref{classwxActiveX}}{}
|
||||
\item\contentsline{section}{{\bf wx\-Active\-X::Func\-X} (Type \& Parameter info for Events and Methods)}{\pageref{classwxActiveX_1_1FuncX}}{}
|
||||
\item\contentsline{section}{{\bf wx\-Active\-X::Param\-X} (General parameter and return type infoformation for Events, Properties and Methods)}{\pageref{classwxActiveX_1_1ParamX}}{}
|
||||
\item\contentsline{section}{{\bf wx\-Active\-X::Prop\-X} (Type info for properties)}{\pageref{classwxActiveX_1_1PropX}}{}
|
||||
\item\contentsline{section}{{\bf wx\-Auto\-Ole\-Interface$<$ I $>$} (Template class for smart interface handling)}{\pageref{classwxAutoOleInterface}}{}
|
||||
\end{CompactList}
|
285
wxPython/contrib/activex/wxie/latex/classwxActiveX.tex
Normal file
285
wxPython/contrib/activex/wxie/latex/classwxActiveX.tex
Normal file
@@ -0,0 +1,285 @@
|
||||
\section{wx\-Active\-X Class Reference}
|
||||
\label{classwxActiveX}\index{wxActiveX@{wxActiveX}}
|
||||
{\tt \#include $<$wxactivex.h$>$}
|
||||
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
Main class for embedding a Active\-X control.
|
||||
|
||||
Use by itself or derive from it \begin{Desc}
|
||||
\item[Note:]The utility program (wxie) can generate a list of events, methods \& properties for a control. First display the control (File$|$Display), then get the type info (Active\-X$|$Get Type Info) - these are copied to the clipboard. Eventually this will be expanded to autogenerate wx\-Windows source files for a control with all methods etc encapsulated. \end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Usage: ]construct using a Prog\-Id or class id
|
||||
|
||||
\footnotesize\begin{verbatim} new wxActiveX(parent, CLSID_WebBrowser, id, pos, size, style, name)
|
||||
\end{verbatim}\normalsize
|
||||
|
||||
|
||||
\footnotesize\begin{verbatim} new wxActiveX(parent, "ShockwaveFlash.ShockwaveFlash", id, pos, size, style, name)
|
||||
\end{verbatim}\normalsize
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Properties]Properties can be set using {\tt {\bf Set\-Prop()}} and set/retrieved using {\tt {\bf Prop()}}
|
||||
|
||||
\footnotesize\begin{verbatim} SetProp(name, wxVariant(x))
|
||||
\end{verbatim}\normalsize
|
||||
or
|
||||
|
||||
\footnotesize\begin{verbatim} wxString Prop("<name>") = x
|
||||
\end{verbatim}\normalsize
|
||||
|
||||
|
||||
\footnotesize\begin{verbatim} wxString result = Prop("<name>")
|
||||
\end{verbatim}\normalsize
|
||||
|
||||
|
||||
\footnotesize\begin{verbatim} flash_ctl.Prop("movie") = "file:///movies/test.swf";
|
||||
\end{verbatim}\normalsize
|
||||
|
||||
|
||||
\footnotesize\begin{verbatim} flash_ctl.Prop("Playing") = false;
|
||||
\end{verbatim}\normalsize
|
||||
|
||||
|
||||
\footnotesize\begin{verbatim} wxString current_movie = flash_ctl.Prop("movie");
|
||||
\end{verbatim}\normalsize
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Methods]Methods are invoked with {\tt {\bf Call\-Method()}}
|
||||
|
||||
\footnotesize\begin{verbatim} wxVariant result = CallMethod("<name>", args, nargs = -1)
|
||||
\end{verbatim}\normalsize
|
||||
|
||||
|
||||
\footnotesize\begin{verbatim} wxVariant args[] = {0L, "file:///e:/dev/wxie/bug-zap.swf"};
|
||||
wxVariant result = X->CallMethod("LoadMovie", args);
|
||||
\end{verbatim}\normalsize
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[events]respond to events with the {\tt {\bf EVT\_\-ACTIVEX(control\-Id, event\-Name, handler)}} \& {\tt {\bf EVT\_\-ACTIVEX\_\-DISPID(control\-Id, event\-Disp\-Id, handler)}} macros
|
||||
|
||||
\footnotesize\begin{verbatim}
|
||||
BEGIN_EVENT_TABLE(wxIEFrame, wxFrame)
|
||||
EVT_ACTIVEX_DISPID(ID_MSHTML, DISPID_STATUSTEXTCHANGE, OnMSHTMLStatusTextChangeX)
|
||||
EVT_ACTIVEX(ID_MSHTML, "BeforeNavigate2", OnMSHTMLBeforeNavigate2X)
|
||||
EVT_ACTIVEX(ID_MSHTML, "TitleChange", OnMSHTMLTitleChangeX)
|
||||
EVT_ACTIVEX(ID_MSHTML, "NewWindow2", OnMSHTMLNewWindow2X)
|
||||
EVT_ACTIVEX(ID_MSHTML, "ProgressChange", OnMSHTMLProgressChangeX)
|
||||
END_EVENT_TABLE()
|
||||
\end{verbatim}\normalsize
|
||||
\end{Desc}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 329 of file wxactivex.h.\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\index{wxActiveX@{wxActiveX}!wxActiveX@{wxActiveX}}\index{wxActiveX@{wxActiveX}!wxActiveX@{wxActiveX}}
|
||||
{\bf wx\-Active\-X} (wx\-Window $\ast$parent, REFCLSID clsid, wx\-Window\-ID id=-1, const wx\-Point \&pos=wx\-Default\-Position, const wx\-Size \&size=wx\-Default\-Size, long style=0, const wx\-String \&name=wx\-Panel\-Name\-Str)\label{classwxActiveX_a0}
|
||||
|
||||
\begin{CompactList}\small\item\em Create using clsid.\item\end{CompactList}\item
|
||||
\index{wxActiveX@{wxActiveX}!wxActiveX@{wxActiveX}}\index{wxActiveX@{wxActiveX}!wxActiveX@{wxActiveX}}
|
||||
{\bf wx\-Active\-X} (wx\-Window $\ast$parent, wx\-String prog\-Id, wx\-Window\-ID id=-1, const wx\-Point \&pos=wx\-Default\-Position, const wx\-Size \&size=wx\-Default\-Size, long style=0, const wx\-String \&name=wx\-Panel\-Name\-Str)\label{classwxActiveX_a1}
|
||||
|
||||
\begin{CompactList}\small\item\em create using progid.\item\end{CompactList}\item
|
||||
\index{GetEventCount@{GetEventCount}!wxActiveX@{wxActiveX}}\index{wxActiveX@{wxActiveX}!GetEventCount@{GetEventCount}}
|
||||
int {\bf Get\-Event\-Count} () const\label{classwxActiveX_a3}
|
||||
|
||||
\begin{CompactList}\small\item\em Number of events defined for this control.\item\end{CompactList}\item
|
||||
const {\bf Func\-X} \& {\bf Get\-Event\-Desc} (int idx) const
|
||||
\begin{CompactList}\small\item\em returns event description by index.\item\end{CompactList}\item
|
||||
\index{GetPropCount@{GetPropCount}!wxActiveX@{wxActiveX}}\index{wxActiveX@{wxActiveX}!GetPropCount@{GetPropCount}}
|
||||
int {\bf Get\-Prop\-Count} () const\label{classwxActiveX_a5}
|
||||
|
||||
\begin{CompactList}\small\item\em Number of properties defined for this control.\item\end{CompactList}\item
|
||||
const {\bf Prop\-X} \& {\bf Get\-Prop\-Desc} (int idx) const
|
||||
\begin{CompactList}\small\item\em returns property description by index.\item\end{CompactList}\item
|
||||
const {\bf Prop\-X} \& {\bf Get\-Prop\-Desc} (wx\-String name) const
|
||||
\begin{CompactList}\small\item\em returns property description by name.\item\end{CompactList}\item
|
||||
\index{GetMethodCount@{GetMethodCount}!wxActiveX@{wxActiveX}}\index{wxActiveX@{wxActiveX}!GetMethodCount@{GetMethodCount}}
|
||||
int {\bf Get\-Method\-Count} () const\label{classwxActiveX_a8}
|
||||
|
||||
\begin{CompactList}\small\item\em Number of methods defined for this control.\item\end{CompactList}\item
|
||||
const {\bf Func\-X} \& {\bf Get\-Method\-Desc} (int idx) const
|
||||
\begin{CompactList}\small\item\em returns method description by name.\item\end{CompactList}\item
|
||||
const {\bf Func\-X} \& {\bf Get\-Method\-Desc} (wx\-String name) const
|
||||
\begin{CompactList}\small\item\em returns method description by name.\item\end{CompactList}\item
|
||||
\index{SetProp@{SetProp}!wxActiveX@{wxActiveX}}\index{wxActiveX@{wxActiveX}!SetProp@{SetProp}}
|
||||
void {\bf Set\-Prop} (MEMBERID name, VARIANTARG \&value)\label{classwxActiveX_a11}
|
||||
|
||||
\begin{CompactList}\small\item\em Set property VARIANTARG value by MEMBERID.\item\end{CompactList}\item
|
||||
\index{SetProp@{SetProp}!wxActiveX@{wxActiveX}}\index{wxActiveX@{wxActiveX}!SetProp@{SetProp}}
|
||||
void {\bf Set\-Prop} (const wx\-String \&name, const wx\-Variant \&value)\label{classwxActiveX_a12}
|
||||
|
||||
\begin{CompactList}\small\item\em Set property using wx\-Variant by name.\item\end{CompactList}\item
|
||||
wx\-Property\-Setter {\bf Prop} (wx\-String name)
|
||||
\begin{CompactList}\small\item\em Generic Get/Set Property by name. Automatically handles most types.\item\end{CompactList}\item
|
||||
wx\-Variant {\bf Call\-Method} (wx\-String name, wx\-Variant args[$\,$], int nargs=-1)
|
||||
\begin{CompactList}\small\item\em Call a method of the Active\-X control. Automatically handles most types.\item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Related Functions}
|
||||
(Note that these are not member functions.)\begin{CompactItemize}
|
||||
\item
|
||||
bool {\bf MSWVariant\-To\-Variant} (VARIANTARG \&va, wx\-Variant \&vx)
|
||||
\begin{CompactList}\small\item\em Convert MSW VARIANTARG to wx\-Variant. Handles basic types, need to add:\begin{itemize}
|
||||
\item VT\_\-ARRAY $|$ VT\_\-$\ast$\item better support for VT\_\-UNKNOWN (currently treated as void $\ast$)\item better support for VT\_\-DISPATCH (currently treated as void $\ast$).\end{itemize}
|
||||
\item\end{CompactList}\item
|
||||
bool {\bf Variant\-To\-MSWVariant} (const wx\-Variant \&vx, VARIANTARG \&va)
|
||||
\begin{CompactList}\small\item\em Convert wx\-Variant to MSW VARIANTARG. Handles basic types, need to add:\begin{itemize}
|
||||
\item VT\_\-ARRAY $|$ VT\_\-$\ast$\item better support for VT\_\-UNKNOWN (currently treated as void $\ast$)\item better support for VT\_\-DISPATCH (currently treated as void $\ast$).\end{itemize}
|
||||
\item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\index{wxActiveX@{wx\-Active\-X}!GetEventDesc@{GetEventDesc}}
|
||||
\index{GetEventDesc@{GetEventDesc}!wxActiveX@{wx\-Active\-X}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Func\-X}\& wx\-Active\-X::Get\-Event\-Desc (int {\em idx}) const}\label{classwxActiveX_a4}
|
||||
|
||||
|
||||
returns event description by index.
|
||||
|
||||
throws exception for invalid index \index{wxActiveX@{wx\-Active\-X}!GetPropDesc@{GetPropDesc}}
|
||||
\index{GetPropDesc@{GetPropDesc}!wxActiveX@{wx\-Active\-X}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Prop\-X}\& wx\-Active\-X::Get\-Prop\-Desc (int {\em idx}) const}\label{classwxActiveX_a6}
|
||||
|
||||
|
||||
returns property description by index.
|
||||
|
||||
throws exception for invalid index \index{wxActiveX@{wx\-Active\-X}!GetPropDesc@{GetPropDesc}}
|
||||
\index{GetPropDesc@{GetPropDesc}!wxActiveX@{wx\-Active\-X}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Prop\-X}\& wx\-Active\-X::Get\-Prop\-Desc (wx\-String {\em name}) const}\label{classwxActiveX_a7}
|
||||
|
||||
|
||||
returns property description by name.
|
||||
|
||||
throws exception for invalid name \index{wxActiveX@{wx\-Active\-X}!GetMethodDesc@{GetMethodDesc}}
|
||||
\index{GetMethodDesc@{GetMethodDesc}!wxActiveX@{wx\-Active\-X}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Func\-X}\& wx\-Active\-X::Get\-Method\-Desc (int {\em idx}) const}\label{classwxActiveX_a9}
|
||||
|
||||
|
||||
returns method description by name.
|
||||
|
||||
throws exception for invalid index \index{wxActiveX@{wx\-Active\-X}!GetMethodDesc@{GetMethodDesc}}
|
||||
\index{GetMethodDesc@{GetMethodDesc}!wxActiveX@{wx\-Active\-X}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Func\-X}\& wx\-Active\-X::Get\-Method\-Desc (wx\-String {\em name}) const}\label{classwxActiveX_a10}
|
||||
|
||||
|
||||
returns method description by name.
|
||||
|
||||
throws exception for invalid name \index{wxActiveX@{wx\-Active\-X}!Prop@{Prop}}
|
||||
\index{Prop@{Prop}!wxActiveX@{wx\-Active\-X}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}wx\-Property\-Setter wx\-Active\-X::Prop (wx\-String {\em name})\hspace{0.3cm}{\tt [inline]}}\label{classwxActiveX_a13}
|
||||
|
||||
|
||||
Generic Get/Set Property by name. Automatically handles most types.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em name}]Property name to read/set \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]wx\-Property\-Setter, which has overloads for setting/getting the property \end{Desc}
|
||||
|
||||
|
||||
\begin{Desc}
|
||||
\item[Usage:]\begin{itemize}
|
||||
\item Prop(\char`\"{}$<$name$>$\char`\"{}) = $<$value$>$\item var = Prop(\char`\"{}$<$name$>$\char`\"{})\item e.g:\begin{itemize}
|
||||
\item
|
||||
|
||||
\footnotesize\begin{verbatim} flash_ctl.Prop("movie") = "file:///movies/test.swf";
|
||||
\end{verbatim}\normalsize
|
||||
\item
|
||||
|
||||
\footnotesize\begin{verbatim} flash_ctl.Prop("Playing") = false;
|
||||
\end{verbatim}\normalsize
|
||||
\item
|
||||
|
||||
\footnotesize\begin{verbatim} wxString current_movie = flash_ctl.Prop("movie");
|
||||
\end{verbatim}\normalsize
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Exceptions:]
|
||||
\begin{description}
|
||||
\item[{\em raises}]exception if $<$name$>$ is invalid \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Note:]Have to add a few more type conversions yet ... \end{Desc}
|
||||
|
||||
|
||||
Definition at line 458 of file wxactivex.h.\index{wxActiveX@{wx\-Active\-X}!CallMethod@{CallMethod}}
|
||||
\index{CallMethod@{CallMethod}!wxActiveX@{wx\-Active\-X}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}wx\-Variant wx\-Active\-X::Call\-Method (wx\-String {\em name}, wx\-Variant {\em args}[$\,$], int {\em nargs} = -1)}\label{classwxActiveX_a26}
|
||||
|
||||
|
||||
Call a method of the Active\-X control. Automatically handles most types.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em name}]name of method to call \item[{\em args}]array of wx\-Variant's, defaults to NULL (no args) \item[{\em nargs}]number of arguments passed via args. Defaults to actual number of args for the method \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]wx\-Variant \end{Desc}
|
||||
|
||||
|
||||
\begin{Desc}
|
||||
\item[Usage:]\begin{itemize}
|
||||
\item result = Call\-Method(\char`\"{}$<$name$>$\char`\"{}, args, nargs)\item e.g.\item
|
||||
|
||||
\footnotesize\begin{verbatim}
|
||||
wxVariant args[] = {0L, "file:///e:/dev/wxie/bug-zap.swf"};
|
||||
wxVariant result = X->CallMethod("LoadMovie", args);
|
||||
\end{verbatim}\normalsize
|
||||
\end{itemize}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Exceptions:]
|
||||
\begin{description}
|
||||
\item[{\em raises}]exception if $<$name$>$ is invalid \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Note:]Since wx\-Variant has built in type conversion, most the std types can be passed easily \end{Desc}
|
||||
|
||||
|
||||
\subsection{Friends And Related Function Documentation}
|
||||
\index{wxActiveX@{wx\-Active\-X}!MSWVariantToVariant@{MSWVariantToVariant}}
|
||||
\index{MSWVariantToVariant@{MSWVariantToVariant}!wxActiveX@{wx\-Active\-X}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool MSWVariant\-To\-Variant (VARIANTARG \& {\em va}, wx\-Variant \& {\em vx})\hspace{0.3cm}{\tt [related]}}\label{classwxActiveX_k0}
|
||||
|
||||
|
||||
Convert MSW VARIANTARG to wx\-Variant. Handles basic types, need to add:\begin{itemize}
|
||||
\item VT\_\-ARRAY $|$ VT\_\-$\ast$\item better support for VT\_\-UNKNOWN (currently treated as void $\ast$)\item better support for VT\_\-DISPATCH (currently treated as void $\ast$).\end{itemize}
|
||||
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em va}]VARAIANTARG to convert from \item[{\em vx}]Destination wx\-Variant \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]success/failure (true/false) \end{Desc}
|
||||
\index{wxActiveX@{wx\-Active\-X}!VariantToMSWVariant@{VariantToMSWVariant}}
|
||||
\index{VariantToMSWVariant@{VariantToMSWVariant}!wxActiveX@{wx\-Active\-X}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Variant\-To\-MSWVariant (const wx\-Variant \& {\em vx}, VARIANTARG \& {\em va})\hspace{0.3cm}{\tt [related]}}\label{classwxActiveX_k1}
|
||||
|
||||
|
||||
Convert wx\-Variant to MSW VARIANTARG. Handles basic types, need to add:\begin{itemize}
|
||||
\item VT\_\-ARRAY $|$ VT\_\-$\ast$\item better support for VT\_\-UNKNOWN (currently treated as void $\ast$)\item better support for VT\_\-DISPATCH (currently treated as void $\ast$).\end{itemize}
|
||||
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em vx}]wx\-Variant to convert from \item[{\em va}]Destination VARIANTARG \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]success/failure (true/false) \end{Desc}
|
||||
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
{\bf wxactivex.h}\end{CompactItemize}
|
@@ -0,0 +1,18 @@
|
||||
\section{wx\-Active\-X::Func\-X Class Reference}
|
||||
\label{classwxActiveX_1_1FuncX}\index{wxActiveX::FuncX@{wxActiveX::FuncX}}
|
||||
{\tt \#include $<$wxactivex.h$>$}
|
||||
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
Type \& Parameter info for Events and Methods.
|
||||
|
||||
refer to FUNCDESC in MSDN
|
||||
|
||||
|
||||
|
||||
Definition at line 350 of file wxactivex.h.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
{\bf wxactivex.h}\end{CompactItemize}
|
@@ -0,0 +1,18 @@
|
||||
\section{wx\-Active\-X::Param\-X Class Reference}
|
||||
\label{classwxActiveX_1_1ParamX}\index{wxActiveX::ParamX@{wxActiveX::ParamX}}
|
||||
{\tt \#include $<$wxactivex.h$>$}
|
||||
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
General parameter and return type infoformation for Events, Properties and Methods.
|
||||
|
||||
refer to ELEMDESC, IDLDESC in MSDN
|
||||
|
||||
|
||||
|
||||
Definition at line 333 of file wxactivex.h.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
{\bf wxactivex.h}\end{CompactItemize}
|
@@ -0,0 +1,16 @@
|
||||
\section{wx\-Active\-X::Prop\-X Class Reference}
|
||||
\label{classwxActiveX_1_1PropX}\index{wxActiveX::PropX@{wxActiveX::PropX}}
|
||||
{\tt \#include $<$wxactivex.h$>$}
|
||||
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
Type info for properties.
|
||||
|
||||
|
||||
|
||||
Definition at line 362 of file wxactivex.h.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
{\bf wxactivex.h}\end{CompactItemize}
|
@@ -0,0 +1,85 @@
|
||||
\section{wx\-Auto\-Ole\-Interface$<$ I $>$ Class Template Reference}
|
||||
\label{classwxAutoOleInterface}\index{wxAutoOleInterface@{wxAutoOleInterface}}
|
||||
{\tt \#include $<$wxactivex.h$>$}
|
||||
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class I$>$ class wx\-Auto\-Ole\-Interface$<$ I $>$}
|
||||
|
||||
Template class for smart interface handling.
|
||||
|
||||
\begin{itemize}
|
||||
\item Automatically dereferences ole interfaces\item Smart Copy Semantics\item Can Create Interfaces\item Can query for other interfaces \end{itemize}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 45 of file wxactivex.h.\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\index{wxAutoOleInterface@{wxAutoOleInterface}!wxAutoOleInterface@{wxAutoOleInterface}}\index{wxAutoOleInterface@{wxAutoOleInterface}!wxAutoOleInterface@{wxAutoOleInterface}}
|
||||
{\bf wx\-Auto\-Ole\-Interface} (I $\ast$p\-Interface=NULL)\label{classwxAutoOleInterface_a0}
|
||||
|
||||
\begin{CompactList}\small\item\em takes ownership of an existing interface Assumed to already have a Add\-Ref() applied\item\end{CompactList}\item
|
||||
\index{wxAutoOleInterface@{wxAutoOleInterface}!wxAutoOleInterface@{wxAutoOleInterface}}\index{wxAutoOleInterface@{wxAutoOleInterface}!wxAutoOleInterface@{wxAutoOleInterface}}
|
||||
{\bf wx\-Auto\-Ole\-Interface} (REFIID riid, IUnknown $\ast$p\-Unk)\label{classwxAutoOleInterface_a1}
|
||||
|
||||
\begin{CompactList}\small\item\em queries for an interface\item\end{CompactList}\item
|
||||
\index{wxAutoOleInterface@{wxAutoOleInterface}!wxAutoOleInterface@{wxAutoOleInterface}}\index{wxAutoOleInterface@{wxAutoOleInterface}!wxAutoOleInterface@{wxAutoOleInterface}}
|
||||
{\bf wx\-Auto\-Ole\-Interface} (REFIID riid, IDispatch $\ast$p\-Dispatch)\label{classwxAutoOleInterface_a2}
|
||||
|
||||
\begin{CompactList}\small\item\em queries for an interface\item\end{CompactList}\item
|
||||
\index{wxAutoOleInterface@{wxAutoOleInterface}!wxAutoOleInterface@{wxAutoOleInterface}}\index{wxAutoOleInterface@{wxAutoOleInterface}!wxAutoOleInterface@{wxAutoOleInterface}}
|
||||
{\bf wx\-Auto\-Ole\-Interface} (REFCLSID clsid, REFIID riid)\label{classwxAutoOleInterface_a3}
|
||||
|
||||
\begin{CompactList}\small\item\em Creates an Interface.\item\end{CompactList}\item
|
||||
\index{wxAutoOleInterface@{wxAutoOleInterface}!wxAutoOleInterface@{wxAutoOleInterface}}\index{wxAutoOleInterface@{wxAutoOleInterface}!wxAutoOleInterface@{wxAutoOleInterface}}
|
||||
{\bf wx\-Auto\-Ole\-Interface} (const wx\-Auto\-Ole\-Interface$<$ I $>$ \&ti)\label{classwxAutoOleInterface_a4}
|
||||
|
||||
\begin{CompactList}\small\item\em copy constructor\item\end{CompactList}\item
|
||||
\index{operator=@{operator=}!wxAutoOleInterface@{wxAutoOleInterface}}\index{wxAutoOleInterface@{wxAutoOleInterface}!operator=@{operator=}}
|
||||
wx\-Auto\-Ole\-Interface$<$ I $>$ \& {\bf operator=} (const wx\-Auto\-Ole\-Interface$<$ I $>$ \&ti)\label{classwxAutoOleInterface_a5}
|
||||
|
||||
\begin{CompactList}\small\item\em assignment operator\item\end{CompactList}\item
|
||||
\index{operator=@{operator=}!wxAutoOleInterface@{wxAutoOleInterface}}\index{wxAutoOleInterface@{wxAutoOleInterface}!operator=@{operator=}}
|
||||
wx\-Auto\-Ole\-Interface$<$ I $>$ \& {\bf operator=} (I $\ast$\&ti)\label{classwxAutoOleInterface_a6}
|
||||
|
||||
\begin{CompactList}\small\item\em takes ownership of an existing interface Assumed to already have a Add\-Ref() applied\item\end{CompactList}\item
|
||||
\index{~wxAutoOleInterface@{$\sim$wxAutoOleInterface}!wxAutoOleInterface@{wxAutoOleInterface}}\index{wxAutoOleInterface@{wxAutoOleInterface}!~wxAutoOleInterface@{$\sim$wxAutoOleInterface}}
|
||||
{\bf $\sim$wx\-Auto\-Ole\-Interface} ()\label{classwxAutoOleInterface_a7}
|
||||
|
||||
\begin{CompactList}\small\item\em invokes {\bf Free()}\item\end{CompactList}\item
|
||||
\index{Free@{Free}!wxAutoOleInterface@{wxAutoOleInterface}}\index{wxAutoOleInterface@{wxAutoOleInterface}!Free@{Free}}
|
||||
void {\bf Free} ()\label{classwxAutoOleInterface_a8}
|
||||
|
||||
\begin{CompactList}\small\item\em Releases interface (i.e decrements ref\-Count).\item\end{CompactList}\item
|
||||
\index{QueryInterface@{QueryInterface}!wxAutoOleInterface@{wxAutoOleInterface}}\index{wxAutoOleInterface@{wxAutoOleInterface}!QueryInterface@{QueryInterface}}
|
||||
HRESULT {\bf Query\-Interface} (REFIID riid, IUnknown $\ast$p\-Unk)\label{classwxAutoOleInterface_a9}
|
||||
|
||||
\begin{CompactList}\small\item\em queries for an interface\item\end{CompactList}\item
|
||||
\index{CreateInstance@{CreateInstance}!wxAutoOleInterface@{wxAutoOleInterface}}\index{wxAutoOleInterface@{wxAutoOleInterface}!CreateInstance@{CreateInstance}}
|
||||
HRESULT {\bf Create\-Instance} (REFCLSID clsid, REFIID riid)\label{classwxAutoOleInterface_a10}
|
||||
|
||||
\begin{CompactList}\small\item\em Create a Interface instance.\item\end{CompactList}\item
|
||||
\index{operator I *@{operator I $\ast$}!wxAutoOleInterface@{wxAutoOleInterface}}\index{wxAutoOleInterface@{wxAutoOleInterface}!operator I *@{operator I $\ast$}}
|
||||
{\bf operator I $\ast$} () const\label{classwxAutoOleInterface_a11}
|
||||
|
||||
\begin{CompactList}\small\item\em returns the interface pointer\item\end{CompactList}\item
|
||||
\index{operator->@{operator-$>$}!wxAutoOleInterface@{wxAutoOleInterface}}\index{wxAutoOleInterface@{wxAutoOleInterface}!operator->@{operator-$>$}}
|
||||
I $\ast$ {\bf operator $\rightarrow$ } ()\label{classwxAutoOleInterface_a12}
|
||||
|
||||
\begin{CompactList}\small\item\em returns the dereferenced interface pointer\item\end{CompactList}\item
|
||||
\index{GetRef@{GetRef}!wxAutoOleInterface@{wxAutoOleInterface}}\index{wxAutoOleInterface@{wxAutoOleInterface}!GetRef@{GetRef}}
|
||||
I $\ast$$\ast$ {\bf Get\-Ref} ()\label{classwxAutoOleInterface_a13}
|
||||
|
||||
\begin{CompactList}\small\item\em returns a pointer to the interface pointer\item\end{CompactList}\item
|
||||
\index{Ok@{Ok}!wxAutoOleInterface@{wxAutoOleInterface}}\index{wxAutoOleInterface@{wxAutoOleInterface}!Ok@{Ok}}
|
||||
bool {\bf Ok} () const\label{classwxAutoOleInterface_a14}
|
||||
|
||||
\begin{CompactList}\small\item\em returns true if we have a valid interface pointer\item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
{\bf wxactivex.h}\end{CompactItemize}
|
65
wxPython/contrib/activex/wxie/latex/doxygen.sty
Normal file
65
wxPython/contrib/activex/wxie/latex/doxygen.sty
Normal file
@@ -0,0 +1,65 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{doxygen}
|
||||
\RequirePackage{calc}
|
||||
\RequirePackage{array}
|
||||
\pagestyle{fancyplain}
|
||||
\addtolength{\headwidth}{\marginparsep}
|
||||
\addtolength{\headwidth}{\marginparwidth}
|
||||
\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
|
||||
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
|
||||
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
|
||||
\lhead[\fancyplain{}{\bfseries\thepage}]
|
||||
{\fancyplain{}{\bfseries\rightmark}}
|
||||
\rhead[\fancyplain{}{\bfseries\leftmark}]
|
||||
{\fancyplain{}{\bfseries\thepage}}
|
||||
\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Tue Apr 1 14:51:12 2003 for wx\-Active\-X by Doxygen }]{}
|
||||
\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Tue Apr 1 14:51:12 2003 for wx\-Active\-X by Doxygen }}
|
||||
\cfoot{}
|
||||
\newenvironment{CompactList}
|
||||
{\begin{list}{}{
|
||||
\setlength{\leftmargin}{0.5cm}
|
||||
\setlength{\itemsep}{0pt}
|
||||
\setlength{\parsep}{0pt}
|
||||
\setlength{\topsep}{0pt}
|
||||
\renewcommand{\makelabel}{}}}
|
||||
{\end{list}}
|
||||
\newenvironment{CompactItemize}
|
||||
{
|
||||
\begin{itemize}
|
||||
\setlength{\itemsep}{-3pt}
|
||||
\setlength{\parsep}{0pt}
|
||||
\setlength{\topsep}{0pt}
|
||||
\setlength{\partopsep}{0pt}
|
||||
}
|
||||
{\end{itemize}}
|
||||
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
|
||||
\newlength{\tmplength}
|
||||
\newenvironment{TabularC}[1]
|
||||
{
|
||||
\setlength{\tmplength}
|
||||
{\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
|
||||
\par\begin{tabular*}{\linewidth}
|
||||
{*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
|
||||
}
|
||||
{\end{tabular*}\par}
|
||||
\newcommand{\entrylabel}[1]{
|
||||
{\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\\}}}
|
||||
\newenvironment{Desc}
|
||||
{\begin{list}{}
|
||||
{
|
||||
\settowidth{\labelwidth}{40pt}
|
||||
\setlength{\leftmargin}{\labelwidth}
|
||||
\setlength{\parsep}{0pt}
|
||||
\setlength{\itemsep}{-4pt}
|
||||
\renewcommand{\makelabel}{\entrylabel}
|
||||
}
|
||||
}
|
||||
{\end{list}}
|
||||
\newenvironment{Indent}
|
||||
{\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
|
||||
\item[]\ignorespaces}
|
||||
{\unskip\end{list}}
|
||||
\setlength{\parindent}{0cm}
|
||||
\setlength{\parskip}{0.2cm}
|
||||
\addtocounter{secnumdepth}{1}
|
||||
\sloppy
|
5
wxPython/contrib/activex/wxie/latex/files.tex
Normal file
5
wxPython/contrib/activex/wxie/latex/files.tex
Normal file
@@ -0,0 +1,5 @@
|
||||
\section{wx\-Active\-X File List}
|
||||
Here is a list of all documented files with brief descriptions:\begin{CompactList}
|
||||
\item\contentsline{section}{{\bf iehtmlwin.h} (Implements wx\-IEHtml\-Win window class)}{\pageref{iehtmlwin_8h}}{}
|
||||
\item\contentsline{section}{{\bf wxactivex.h} (Implements {\bf wx\-Active\-X} window class and OLE tools)}{\pageref{wxactivex_8h}}{}
|
||||
\end{CompactList}
|
9
wxPython/contrib/activex/wxie/latex/hierarchy.tex
Normal file
9
wxPython/contrib/activex/wxie/latex/hierarchy.tex
Normal file
@@ -0,0 +1,9 @@
|
||||
\section{wx\-Active\-X Class Hierarchy}
|
||||
This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList}
|
||||
\item \contentsline{section}{NS\_\-wx\-Active\-X::less\_\-wx\-String\-I}{\pageref{structNS__wxActiveX_1_1less__wxStringI}}{}
|
||||
\item \contentsline{section}{wx\-Active\-X}{\pageref{classwxActiveX}}{}
|
||||
\item \contentsline{section}{wx\-Active\-X::Func\-X}{\pageref{classwxActiveX_1_1FuncX}}{}
|
||||
\item \contentsline{section}{wx\-Active\-X::Param\-X}{\pageref{classwxActiveX_1_1ParamX}}{}
|
||||
\item \contentsline{section}{wx\-Active\-X::Prop\-X}{\pageref{classwxActiveX_1_1PropX}}{}
|
||||
\item \contentsline{section}{wx\-Auto\-Ole\-Interface$<$ I $>$}{\pageref{classwxAutoOleInterface}}{}
|
||||
\end{CompactList}
|
16
wxPython/contrib/activex/wxie/latex/iehtmlwin_8h.tex
Normal file
16
wxPython/contrib/activex/wxie/latex/iehtmlwin_8h.tex
Normal file
@@ -0,0 +1,16 @@
|
||||
\section{iehtmlwin.h File Reference}
|
||||
\label{iehtmlwin_8h}\index{iehtmlwin.h@{iehtmlwin.h}}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
implements wx\-IEHtml\-Win window class
|
||||
|
||||
|
||||
|
||||
Definition in file {\bf iehtmlwin.h}.
|
||||
|
||||
{\tt \#include $<$wx/setup.h$>$}\par
|
||||
{\tt \#include $<$wx/wx.h$>$}\par
|
||||
{\tt \#include $<$exdisp.h$>$}\par
|
||||
{\tt \#include $<$iostream$>$}\par
|
||||
{\tt \#include \char`\"{}wxactivex.h\char`\"{}}\par
|
@@ -0,0 +1,14 @@
|
||||
\section{NS\_\-wx\-Active\-X Namespace Reference}
|
||||
\label{namespaceNS__wxActiveX}\index{NS_wxActiveX@{NS\_\-wxActiveX}}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
{\bf wx\-Active\-X} Namespace for stuff I want to keep out of other tools way.
|
||||
|
||||
|
||||
|
||||
\subsection*{Data Structures}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
struct {\bf less\_\-wx\-String\-I}
|
||||
\begin{CompactList}\small\item\em STL utilty class.\item\end{CompactList}\end{CompactItemize}
|
4
wxPython/contrib/activex/wxie/latex/namespaces.tex
Normal file
4
wxPython/contrib/activex/wxie/latex/namespaces.tex
Normal file
@@ -0,0 +1,4 @@
|
||||
\section{wx\-Active\-X Namespace List}
|
||||
Here is a list of all documented namespaces with brief descriptions:\begin{CompactList}
|
||||
\item\contentsline{section}{{\bf NS\_\-wx\-Active\-X} (Wx\-Active\-X Namespace for stuff I want to keep out of other tools way)}{\pageref{namespaceNS__wxActiveX}}{}
|
||||
\end{CompactList}
|
51
wxPython/contrib/activex/wxie/latex/refman.tex
Normal file
51
wxPython/contrib/activex/wxie/latex/refman.tex
Normal file
@@ -0,0 +1,51 @@
|
||||
\documentclass[a4paper]{book}
|
||||
\usepackage{a4wide}
|
||||
\usepackage{makeidx}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{multicol}
|
||||
\usepackage{float}
|
||||
\usepackage{textcomp}
|
||||
\usepackage{alltt}
|
||||
\usepackage{doxygen}
|
||||
\makeindex
|
||||
\setcounter{tocdepth}{1}
|
||||
\setlength{\footrulewidth}{0.4pt}
|
||||
\begin{document}
|
||||
\begin{titlepage}
|
||||
\vspace*{7cm}
|
||||
\begin{center}
|
||||
{\Large wx\-Active\-X Reference Manual}\\
|
||||
\vspace*{1cm}
|
||||
{\large Generated by Doxygen 1.3-rc3}\\
|
||||
\vspace*{0.5cm}
|
||||
{\small Tue Apr 1 14:51:12 2003}\\
|
||||
\end{center}
|
||||
\end{titlepage}
|
||||
\clearemptydoublepage
|
||||
\pagenumbering{roman}
|
||||
\tableofcontents
|
||||
\clearemptydoublepage
|
||||
\pagenumbering{arabic}
|
||||
\chapter{wx\-Active\-X Namespace Index}
|
||||
\input{namespaces}
|
||||
\chapter{wx\-Active\-X Hierarchical Index}
|
||||
\input{hierarchy}
|
||||
\chapter{wx\-Active\-X Data Structure Index}
|
||||
\input{annotated}
|
||||
\chapter{wx\-Active\-X File Index}
|
||||
\input{files}
|
||||
\chapter{wx\-Active\-X Namespace Documentation}
|
||||
\input{namespaceNS__wxActiveX}
|
||||
\chapter{wx\-Active\-X Data Structure Documentation}
|
||||
\input{structNS__wxActiveX_1_1less__wxStringI}
|
||||
\include{classwxActiveX}
|
||||
\include{classwxActiveX_1_1FuncX}
|
||||
\include{classwxActiveX_1_1ParamX}
|
||||
\include{classwxActiveX_1_1PropX}
|
||||
\include{classwxAutoOleInterface}
|
||||
\chapter{wx\-Active\-X File Documentation}
|
||||
\input{iehtmlwin_8h}
|
||||
\include{wxactivex_8h}
|
||||
\printindex
|
||||
\end{document}
|
@@ -0,0 +1,18 @@
|
||||
\section{NS\_\-wx\-Active\-X::less\_\-wx\-String\-I Struct Reference}
|
||||
\label{structNS__wxActiveX_1_1less__wxStringI}\index{NS_wxActiveX::less_wxStringI@{NS\_\-wxActiveX::less\_\-wxStringI}}
|
||||
{\tt \#include $<$wxactivex.h$>$}
|
||||
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
STL utilty class.
|
||||
|
||||
specific to {\bf wx\-Active\-X}, for creating case insenstive maps etc
|
||||
|
||||
|
||||
|
||||
Definition at line 29 of file wxactivex.h.
|
||||
|
||||
The documentation for this struct was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
{\bf wxactivex.h}\end{CompactItemize}
|
139
wxPython/contrib/activex/wxie/latex/wxactivex_8h.tex
Normal file
139
wxPython/contrib/activex/wxie/latex/wxactivex_8h.tex
Normal file
@@ -0,0 +1,139 @@
|
||||
\section{wxactivex.h File Reference}
|
||||
\label{wxactivex_8h}\index{wxactivex.h@{wxactivex.h}}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
implements {\bf wx\-Active\-X} window class and OLE tools
|
||||
|
||||
|
||||
|
||||
Definition in file {\bf wxactivex.h}.
|
||||
|
||||
{\tt \#include $<$wx/setup.h$>$}\par
|
||||
{\tt \#include $<$wx/wx.h$>$}\par
|
||||
{\tt \#include $<$wx/variant.h$>$}\par
|
||||
{\tt \#include $<$wx/datetime.h$>$}\par
|
||||
{\tt \#include $<$oleidl.h$>$}\par
|
||||
{\tt \#include $<$exdisp.h$>$}\par
|
||||
{\tt \#include $<$docobj.h$>$}\par
|
||||
{\tt \#include $<$iostream$>$}\par
|
||||
{\tt \#include $<$vector$>$}\par
|
||||
{\tt \#include $<$map$>$}\par
|
||||
\subsection*{Namespaces}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
namespace {\bf NS\_\-wx\-Active\-X}
|
||||
\item
|
||||
namespace {\bf std}
|
||||
\end{CompactItemize}
|
||||
\subsection*{Data Structures}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
class {\bf wx\-Auto\-Ole\-Interface}
|
||||
\begin{CompactList}\small\item\em Template class for smart interface handling.\item\end{CompactList}\item
|
||||
class {\bf wx\-Active\-X}
|
||||
\begin{CompactList}\small\item\em Main class for embedding a Active\-X control.\item\end{CompactList}\item
|
||||
class {\bf Param\-X}
|
||||
\begin{CompactList}\small\item\em General parameter and return type infoformation for Events, Properties and Methods.\item\end{CompactList}\item
|
||||
class {\bf Func\-X}
|
||||
\begin{CompactList}\small\item\em Type \& Parameter info for Events and Methods.\item\end{CompactList}\item
|
||||
class {\bf Prop\-X}
|
||||
\begin{CompactList}\small\item\em Type info for properties.\item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Defines}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\index{EVT_ACTIVEX@{EVT\_\-ACTIVEX}!wxactivex.h@{wxactivex.h}}\index{wxactivex.h@{wxactivex.h}!EVT_ACTIVEX@{EVT\_\-ACTIVEX}}
|
||||
\#define {\bf EVT\_\-ACTIVEX}(id, event\-Name, fn)\ DECLARE\_\-EVENT\_\-TABLE\_\-ENTRY(Register\-Active\-XEvent(wx\-T(event\-Name)), id, -1, (wx\-Object\-Event\-Function) (wx\-Event\-Function) (wx\-Active\-XEvent\-Function) \& fn, (wx\-Object $\ast$) NULL ),\label{wxactivex_8h_a10}
|
||||
|
||||
\begin{CompactList}\small\item\em Event handle for events by name.\item\end{CompactList}\item
|
||||
\index{EVT_ACTIVEX_DISPID@{EVT\_\-ACTIVEX\_\-DISPID}!wxactivex.h@{wxactivex.h}}\index{wxactivex.h@{wxactivex.h}!EVT_ACTIVEX_DISPID@{EVT\_\-ACTIVEX\_\-DISPID}}
|
||||
\#define {\bf EVT\_\-ACTIVEX\_\-DISPID}(id, event\-Disp\-Id, fn)\ DECLARE\_\-EVENT\_\-TABLE\_\-ENTRY(Register\-Active\-XEvent(event\-Disp\-Id), id, -1, (wx\-Object\-Event\-Function) (wx\-Event\-Function) (wx\-Active\-XEvent\-Function) \& fn, (wx\-Object $\ast$) NULL ),\label{wxactivex_8h_a11}
|
||||
|
||||
\begin{CompactList}\small\item\em Event handle for events by DISPID (dispath id).\item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\index{OLEHResultToString@{OLEHResultToString}!wxactivex.h@{wxactivex.h}}\index{wxactivex.h@{wxactivex.h}!OLEHResultToString@{OLEHResultToString}}
|
||||
wx\-String {\bf OLEHResult\-To\-String} (HRESULT hr)\label{wxactivex_8h_a13}
|
||||
|
||||
\begin{CompactList}\small\item\em Converts a std HRESULT to its error code. Hardcoded, by no means a definitive list.\item\end{CompactList}\item
|
||||
\index{GetIIDName@{GetIIDName}!wxactivex.h@{wxactivex.h}}\index{wxactivex.h@{wxactivex.h}!GetIIDName@{GetIIDName}}
|
||||
wx\-String {\bf Get\-IIDName} (REFIID riid)\label{wxactivex_8h_a14}
|
||||
|
||||
\begin{CompactList}\small\item\em Returns the string description of a IID. Hardcoded, by no means a definitive list.\item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Define Documentation}
|
||||
\index{wxactivex.h@{wxactivex.h}!DECLARE_OLE_UNKNOWN@{DECLARE\_\-OLE\_\-UNKNOWN}}
|
||||
\index{DECLARE_OLE_UNKNOWN@{DECLARE\_\-OLE\_\-UNKNOWN}!wxactivex.h@{wxactivex.h}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define DECLARE\_\-OLE\_\-UNKNOWN(cls)}\label{wxactivex_8h_a3}
|
||||
|
||||
|
||||
{\bf Value:}
|
||||
|
||||
\footnotesize\begin{verbatim}private:\
|
||||
class TAutoInitInt\
|
||||
{\
|
||||
public:\
|
||||
LONG l;\
|
||||
TAutoInitInt() : l(0) {}\
|
||||
};\
|
||||
TAutoInitInt refCount, lockCount;\
|
||||
wxOleInit oleInit;\
|
||||
static void _GetInterface(cls *self, REFIID iid, void **_interface, const char *&desc);\
|
||||
public:\
|
||||
LONG GetRefCount();\
|
||||
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void ** ppvObject);\
|
||||
ULONG STDMETHODCALLTYPE AddRef();\
|
||||
ULONG STDMETHODCALLTYPE Release();\
|
||||
ULONG STDMETHODCALLTYPE AddLock();\
|
||||
ULONG STDMETHODCALLTYPE ReleaseLock()
|
||||
\end{verbatim}\normalsize
|
||||
|
||||
|
||||
Definition at line 184 of file wxactivex.h.\index{wxactivex.h@{wxactivex.h}!DEFINE_OLE_BASE@{DEFINE\_\-OLE\_\-BASE}}
|
||||
\index{DEFINE_OLE_BASE@{DEFINE\_\-OLE\_\-BASE}!wxactivex.h@{wxactivex.h}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define DEFINE\_\-OLE\_\-BASE(cls)}\label{wxactivex_8h_a5}
|
||||
|
||||
|
||||
{\bf Value:}
|
||||
|
||||
\footnotesize\begin{verbatim}void cls::_GetInterface(cls *self, REFIID iid, void **_interface, const char *&desc)\
|
||||
{\
|
||||
*_interface = NULL;\
|
||||
desc = NULL;
|
||||
\end{verbatim}\normalsize
|
||||
|
||||
|
||||
Definition at line 264 of file wxactivex.h.\index{wxactivex.h@{wxactivex.h}!OLE_INTERFACE@{OLE\_\-INTERFACE}}
|
||||
\index{OLE_INTERFACE@{OLE\_\-INTERFACE}!wxactivex.h@{wxactivex.h}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define OLE\_\-INTERFACE(\_\-iid, \_\-type)}\label{wxactivex_8h_a6}
|
||||
|
||||
|
||||
{\bf Value:}
|
||||
|
||||
\footnotesize\begin{verbatim}if (IsEqualIID(iid, _iid))\
|
||||
{\
|
||||
WXOLE_TRACE("Found Interface <" # _type ">");\
|
||||
*_interface = (IUnknown *) (_type *) self;\
|
||||
desc = # _iid;\
|
||||
return;\
|
||||
}
|
||||
\end{verbatim}\normalsize
|
||||
|
||||
|
||||
Definition at line 270 of file wxactivex.h.\index{wxactivex.h@{wxactivex.h}!OLE_INTERFACE_CUSTOM@{OLE\_\-INTERFACE\_\-CUSTOM}}
|
||||
\index{OLE_INTERFACE_CUSTOM@{OLE\_\-INTERFACE\_\-CUSTOM}!wxactivex.h@{wxactivex.h}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define OLE\_\-INTERFACE\_\-CUSTOM(func)}\label{wxactivex_8h_a8}
|
||||
|
||||
|
||||
{\bf Value:}
|
||||
|
||||
\footnotesize\begin{verbatim}if (func(self, iid, _interface, desc))\
|
||||
{\
|
||||
return;\
|
||||
}
|
||||
\end{verbatim}\normalsize
|
||||
|
||||
|
||||
Definition at line 281 of file wxactivex.h.
|
53
wxPython/contrib/activex/wxie/license.txt
Normal file
53
wxPython/contrib/activex/wxie/license.txt
Normal file
@@ -0,0 +1,53 @@
|
||||
wxActiveX Library Licence, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 2003 Lindsay Mathieson [, ...]
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this licence document, but changing it is not allowed.
|
||||
|
||||
wxActiveX LIBRARY LICENCE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public Licence as published by
|
||||
the Free Software Foundation; either version 2 of the Licence, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public Licence for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public Licence
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licenced under the wxActiveX Library Licence, applying
|
||||
either version 3 of the Licence, or (at your option) any later version of
|
||||
the Licence as published by the copyright holders of version 3 of the
|
||||
Licence document.
|
||||
|
||||
2. The exception is that you may use, copy, link, modify and distribute
|
||||
under the user's own terms, binary object code versions of works based
|
||||
on the Library.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public Licence or the GNU Library General Public Licence into a
|
||||
copy of this library, as this licence permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
|
||||
|
24
wxPython/contrib/activex/wxie/makefile
Normal file
24
wxPython/contrib/activex/wxie/makefile
Normal file
@@ -0,0 +1,24 @@
|
||||
CC = gcc
|
||||
|
||||
PROGRAM = wxIE
|
||||
|
||||
CFLAGS = -I/m/snowball/icicle/gswd/devenv/include -D__WXMOTIF__
|
||||
LFLAGS = -L/m/snowball/icicle/devenv/lib
|
||||
|
||||
# implementation
|
||||
|
||||
.SUFFIXES: .o .cpp
|
||||
|
||||
SOURCES:sh= /bin/ls *.cpp
|
||||
|
||||
OBJECTS = $(SOURCES:.cpp=.o)
|
||||
|
||||
.cpp.o :
|
||||
$(CC) -c $(CFLAGS) `wx-config --cflags` -o $@ $<
|
||||
|
||||
$(PROGRAM): $(OBJECTS)
|
||||
$(CC) -o $(PROGRAM) $(OBJECTS) $(LFLAGS) `wx-config --libs`
|
||||
|
||||
clean:
|
||||
rm -f *.o $(PROGRAM)
|
||||
|
24
wxPython/contrib/activex/wxie/makefile.gtk
Normal file
24
wxPython/contrib/activex/wxie/makefile.gtk
Normal file
@@ -0,0 +1,24 @@
|
||||
CC = gcc
|
||||
|
||||
PROGRAM = wxIE
|
||||
|
||||
CFLAGS = -I/m/snowball/icicle/gswd/devenv/include -D__WXGTK__
|
||||
LFLAGS = -L/m/snowball/icicle/devenv/lib
|
||||
|
||||
# implementation
|
||||
|
||||
.SUFFIXES: .o .cpp
|
||||
|
||||
SOURCES:sh= /bin/ls *.cpp
|
||||
|
||||
OBJECTS = $(SOURCES:.cpp=.o)
|
||||
|
||||
.cpp.o :
|
||||
$(CC) -c $(CFLAGS) `wx-config --cflags` -o $@ $<
|
||||
|
||||
$(PROGRAM): $(OBJECTS)
|
||||
$(CC) -o $(PROGRAM) $(OBJECTS) $(LFLAGS) `wx-config --libs`
|
||||
|
||||
clean:
|
||||
rm -f *.o $(PROGRAM)
|
||||
|
24
wxPython/contrib/activex/wxie/makefile.mtf
Normal file
24
wxPython/contrib/activex/wxie/makefile.mtf
Normal file
@@ -0,0 +1,24 @@
|
||||
CC = gcc
|
||||
|
||||
PROGRAM = wxIE
|
||||
|
||||
CFLAGS = -I/m/snowball/icicle/gswd/devenv/include -D__WXMOTIF__
|
||||
LFLAGS = -L/m/snowball/icicle/devenv/lib
|
||||
|
||||
# implementation
|
||||
|
||||
.SUFFIXES: .o .cpp
|
||||
|
||||
SOURCES:sh= /bin/ls *.cpp
|
||||
|
||||
OBJECTS = $(SOURCES:.cpp=.o)
|
||||
|
||||
.cpp.o :
|
||||
$(CC) -c $(CFLAGS) `wx-config --cflags` -o $@ $<
|
||||
|
||||
$(PROGRAM): $(OBJECTS)
|
||||
$(CC) -o $(PROGRAM) $(OBJECTS) $(LFLAGS) `wx-config --libs`
|
||||
|
||||
clean:
|
||||
rm -f *.o $(PROGRAM)
|
||||
|
2
wxPython/contrib/activex/wxie/notes.txt
Normal file
2
wxPython/contrib/activex/wxie/notes.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Flash needs the following GUID for its event interface
|
||||
{D27CDB6D-AE6D-11CF-96B8-444553540000}
|
149
wxPython/contrib/activex/wxie/readme.txt
Normal file
149
wxPython/contrib/activex/wxie/readme.txt
Normal file
@@ -0,0 +1,149 @@
|
||||
Lindsay Mathieson
|
||||
Email : <lmathieson@optusnet.com.au>
|
||||
|
||||
This is prelimanary stuff - the controls need extra methods and events etc,
|
||||
feel free to email with suggestions &/or patches.
|
||||
|
||||
Tested with wxWindows 2.3.2.
|
||||
Built with MS Visual C++ 6.0 & DevStudio
|
||||
Minor use of templates and STL
|
||||
|
||||
-----------------------------------------------------------
|
||||
This sample illustrates using wxActiveX and wxIEHtmlWin too:
|
||||
1. Host an arbitrary ActiveX control
|
||||
1.1 - Capture and logging of all events from control
|
||||
2. Specifically host the MSHTML Control
|
||||
|
||||
|
||||
wxActiveX:
|
||||
==========
|
||||
wxActiveX is used to host and siplay any activeX control, all the wxWindows developer
|
||||
needs to know is either the ProgID or CLSID of the control in question.
|
||||
|
||||
Derived From:
|
||||
- wxWindow
|
||||
|
||||
Include Files:
|
||||
- wxactivex.h
|
||||
|
||||
Source Files:
|
||||
- wxactivex.cpp
|
||||
|
||||
Event Handling:
|
||||
---------------
|
||||
- EVT_ACTIVEX(id, eventName, handler) (handler = void OnActiveX(wxActiveXEvent& event))
|
||||
- EVT_ACTIVEX_DISPID(id, eventDispId, handler) (handler = void OnActiveX(wxActiveXEvent& event))
|
||||
class wxActiveXEvent : public wxNotifyEvent
|
||||
wxString EventName();
|
||||
int ParamCount() const;
|
||||
wxString ParamType(int idx);
|
||||
wxString ParamName(int idx);
|
||||
wxVariant operator[] (int idx) const; // parameter by index
|
||||
wxVariant& operator[] (int idx);
|
||||
wxVariant operator[] (wxString name) const; // named parameters
|
||||
wxVariant& operator[] (wxString name);
|
||||
|
||||
|
||||
Members:
|
||||
--------
|
||||
wxActiveX::wxActiveX(wxWindow * parent, REFCLSID clsid, wxWindowID id = -1);
|
||||
- Creates a activeX control identified by clsid
|
||||
e.g
|
||||
wxFrame *frame = new wxFrame(this, -1, "test");
|
||||
wxActiveX *X = new wxActiveX(frame, CLSID_WebBrowser);
|
||||
|
||||
wxActiveX::wxActiveX(wxWindow * parent, wxString progId, wxWindowID id = -1);
|
||||
- Creates a activeX control identified by progId
|
||||
e.g.
|
||||
wxFrame *frame = new wxFrame(this, -1, "test");
|
||||
wxActiveX *X = new wxActiveX(frame, "MSCAL.Calendar");
|
||||
|
||||
|
||||
wxActiveX::~wxActiveX();
|
||||
- Destroys the control
|
||||
- disconnects all connection points
|
||||
|
||||
- int GetEventCount() const;
|
||||
Number of events generated by control
|
||||
|
||||
- const FuncX& GetEvent(int idx) const;
|
||||
Names, Params and Typeinfo for events
|
||||
|
||||
HRESULT wxActiveX::ConnectAdvise(REFIID riid, IUnknown *eventSink);
|
||||
- Connects a event sink. Connections are automaticlly diconnected in the destructor
|
||||
e.g.
|
||||
FS_DWebBrowserEvents2 *events = new FS_DWebBrowserEvents2(iecontrol);
|
||||
hret = iecontrol->ConnectAdvise(DIID_DWebBrowserEvents2, events);
|
||||
if (! SUCCEEDED(hret))
|
||||
delete events;
|
||||
|
||||
|
||||
Sample Events:
|
||||
--------------
|
||||
EVT_ACTIVEX(ID_MSHTML, "BeforeNavigate2", OnMSHTMLBeforeNavigate2X)
|
||||
|
||||
void wxIEFrame::OnMSHTMLBeforeNavigate2X(wxActiveXEvent& event)
|
||||
{
|
||||
wxString url = event["Url"];
|
||||
|
||||
int rc = wxMessageBox(url, "Allow open url ?", wxYES_NO);
|
||||
|
||||
if (rc != wxYES)
|
||||
event["Cancel"] = true;
|
||||
};
|
||||
|
||||
|
||||
wxIEHtmlWin:
|
||||
============
|
||||
wxIEHtmlWin is a specialisation of the wxActiveX control for hosting the MSHTML control.
|
||||
|
||||
Derived From:
|
||||
- wxActiveX
|
||||
- wxWindow
|
||||
|
||||
Event Handling:
|
||||
---------------
|
||||
- see wxActiveX
|
||||
Members:
|
||||
--------
|
||||
wxIEHtmlWin::wxIEHtmlWin(wxWindow * parent, wxWindowID id = -1);
|
||||
- Constructs and initialises the MSHTML control
|
||||
- LoadUrl("about:blank") is called
|
||||
|
||||
wxIEHtmlWin::~wxIEHtmlWin();
|
||||
- destroys the control
|
||||
|
||||
void wxIEHtmlWin::LoadUrl(const wxString&);
|
||||
- Attempts to browse to the url, the control uses its internal (MS)
|
||||
network streams
|
||||
|
||||
bool wxIEHtmlWin::LoadString(wxString html);
|
||||
- Load the passed HTML string
|
||||
|
||||
bool wxIEHtmlWin::LoadStream(istream *strm);
|
||||
- load the passed HTML stream. The control takes ownership of
|
||||
the pointer, deleting when finished.
|
||||
|
||||
bool wxIEHtmlWin::LoadStream(wxInputStream *is);
|
||||
- load the passed HTML stream. The control takes ownership of
|
||||
the pointer, deleting when finished.
|
||||
|
||||
void wxIEHtmlWin::SetCharset(wxString charset);
|
||||
- Sets the charset of the loaded document
|
||||
|
||||
void wxIEHtmlWin::SetEditMode(bool seton);
|
||||
- Sets edit mode.
|
||||
NOTE: This does work, but is bare bones - we need more events exposed before
|
||||
this is usable as an HTML editor.
|
||||
|
||||
bool wxIEHtmlWin::GetEditMode();
|
||||
- Returns the edit mode setting
|
||||
|
||||
wxString wxIEHtmlWin::GetStringSelection(bool asHTML = false);
|
||||
- Returns the currently selected text (plain or HTML text)
|
||||
|
||||
wxString GetText(bool asHTML = false);
|
||||
- Returns the body text (plain or HTML text)
|
||||
|
||||
Lindsay Mathieson
|
||||
Email : <lmathieson@optusnet.com.au>
|
70
wxPython/contrib/activex/wxie/resource.h
Normal file
70
wxPython/contrib/activex/wxie/resource.h
Normal file
@@ -0,0 +1,70 @@
|
||||
/*
|
||||
wxActiveX Library Licence, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 2003 Lindsay Mathieson [, ...]
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this licence document, but changing it is not allowed.
|
||||
|
||||
wxActiveX LIBRARY LICENCE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public Licence as published by
|
||||
the Free Software Foundation; either version 2 of the Licence, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public Licence for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public Licence
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licenced under the wxActiveX Library Licence, applying
|
||||
either version 3 of the Licence, or (at your option) any later version of
|
||||
the Licence as published by the copyright holders of version 3 of the
|
||||
Licence document.
|
||||
|
||||
2. The exception is that you may use, copy, link, modify and distribute
|
||||
under the user's own terms, binary object code versions of works based
|
||||
on the Library.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public Licence or the GNU Library General Public Licence into a
|
||||
copy of this library, as this licence permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
*/
|
||||
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Developer Studio generated include file.
|
||||
// Used by wxIE.rc
|
||||
//
|
||||
#define DUMMY 4
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 102
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
284
wxPython/contrib/activex/wxie/wxActiveXFrame.cpp
Normal file
284
wxPython/contrib/activex/wxie/wxActiveXFrame.cpp
Normal file
@@ -0,0 +1,284 @@
|
||||
/*
|
||||
wxActiveX Library Licence, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 2003 Lindsay Mathieson [, ...]
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this licence document, but changing it is not allowed.
|
||||
|
||||
wxActiveX LIBRARY LICENCE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public Licence as published by
|
||||
the Free Software Foundation; either version 2 of the Licence, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public Licence for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public Licence
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licenced under the wxActiveX Library Licence, applying
|
||||
either version 3 of the Licence, or (at your option) any later version of
|
||||
the Licence as published by the copyright holders of version 3 of the
|
||||
Licence document.
|
||||
|
||||
2. The exception is that you may use, copy, link, modify and distribute
|
||||
under the user's own terms, binary object code versions of works based
|
||||
on the Library.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public Licence or the GNU Library General Public Licence into a
|
||||
copy of this library, as this licence permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
*/
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#if defined(__WXGTK__) || defined(__WXMOTIF__)
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
#include "wx/wxprec.h"
|
||||
#include "wx/filedlg.h"
|
||||
#include "wx/textdlg.h"
|
||||
#include "wxActiveXFrame.h"
|
||||
#include <sstream>
|
||||
using namespace std;
|
||||
#include "wx/splitter.h"
|
||||
#include "wx/textctrl.h"
|
||||
#include "wx/clipbrd.h"
|
||||
#include <wx/msgdlg.h>
|
||||
|
||||
enum
|
||||
{
|
||||
// menu items
|
||||
MENU_GETTYPEINFO = 700,
|
||||
MENU_INVOKEMETHOD,
|
||||
MENU_TEST
|
||||
};
|
||||
|
||||
BEGIN_EVENT_TABLE(wxActiveXFrame, wxFrame)
|
||||
EVT_MENU(MENU_GETTYPEINFO, wxActiveXFrame::OnGetTypeInfo)
|
||||
EVT_MENU(MENU_INVOKEMETHOD, wxActiveXFrame::OnInvokeMethod)
|
||||
EVT_MENU(MENU_TEST, wxActiveXFrame::OnTest)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
|
||||
wxActiveXFrame::wxActiveXFrame(wxWindow *parent, wxString title) :
|
||||
wxFrame(parent, -1, title)
|
||||
{
|
||||
// create a menu bar
|
||||
wxMenu *xMenu = new wxMenu("", wxMENU_TEAROFF);
|
||||
|
||||
xMenu->Append(MENU_GETTYPEINFO, "Get Type Info", "");
|
||||
xMenu->Append(MENU_INVOKEMETHOD, "Invoke Method (no params)", "");
|
||||
xMenu->Append(MENU_TEST, "Test", "For debugging purposes");
|
||||
|
||||
// now append the freshly created menu to the menu bar...
|
||||
wxMenuBar *menuBar = new wxMenuBar();
|
||||
menuBar->Append(xMenu, "&ActiveX");
|
||||
|
||||
// ... and attach this menu bar to the frame
|
||||
SetMenuBar(menuBar);
|
||||
|
||||
wxSplitterWindow *sp = new wxSplitterWindow(this);
|
||||
X = new wxActiveX(sp, title, 101);
|
||||
|
||||
textLog = new wxTextCtrl(sp, -1, "", wxPoint(0,0), wxDefaultSize, wxTE_MULTILINE | wxTE_READONLY);
|
||||
|
||||
sp->SplitHorizontally(X, textLog, 0);
|
||||
|
||||
// conenct all events
|
||||
for (int i = 0; i < X->GetEventCount(); i++)
|
||||
{
|
||||
const wxActiveX::FuncX& func = X->GetEventDesc(i);
|
||||
const wxEventType& ev = RegisterActiveXEvent((DISPID) func.memid);
|
||||
Connect(101, ev, (wxObjectEventFunction) OnActiveXEvent);
|
||||
};
|
||||
}
|
||||
|
||||
wxString VarTypeAsString(VARTYPE vt)
|
||||
{
|
||||
#define VT(vtype, desc) case vtype : return desc
|
||||
|
||||
if (vt & VT_BYREF)
|
||||
vt -= VT_BYREF;
|
||||
|
||||
if (vt & VT_ARRAY)
|
||||
vt -= VT_ARRAY;
|
||||
|
||||
switch (vt)
|
||||
{
|
||||
VT(VT_SAFEARRAY, "SafeArray");
|
||||
VT(VT_EMPTY, "empty");
|
||||
VT(VT_NULL, "null");
|
||||
VT(VT_UI1, "byte");
|
||||
VT(VT_I1, "char");
|
||||
VT(VT_I2, "short");
|
||||
VT(VT_I4, "long");
|
||||
VT(VT_UI2, "unsigned short");
|
||||
VT(VT_UI4, "unsigned long");
|
||||
VT(VT_INT, "int");
|
||||
VT(VT_UINT, "unsigned int");
|
||||
VT(VT_R4, "real(4)");
|
||||
VT(VT_R8, "real(8)");
|
||||
VT(VT_CY, "Currency");
|
||||
VT(VT_DATE, "wxDate");
|
||||
VT(VT_BSTR, "wxString");
|
||||
VT(VT_DISPATCH, "IDispatch");
|
||||
VT(VT_ERROR, "SCode Error");
|
||||
VT(VT_BOOL, "bool");
|
||||
VT(VT_VARIANT, "wxVariant");
|
||||
VT(VT_UNKNOWN, "IUknown");
|
||||
VT(VT_VOID, "void");
|
||||
VT(VT_PTR, "void *");
|
||||
VT(VT_USERDEFINED, "*user defined*");
|
||||
|
||||
default:
|
||||
{
|
||||
wxString s;
|
||||
s << "Unknown(" << vt << ")";
|
||||
return s;
|
||||
};
|
||||
};
|
||||
|
||||
#undef VT
|
||||
};
|
||||
|
||||
#define ENDL "\r\n"
|
||||
|
||||
|
||||
void OutFunc(wxString& os, const wxActiveX::FuncX& func)
|
||||
{
|
||||
os << VarTypeAsString(func.retType.vt) << " " << func.name << "(";
|
||||
for (unsigned int p = 0; p < func.params.size(); p++)
|
||||
{
|
||||
const wxActiveX::ParamX& param = func.params[p];
|
||||
if (param.IsIn() && param.IsOut())
|
||||
os << "[IN OUT] ";
|
||||
else if (param.IsIn())
|
||||
os << "[IN] ";
|
||||
else if (param.IsIn())
|
||||
os << "[OUT] ";
|
||||
os << VarTypeAsString(param.vt) << " " << (param.isPtr ? "*" : "") << param.name;
|
||||
if (p < func.params.size() - 1)
|
||||
os << ", ";
|
||||
};
|
||||
os << ")" << ENDL;
|
||||
};
|
||||
|
||||
void wxActiveXFrame::OnGetTypeInfo(wxCommandEvent& event)
|
||||
{
|
||||
wxString os;
|
||||
|
||||
int i =0;
|
||||
os <<
|
||||
"Props" << ENDL <<
|
||||
"=====" << ENDL;
|
||||
for (i = 0; i < X->GetPropCount(); i++)
|
||||
{
|
||||
wxActiveX::PropX prop = X->GetPropDesc(i);
|
||||
os << VarTypeAsString(prop.type.vt) << " " << prop.name << "(";
|
||||
if (prop.CanSet())
|
||||
{
|
||||
os << VarTypeAsString(prop.arg.vt);
|
||||
};
|
||||
os << ")" << ENDL;
|
||||
|
||||
};
|
||||
os << ENDL;
|
||||
|
||||
os <<
|
||||
"Events" << ENDL <<
|
||||
"======" << ENDL;
|
||||
for (i = 0; i < X->GetEventCount(); i++)
|
||||
OutFunc(os, X->GetEventDesc(i));
|
||||
os << ENDL;
|
||||
|
||||
os <<
|
||||
"Methods" << ENDL <<
|
||||
"=======" << ENDL;
|
||||
for (i = 0; i < X->GetMethodCount(); i++)
|
||||
OutFunc(os, X->GetMethodDesc(i));
|
||||
os << ENDL;
|
||||
|
||||
|
||||
if (wxTheClipboard->Open())
|
||||
{
|
||||
wxDataObjectSimple *wo = new wxTextDataObject(os);
|
||||
wxTheClipboard->SetData(wo);
|
||||
wxTheClipboard->Flush();
|
||||
wxTheClipboard->Close();
|
||||
};
|
||||
|
||||
wxMessageBox(os, "Type Info", wxOK, this);
|
||||
};
|
||||
|
||||
void wxActiveXFrame::OnInvokeMethod(wxCommandEvent& event)
|
||||
{
|
||||
//wxTextEntryDialog dlg(this, "Method");
|
||||
//if (dlg.ShowModal() == wxID_OK)
|
||||
// X->CallMethod(dlg.GetValue());
|
||||
};
|
||||
|
||||
void wxActiveXFrame::OnTest(wxCommandEvent& event)
|
||||
{
|
||||
// flash testing
|
||||
wxVariant args[] = {0L, "http://www.macromedia.com/support/flash/ts/documents/java_script_comm/flash_to_javascript.swf"};
|
||||
X->CallMethod("LoadMovie", args);
|
||||
//X->Prop("Movie") = "http://www.macromedia.com/support/flash/ts/documents/java_script_comm/flash_to_javascript.swf";
|
||||
|
||||
// mc cal testing
|
||||
//X->Prop("year") = 1964L;
|
||||
//X->Prop("Value") = wxDateTime::Now();
|
||||
|
||||
// pdf testing
|
||||
//wxVariant file = "C:\\WINNT\\wx2\\docs\\pdf\\dialoged.pdf";
|
||||
//X->CallMethod("LoadFile", &file);
|
||||
};
|
||||
|
||||
void wxActiveXFrame::OnActiveXEvent(wxActiveXEvent& event)
|
||||
{
|
||||
#ifdef UNICODE
|
||||
wostringstream os;
|
||||
#else
|
||||
ostringstream os;
|
||||
#endif
|
||||
|
||||
os << (const wxChar *) event.EventName() << wxT("(");
|
||||
|
||||
for (int p = 0; p < event.ParamCount(); p++)
|
||||
{
|
||||
os <<
|
||||
(const wxChar *) event.ParamType(p) << wxT(" ") <<
|
||||
(const wxChar *) event.ParamName(p) << wxT(" = ") <<
|
||||
(const wxChar *) (wxString) event[p];
|
||||
if (p < event.ParamCount() - 1)
|
||||
os << wxT(", ");
|
||||
};
|
||||
os << wxT(")") << endl;
|
||||
wxString data = os.str().c_str();
|
||||
textLog->AppendText(data);
|
||||
};
|
||||
|
77
wxPython/contrib/activex/wxie/wxActiveXFrame.h
Normal file
77
wxPython/contrib/activex/wxie/wxActiveXFrame.h
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
wxActiveX Library Licence, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 2003 Lindsay Mathieson [, ...]
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this licence document, but changing it is not allowed.
|
||||
|
||||
wxActiveX LIBRARY LICENCE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public Licence as published by
|
||||
the Free Software Foundation; either version 2 of the Licence, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public Licence for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public Licence
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licenced under the wxActiveX Library Licence, applying
|
||||
either version 3 of the Licence, or (at your option) any later version of
|
||||
the Licence as published by the copyright holders of version 3 of the
|
||||
Licence document.
|
||||
|
||||
2. The exception is that you may use, copy, link, modify and distribute
|
||||
under the user's own terms, binary object code versions of works based
|
||||
on the Library.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public Licence or the GNU Library General Public Licence into a
|
||||
copy of this library, as this licence permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
*/
|
||||
|
||||
#ifndef wxActiveXFrame_h
|
||||
#define wxActiveXFrame_h
|
||||
|
||||
#include "wxactivex.h"
|
||||
|
||||
class wxActiveXFrame : public wxFrame
|
||||
{
|
||||
public:
|
||||
wxActiveX *X;
|
||||
wxTextCtrl *textLog;
|
||||
|
||||
wxActiveXFrame(wxWindow *parent, wxString title);
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
||||
void OnGetTypeInfo(wxCommandEvent& event);
|
||||
void OnInvokeMethod(wxCommandEvent& event);
|
||||
void OnTest(wxCommandEvent& event);
|
||||
void OnActiveXEvent(wxActiveXEvent& event);
|
||||
};
|
||||
|
||||
|
||||
#endif
|
404
wxPython/contrib/activex/wxie/wxIE.dsp
Normal file
404
wxPython/contrib/activex/wxie/wxIE.dsp
Normal file
@@ -0,0 +1,404 @@
|
||||
# Microsoft Developer Studio Project File - Name="wxIE" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=wxIE - Win32 Unicode Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "wxIE.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "wxIE.mak" CFG="wxIE - Win32 Unicode Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "wxIE - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "wxIE - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "wxIE - Win32 Unicode Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "wxIE - Win32 Unicode Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "wxIE - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "$(WXWIN)\include" /I "$(WXWIN)\contrib\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0xc09 /d "NDEBUG"
|
||||
# ADD RSC /l 0xc09 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxmsw.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /libpath:"$(WXWIN)\Lib" /libpath:"$(WXWIN)\contrib\Lib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ELSEIF "$(CFG)" == "wxIE - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "$(WXWIN)\lib\vc_dll\mswd" /I "$(WXWIN)\include" /I "$(WXWIN)\contrib\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /GZ /c
|
||||
# ADD BASE RSC /l 0xc09 /d "_DEBUG"
|
||||
# ADD RSC /l 0xc09 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxbase25d.lib wxbase25d_net.lib wxbase25d_xml.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /pdbtype:sept /libpath:"$(WXWIN)\Lib" /libpath:"$(WXWIN)\lib\vc_dll" /libpath:"$(WXWIN)\contrib\Lib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ELSEIF "$(CFG)" == "wxIE - Win32 Unicode Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "wxIE___Win32_Unicode_Debug"
|
||||
# PROP BASE Intermediate_Dir "wxIE___Win32_Unicode_Debug"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "wxIE___Win32_Unicode_Debug"
|
||||
# PROP Intermediate_Dir "wxIE___Win32_Unicode_Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "$(WXWIN)\include" /I "$(WXWIN)\contrib\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "$(WXWIN)\include" /I "$(WXWIN)\contrib\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D UNICODE=1 /Yu"wx/wxprec.h" /FD /GZ /c
|
||||
# ADD BASE RSC /l 0xc09 /d "_DEBUG"
|
||||
# ADD RSC /l 0xc09 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxmswd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"wxIE.exe" /pdbtype:sept /libpath:"$(WXWIN)\Lib" /libpath:"$(WXWIN)\contrib\Lib"
|
||||
# SUBTRACT BASE LINK32 /pdb:none
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxmswud.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"wxIE.exe" /pdbtype:sept /libpath:"$(WXWIN)\Lib" /libpath:"$(WXWIN)\contrib\Lib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ELSEIF "$(CFG)" == "wxIE - Win32 Unicode Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "wxIE___Win32_Unicode_Release"
|
||||
# PROP BASE Intermediate_Dir "wxIE___Win32_Unicode_Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "wxIE___Win32_Unicode_Release"
|
||||
# PROP Intermediate_Dir "wxIE___Win32_Unicode_Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "$(WXWIN)\include" /I "$(WXWIN)\contrib\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "$(WXWIN)\include" /I "$(WXWIN)\contrib\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0xc09 /d "NDEBUG"
|
||||
# ADD RSC /l 0xc09 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib xpm.lib png.lib zlib.lib jpeg.lib tiff.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"wxIE.exe"
|
||||
# SUBTRACT BASE LINK32 /pdb:none
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxmswu.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"wxIE.exe" /libpath:"$(WXWIN)\Lib" /libpath:"$(WXWIN)\contrib\Lib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "wxIE - Win32 Release"
|
||||
# Name "wxIE - Win32 Debug"
|
||||
# Name "wxIE - Win32 Unicode Debug"
|
||||
# Name "wxIE - Win32 Unicode Release"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\IEHtmlWin.cpp
|
||||
|
||||
!IF "$(CFG)" == "wxIE - Win32 Release"
|
||||
|
||||
# SUBTRACT CPP /YX
|
||||
|
||||
!ELSEIF "$(CFG)" == "wxIE - Win32 Debug"
|
||||
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
|
||||
!ELSEIF "$(CFG)" == "wxIE - Win32 Unicode Debug"
|
||||
|
||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
|
||||
!ELSEIF "$(CFG)" == "wxIE - Win32 Unicode Release"
|
||||
|
||||
# SUBTRACT BASE CPP /YX
|
||||
# SUBTRACT CPP /YX
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wxactivex.cpp
|
||||
|
||||
!IF "$(CFG)" == "wxIE - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "wxIE - Win32 Debug"
|
||||
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
|
||||
!ELSEIF "$(CFG)" == "wxIE - Win32 Unicode Debug"
|
||||
|
||||
# SUBTRACT BASE CPP /YX /Yc /Yu
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
|
||||
!ELSEIF "$(CFG)" == "wxIE - Win32 Unicode Release"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wxActiveXFrame.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wxIE.rc
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wxIEApp.cpp
|
||||
# ADD CPP /Yc"wx/wxprec.h"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wxIEFrm.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\IEHtmlWin.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\resource.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wxactivex.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wxActiveXFrame.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wxIEApp.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wxIEFrm.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\blank.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\bullseye.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\colours.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\cross.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\disable.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\error.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\hand.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\info.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\magnif1.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\noentry.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\pbrush.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\pencil.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\plot_dwn.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\plot_enl.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\plot_shr.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\plot_up.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\plot_zin.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\plot_zot.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\pntleft.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\pntright.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\query.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\question.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\roller.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\size.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\tick.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\tip.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\warning.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wx\msw\watch1.cur
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wxIE.ico
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\default.doxygen
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\license.txt
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\makefile
|
||||
# PROP Exclude_From_Scan -1
|
||||
# PROP BASE Exclude_From_Build 1
|
||||
# PROP Exclude_From_Build 1
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\makefile.gtk
|
||||
# PROP Exclude_From_Scan -1
|
||||
# PROP BASE Exclude_From_Build 1
|
||||
# PROP Exclude_From_Build 1
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\makefile.mtf
|
||||
# PROP Exclude_From_Scan -1
|
||||
# PROP BASE Exclude_From_Build 1
|
||||
# PROP Exclude_From_Build 1
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\notes.txt
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\readme.txt
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wxIE.xpm
|
||||
# PROP Exclude_From_Scan -1
|
||||
# PROP BASE Exclude_From_Build 1
|
||||
# PROP Exclude_From_Build 1
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
BIN
wxPython/contrib/activex/wxie/wxIE.ico
Normal file
BIN
wxPython/contrib/activex/wxie/wxIE.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 766 B |
169
wxPython/contrib/activex/wxie/wxIE.rc
Normal file
169
wxPython/contrib/activex/wxie/wxIE.rc
Normal file
@@ -0,0 +1,169 @@
|
||||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
//#include "afxres.h"
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
#include <winuser.rh>
|
||||
#include <commctrl.rh>
|
||||
#include <dde.rh>
|
||||
#include <winnt.rh>
|
||||
#include <dlgs.h>
|
||||
#include <winver.h>
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Bitmap
|
||||
//
|
||||
|
||||
/*
|
||||
WXDISABLE_BUTTON_BITMAP BITMAP MOVEABLE PURE "wx/msw/disable.bmp"
|
||||
WXBITMAP_STD_COLOURS BITMAP MOVEABLE PURE "wx/msw/colours.bmp"
|
||||
TICK_BMP BITMAP MOVEABLE PURE "wx/msw/tick.bmp"
|
||||
PLOT_ZOT_BMP BITMAP MOVEABLE PURE "wx/msw/plot_zot.bmp"
|
||||
PLOT_ZIN_BMP BITMAP MOVEABLE PURE "wx/msw/plot_zin.bmp"
|
||||
PLOT_UP_BMP BITMAP MOVEABLE PURE "wx/msw/plot_up.bmp"
|
||||
PLOT_SHR_BMP BITMAP MOVEABLE PURE "wx/msw/plot_shr.bmp"
|
||||
PLOT_ENL_BMP BITMAP MOVEABLE PURE "wx/msw/plot_enl.bmp"
|
||||
PLOT_DWN_BMP BITMAP MOVEABLE PURE "wx/msw/plot_dwn.bmp"
|
||||
CROSS_BMP BITMAP MOVEABLE PURE "wx/msw/cross.bmp"
|
||||
*/
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Cursor
|
||||
//
|
||||
|
||||
/*
|
||||
WXCURSOR_WATCH CURSOR DISCARDABLE "wx\\msw\\watch1.cur"
|
||||
WXCURSOR_SIZING CURSOR DISCARDABLE "wx/msw/size.cur"
|
||||
WXCURSOR_ROLLER CURSOR DISCARDABLE "wx/msw/roller.cur"
|
||||
WXCURSOR_QARROW CURSOR DISCARDABLE "wx/msw/query.cur"
|
||||
WXCURSOR_PRIGHT CURSOR DISCARDABLE "wx/msw/pntright.cur"
|
||||
WXCURSOR_PLEFT CURSOR DISCARDABLE "wx/msw/pntleft.cur"
|
||||
WXCURSOR_PENCIL CURSOR DISCARDABLE "wx/msw/pencil.cur"
|
||||
WXCURSOR_PBRUSH CURSOR DISCARDABLE "wx/msw/pbrush.cur"
|
||||
WXCURSOR_NO_ENTRY CURSOR DISCARDABLE "wx/msw/noentry.cur"
|
||||
WXCURSOR_MAGNIFIER CURSOR DISCARDABLE "wx/msw/magnif1.cur"
|
||||
WXCURSOR_HAND CURSOR DISCARDABLE "wx/msw/hand.cur"
|
||||
WXCURSOR_BULLSEYE CURSOR DISCARDABLE "wx/msw/bullseye.cur"
|
||||
WXCURSOR_BLANK CURSOR DISCARDABLE "wx/msw/blank.cur"
|
||||
*/
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
WXRESIZEABLEDIALOG DIALOG DISCARDABLE 34, 22, 144, 75
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
|
||||
BEGIN
|
||||
END
|
||||
|
||||
WXNOCAPTIONDIALOG DIALOG DISCARDABLE 34, 22, 144, 75
|
||||
STYLE WS_POPUP
|
||||
BEGIN
|
||||
END
|
||||
|
||||
WXCAPTIONDIALOG DIALOG DISCARDABLE 34, 22, 144, 75
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Dummy dialog"
|
||||
BEGIN
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
WXIE ICON DISCARDABLE "wxIE.ico"
|
||||
/*
|
||||
WXICON_WARNING ICON DISCARDABLE "wx\\msw\\warning.ico"
|
||||
WXICON_TIP ICON DISCARDABLE "wx/msw/tip.ico"
|
||||
WXICON_QUESTION ICON DISCARDABLE "wx/msw/question.ico"
|
||||
WXICON_INFO ICON DISCARDABLE "wx/msw/info.ico"
|
||||
WXICON_ERROR ICON DISCARDABLE "wx/msw/error.ico"
|
||||
*/
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Menu
|
||||
//
|
||||
|
||||
WXWINDOWMENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Window"
|
||||
BEGIN
|
||||
MENUITEM "&Cascade", 4002
|
||||
MENUITEM "Tile &Horizontally", 4001
|
||||
MENUITEM "Tile &Vertically", 4005
|
||||
MENUITEM "", 65535
|
||||
MENUITEM "&Arrange Icons", 4003
|
||||
MENUITEM "&Next", 4004
|
||||
END
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
44
wxPython/contrib/activex/wxie/wxIE.xpm
Normal file
44
wxPython/contrib/activex/wxie/wxIE.xpm
Normal file
@@ -0,0 +1,44 @@
|
||||
/* XPM */
|
||||
static char *wxIE_xpm[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"32 32 6 1",
|
||||
" c Black",
|
||||
". c Blue",
|
||||
"X c #00bf00",
|
||||
"o c Red",
|
||||
"O c Yellow",
|
||||
"+ c Gray100",
|
||||
/* pixels */
|
||||
" ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" "
|
||||
};
|
99
wxPython/contrib/activex/wxie/wxIEApp.cpp
Normal file
99
wxPython/contrib/activex/wxie/wxIEApp.cpp
Normal file
@@ -0,0 +1,99 @@
|
||||
/*
|
||||
wxActiveX Library Licence, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 2003 Lindsay Mathieson [, ...]
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this licence document, but changing it is not allowed.
|
||||
|
||||
wxActiveX LIBRARY LICENCE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public Licence as published by
|
||||
the Free Software Foundation; either version 2 of the Licence, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public Licence for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public Licence
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licenced under the wxActiveX Library Licence, applying
|
||||
either version 3 of the Licence, or (at your option) any later version of
|
||||
the Licence as published by the copyright holders of version 3 of the
|
||||
Licence document.
|
||||
|
||||
2. The exception is that you may use, copy, link, modify and distribute
|
||||
under the user's own terms, binary object code versions of works based
|
||||
on the Library.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public Licence or the GNU Library General Public Licence into a
|
||||
copy of this library, as this licence permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
*/
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#if defined(__WXGTK__) || defined(__WXMOTIF__)
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
#include "wx/wxprec.h"
|
||||
#include "wxIEApp.h"
|
||||
#include "wxIEFrm.h"
|
||||
#include "resource.h"
|
||||
|
||||
|
||||
|
||||
// Create a new application object: this macro will allow wxWindows to create
|
||||
// the application object during program execution (it's better than using a
|
||||
// static object for many reasons) and also declares the accessor function
|
||||
// wxGetApp() which will return the reference of the right type (i.e. wxIEApp and
|
||||
// not wxApp)
|
||||
IMPLEMENT_APP(wxIEApp)
|
||||
|
||||
// ============================================================================
|
||||
// implementation
|
||||
// ============================================================================
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// the application class
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// 'Main program' equivalent: the program execution "starts" here
|
||||
bool wxIEApp::OnInit()
|
||||
{
|
||||
// create the main application window
|
||||
wxIEFrame *frame = new wxIEFrame(wxT("IE Test"));
|
||||
|
||||
// and show it (the frames, unlike simple controls, are not shown when
|
||||
// created initially)
|
||||
frame->Show(TRUE);
|
||||
|
||||
// success: wxApp::OnRun() will be called which will enter the main message
|
||||
// loop and the application will run. If we returned FALSE here, the
|
||||
// application would exit immediately.
|
||||
return TRUE;
|
||||
}
|
||||
|
66
wxPython/contrib/activex/wxie/wxIEApp.h
Normal file
66
wxPython/contrib/activex/wxie/wxIEApp.h
Normal file
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
wxActiveX Library Licence, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 2003 Lindsay Mathieson [, ...]
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this licence document, but changing it is not allowed.
|
||||
|
||||
wxActiveX LIBRARY LICENCE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public Licence as published by
|
||||
the Free Software Foundation; either version 2 of the Licence, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public Licence for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public Licence
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licenced under the wxActiveX Library Licence, applying
|
||||
either version 3 of the Licence, or (at your option) any later version of
|
||||
the Licence as published by the copyright holders of version 3 of the
|
||||
Licence document.
|
||||
|
||||
2. The exception is that you may use, copy, link, modify and distribute
|
||||
under the user's own terms, binary object code versions of works based
|
||||
on the Library.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public Licence or the GNU Library General Public Licence into a
|
||||
copy of this library, as this licence permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
*/
|
||||
|
||||
// Define a new application type, each program should derive a class from wxApp
|
||||
class wxIEApp : public wxApp
|
||||
{
|
||||
public:
|
||||
// override base class virtuals
|
||||
// ----------------------------
|
||||
|
||||
// this one is called on application startup and is a good place for the app
|
||||
// initialization (doing it here and not in the ctor allows to have an error
|
||||
// return: if OnInit() returns false, the application terminates)
|
||||
virtual bool OnInit();
|
||||
};
|
381
wxPython/contrib/activex/wxie/wxIEFrm.cpp
Normal file
381
wxPython/contrib/activex/wxie/wxIEFrm.cpp
Normal file
@@ -0,0 +1,381 @@
|
||||
/*
|
||||
wxActiveX Library Licence, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 2003 Lindsay Mathieson [, ...]
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this licence document, but changing it is not allowed.
|
||||
|
||||
wxActiveX LIBRARY LICENCE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public Licence as published by
|
||||
the Free Software Foundation; either version 2 of the Licence, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public Licence for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public Licence
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licenced under the wxActiveX Library Licence, applying
|
||||
either version 3 of the Licence, or (at your option) any later version of
|
||||
the Licence as published by the copyright holders of version 3 of the
|
||||
Licence document.
|
||||
|
||||
2. The exception is that you may use, copy, link, modify and distribute
|
||||
under the user's own terms, binary object code versions of works based
|
||||
on the Library.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public Licence or the GNU Library General Public Licence into a
|
||||
copy of this library, as this licence permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
*/
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#if defined(__WXGTK__) || defined(__WXMOTIF__)
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
#include "wx/wxprec.h"
|
||||
#include "wx/filedlg.h"
|
||||
#include "wxIEApp.h"
|
||||
#include "wxIEFrm.h"
|
||||
#include "wxActiveXFrame.h"
|
||||
#include <istream>
|
||||
#include <fstream>
|
||||
using namespace std;
|
||||
#include <exdispid.h>
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// resources
|
||||
// ----------------------------------------------------------------------------
|
||||
// the application icon
|
||||
#if defined(__WXGTK__) || defined(__WXMOTIF__)
|
||||
#include "wxIE.xpm"
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// constants
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// IDs for the controls and the menu commands
|
||||
enum
|
||||
{
|
||||
// menu items
|
||||
FILE_QUIT = 1,
|
||||
FILE_OPEN,
|
||||
FILE_BROWSE,
|
||||
FILE_HTML_EDITMODE,
|
||||
FILE_TEST_HTML,
|
||||
FILE_TEST_SELECT,
|
||||
FILE_TEST_HTMLSELECT,
|
||||
FILE_TEST_GETTEXT,
|
||||
FILE_TEST_HTMLGETTEXT,
|
||||
FILE_TEST_HOME,
|
||||
FILE_TEST_ACTIVEX,
|
||||
FILE_ABOUT,
|
||||
|
||||
// controls
|
||||
ID_MSHTML = 501,
|
||||
ID_PROGRESS_GAUGE
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// event tables and other macros for wxWindows
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// the event tables connect the wxWindows events with the functions (event
|
||||
// handlers) which process them. It can be also done at run-time, but for the
|
||||
// simple menu events like this the static method is much simpler.
|
||||
BEGIN_EVENT_TABLE(wxIEFrame, wxFrame)
|
||||
EVT_SIZE(wxIEFrame::OnSize)
|
||||
EVT_MENU(FILE_QUIT, wxIEFrame::OnQuit)
|
||||
EVT_MENU(FILE_BROWSE, wxIEFrame::OnBrowse)
|
||||
EVT_MENU(FILE_OPEN, wxIEFrame::OnOpen)
|
||||
EVT_MENU(FILE_HTML_EDITMODE, wxIEFrame::OnEditMode)
|
||||
EVT_UPDATE_UI(FILE_HTML_EDITMODE, wxIEFrame::OnEditModeUI)
|
||||
EVT_MENU(FILE_TEST_HTML, wxIEFrame::OnTestHTML)
|
||||
EVT_MENU(FILE_TEST_SELECT, wxIEFrame::OnTestSelect)
|
||||
EVT_MENU(FILE_TEST_HTMLSELECT, wxIEFrame::OnTestHTMLSelect)
|
||||
EVT_MENU(FILE_TEST_GETTEXT, wxIEFrame::OnTestGetText)
|
||||
EVT_MENU(FILE_TEST_HTMLGETTEXT, wxIEFrame::OnTestHTMLGetText)
|
||||
EVT_MENU(FILE_TEST_HOME, wxIEFrame::OnTestHome)
|
||||
EVT_MENU(FILE_TEST_ACTIVEX, wxIEFrame::OnTestActiveX)
|
||||
EVT_MENU(FILE_ABOUT, wxIEFrame::OnAbout)
|
||||
|
||||
// ActiveX Events
|
||||
EVT_ACTIVEX_DISPID(ID_MSHTML, DISPID_STATUSTEXTCHANGE, OnMSHTMLStatusTextChangeX)
|
||||
EVT_ACTIVEX(ID_MSHTML, "BeforeNavigate2", OnMSHTMLBeforeNavigate2X)
|
||||
EVT_ACTIVEX(ID_MSHTML, "TitleChange", OnMSHTMLTitleChangeX)
|
||||
EVT_ACTIVEX(ID_MSHTML, "NewWindow2", OnMSHTMLNewWindow2X)
|
||||
EVT_ACTIVEX(ID_MSHTML, "ProgressChange", OnMSHTMLProgressChangeX)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// main frame
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// frame constructor
|
||||
wxIEFrame::wxIEFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
|
||||
: wxFrame((wxFrame *)NULL, -1, title, pos, size)
|
||||
{
|
||||
// set the frame icon
|
||||
SetIcon(wxICON(wxIE));
|
||||
|
||||
// create a menu bar
|
||||
wxMenu *menuFile = new wxMenu("", wxMENU_TEAROFF);
|
||||
|
||||
// the "About" item should be in the help menu
|
||||
wxMenu *helpMenu = new wxMenu;
|
||||
helpMenu->Append(FILE_ABOUT, "&About...\tCtrl-A", "Show about dialog");
|
||||
|
||||
menuFile->Append(FILE_TEST_HTML, "Test HTML", "Demonstrates LoadString()");
|
||||
menuFile->Append(FILE_OPEN, "Open HTML File", "Demonstrates LoadStream(istream *)");
|
||||
menuFile->Append(FILE_BROWSE, "Browse Web Page", "Demonstrates LoadUrl(url)");
|
||||
menuFile->Append(FILE_HTML_EDITMODE, "Edit Mode", "Demonstrates editing html", true);
|
||||
menuFile->AppendSeparator();
|
||||
menuFile->Append(FILE_TEST_SELECT, "Get Selected Text", "Demonstrates GetStringSelection(false)");
|
||||
menuFile->Append(FILE_TEST_HTMLSELECT, "Get HTML Selected Text", "Demonstrates GetStringSelection(true)");
|
||||
menuFile->AppendSeparator();
|
||||
menuFile->Append(FILE_TEST_GETTEXT, "Get Text", "Demonstrates GetText(false)");
|
||||
menuFile->Append(FILE_TEST_HTMLGETTEXT, "Get HTML Text", "Demonstrates GetText(true)");
|
||||
menuFile->Append(FILE_TEST_HOME, "Open Home Page", "Demonstrates GoHome()");
|
||||
menuFile->AppendSeparator();
|
||||
menuFile->Append(FILE_TEST_ACTIVEX, "Display a ActiveX control", "Demonstrates the Generic ActiveX Container");
|
||||
menuFile->AppendSeparator();
|
||||
menuFile->Append(FILE_QUIT, "E&xit\tAlt-X", "Quit this program");
|
||||
|
||||
// now append the freshly created menu to the menu bar...
|
||||
wxMenuBar *menuBar = new wxMenuBar();
|
||||
menuBar->Append(menuFile, "&File");
|
||||
menuBar->Append(helpMenu, "&Help");
|
||||
|
||||
// ... and attach this menu bar to the frame
|
||||
SetMenuBar(menuBar);
|
||||
|
||||
// create a status bar just for fun (by default with 1 pane only)
|
||||
wxStatusBar * sb = CreateStatusBar(2);
|
||||
SetStatusText("Ready");
|
||||
|
||||
// progress gauge (belongs to status bar)
|
||||
m_gauge = new wxGauge(sb, ID_PROGRESS_GAUGE, 100);
|
||||
|
||||
// IE Control
|
||||
m_ie = new wxIEHtmlWin(this, ID_MSHTML);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// event handlers
|
||||
|
||||
void wxIEFrame::OnSize(wxSizeEvent& event)
|
||||
{
|
||||
wxFrame::OnSize(event);
|
||||
|
||||
wxStatusBar* sb = GetStatusBar();
|
||||
if (! sb)
|
||||
return;
|
||||
|
||||
wxRect rc;
|
||||
sb->GetFieldRect(1, rc);
|
||||
|
||||
m_gauge->SetSize(rc);
|
||||
};
|
||||
|
||||
void wxIEFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
// TRUE is to force the frame to close
|
||||
Close(TRUE);
|
||||
}
|
||||
|
||||
void wxIEFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
wxString msg;
|
||||
msg.Printf( _T("About wxIE...\n"));
|
||||
wxMessageBox(msg, "About wxIE", wxOK | wxICON_INFORMATION, this);
|
||||
}
|
||||
|
||||
void wxIEFrame::OnTestHTML(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
wxString html =
|
||||
"<HTML><BODY><H1>Hello World</H1>Plain Text</body></html>";
|
||||
m_ie->LoadString(html);
|
||||
}
|
||||
|
||||
|
||||
void wxIEFrame::OnTestSelect(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
wxString s = m_ie->GetStringSelection();
|
||||
|
||||
wxMessageBox(s);
|
||||
}
|
||||
|
||||
void wxIEFrame::OnTestHTMLSelect(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
wxString s = m_ie->GetStringSelection(true);
|
||||
|
||||
wxMessageBox(s);
|
||||
}
|
||||
|
||||
void wxIEFrame::OnTestGetText(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
wxString s = m_ie->GetText();
|
||||
|
||||
wxMessageBox(s);
|
||||
}
|
||||
|
||||
void wxIEFrame::OnTestHTMLGetText(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
wxString s = m_ie->GetText(true);
|
||||
|
||||
wxMessageBox(s);
|
||||
}
|
||||
|
||||
void wxIEFrame::OnTestHome(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
m_ie->GoHome();
|
||||
};
|
||||
|
||||
|
||||
void wxIEFrame::OnOpen(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
wxFileDialog dlg(this, "Chooose a HTML File", "", "", "HTML files (*.html; *.htm)|*.html;*.htm|",wxOPEN);
|
||||
|
||||
if (dlg.ShowModal() == wxID_OK)
|
||||
{
|
||||
wxString fname = dlg.GetPath();
|
||||
|
||||
ifstream *is = new ifstream(fname.mb_str());
|
||||
m_ie->LoadStream(is);
|
||||
};
|
||||
}
|
||||
|
||||
void wxIEFrame::OnEditMode(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
m_ie->SetEditMode(! m_ie->GetEditMode());
|
||||
}
|
||||
|
||||
void wxIEFrame::OnEditModeUI(wxUpdateUIEvent& event)
|
||||
{
|
||||
if (m_ie)
|
||||
event.Check(m_ie->GetEditMode());
|
||||
}
|
||||
|
||||
void wxIEFrame::OnBrowse(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
wxString url = wxGetTextFromUser("Enter URL:", "Browse", "", this);
|
||||
|
||||
m_ie->LoadUrl(url);
|
||||
}
|
||||
|
||||
void wxIEFrame::OnMSHTMLStatusTextChangeX(wxActiveXEvent& event)
|
||||
{
|
||||
SetStatusText(event["Text"]);
|
||||
};
|
||||
|
||||
|
||||
void wxIEFrame::OnMSHTMLBeforeNavigate2X(wxActiveXEvent& event)
|
||||
{
|
||||
wxString url = event["Url"];
|
||||
if (url == "about:blank")
|
||||
return;
|
||||
|
||||
int rc = wxMessageBox(url, "Allow open url ?", wxYES_NO);
|
||||
|
||||
if (rc != wxYES)
|
||||
event["Cancel"] = true;
|
||||
};
|
||||
|
||||
void wxIEFrame::OnMSHTMLTitleChangeX(wxActiveXEvent& event)
|
||||
{
|
||||
SetTitle(event["Text"]);
|
||||
};
|
||||
|
||||
|
||||
void wxIEFrame::OnMSHTMLNewWindow2X(wxActiveXEvent& event)
|
||||
{
|
||||
int rc = wxMessageBox("New Window requested", "Allow New Window ?", wxYES_NO);
|
||||
|
||||
if (rc != wxYES)
|
||||
event["Cancel"] = true;
|
||||
};
|
||||
|
||||
|
||||
void wxIEFrame::OnMSHTMLProgressChangeX(wxActiveXEvent& event)
|
||||
{
|
||||
if ((long) event["ProgressMax"] != m_gauge->GetRange())
|
||||
m_gauge->SetRange((long) event["ProgressMax"]);
|
||||
|
||||
m_gauge->SetValue((long) event["Progress"]);
|
||||
};
|
||||
|
||||
void wxIEFrame::OnTestActiveX(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
// Some known prog ids
|
||||
//#define PROGID "Shell.Explorer"
|
||||
//#define PROGID CLSID_WebBrowser
|
||||
//#define PROGID CLSID_MozillaBrowser
|
||||
//#define PROGID CLSID_HTMLDocument
|
||||
//#define PROGID "MSCAL.Calendar"
|
||||
//#define PROGID "WordPad.Document"
|
||||
//#define PROGID "SoftwareFX.ChartFX"
|
||||
//#define PROGID "PDF.PdfCtrl"
|
||||
#define PROGID "ShockwaveFlash.ShockwaveFlash"
|
||||
|
||||
wxDialog dlg(this, -1, wxString(wxT("Test ActiveX")));
|
||||
|
||||
wxFlexGridSizer *sz = new wxFlexGridSizer(2);
|
||||
sz->Add(new wxStaticText(&dlg, -1, wxT("Enter a ActiveX ProgId")), 0, wxALL, 5 );
|
||||
|
||||
wxComboBox *cb = new wxComboBox(&dlg, 101, "");
|
||||
cb->Append(wxT("ShockwaveFlash.ShockwaveFlash"));
|
||||
cb->Append(wxT("MSCAL.Calendar"));
|
||||
cb->Append(wxT("Shell.Explorer"));
|
||||
cb->Append(wxT("WordPad.Document.1"));
|
||||
cb->Append(wxT("SoftwareFX.ChartFX.20"));
|
||||
cb->Append(wxT("PDF.PdfCtrl.5"));
|
||||
cb->SetSelection(0);
|
||||
|
||||
sz->Add(cb, 0, wxALL, 5 );
|
||||
|
||||
// next row
|
||||
sz->Add(new wxButton(&dlg, wxID_CANCEL, "Cancel"), 0, wxALIGN_RIGHT|wxALL, 5 );
|
||||
sz->Add(new wxButton(&dlg, wxID_OK, "Ok"), 0, wxALIGN_RIGHT|wxALL, 5 );
|
||||
|
||||
dlg.SetAutoLayout( TRUE );
|
||||
dlg.SetSizer(sz);
|
||||
sz->Fit(&dlg);
|
||||
sz->SetSizeHints(&dlg);
|
||||
|
||||
|
||||
if (dlg.ShowModal() == wxID_OK)
|
||||
{
|
||||
wxString progId = cb->GetValue();
|
||||
wxActiveXFrame *frame = new wxActiveXFrame(this, progId);
|
||||
frame->Show();
|
||||
};
|
||||
}
|
||||
|
95
wxPython/contrib/activex/wxie/wxIEFrm.h
Normal file
95
wxPython/contrib/activex/wxie/wxIEFrm.h
Normal file
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
wxActiveX Library Licence, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 2003 Lindsay Mathieson [, ...]
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this licence document, but changing it is not allowed.
|
||||
|
||||
wxActiveX LIBRARY LICENCE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public Licence as published by
|
||||
the Free Software Foundation; either version 2 of the Licence, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public Licence for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public Licence
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licenced under the wxActiveX Library Licence, applying
|
||||
either version 3 of the Licence, or (at your option) any later version of
|
||||
the Licence as published by the copyright holders of version 3 of the
|
||||
Licence document.
|
||||
|
||||
2. The exception is that you may use, copy, link, modify and distribute
|
||||
under the user's own terms, binary object code versions of works based
|
||||
on the Library.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public Licence or the GNU Library General Public Licence into a
|
||||
copy of this library, as this licence permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
*/
|
||||
|
||||
#include "IEHtmlWin.h"
|
||||
#include "wx/gauge.h"
|
||||
|
||||
// Define a new frame type: this is going to be our main frame
|
||||
class wxIEFrame : public wxFrame
|
||||
{
|
||||
public:
|
||||
wxIEHtmlWin *m_ie;
|
||||
wxGauge *m_gauge;
|
||||
|
||||
// ctor(s)
|
||||
wxIEFrame(const wxString& title, const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize);
|
||||
|
||||
// event handlers (these functions should _not_ be virtual)
|
||||
void OnSize(wxSizeEvent& event);
|
||||
void OnQuit(wxCommandEvent& event);
|
||||
void OnAbout(wxCommandEvent& event);
|
||||
|
||||
void OnEditMode(wxCommandEvent& event);
|
||||
void OnEditModeUI(wxUpdateUIEvent& event);
|
||||
void OnBrowse(wxCommandEvent& event);
|
||||
void OnOpen(wxCommandEvent& event);
|
||||
void OnTestHTML(wxCommandEvent& event);
|
||||
void OnTestSelect(wxCommandEvent& event);
|
||||
void OnTestHTMLSelect(wxCommandEvent& event);
|
||||
void OnTestGetText(wxCommandEvent& event);
|
||||
void OnTestHTMLGetText(wxCommandEvent& event);
|
||||
void OnTestHome(wxCommandEvent& event);
|
||||
void OnTestActiveX(wxCommandEvent& event);
|
||||
|
||||
private:
|
||||
// any class wishing to process wxWindows events must use this macro
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
||||
void OnMSHTMLStatusTextChangeX(wxActiveXEvent& event);
|
||||
void OnMSHTMLBeforeNavigate2X(wxActiveXEvent& event);
|
||||
void OnMSHTMLTitleChangeX(wxActiveXEvent& event);
|
||||
void OnMSHTMLNewWindow2X(wxActiveXEvent& event);
|
||||
void OnMSHTMLProgressChangeX(wxActiveXEvent& event);
|
||||
};
|
2714
wxPython/contrib/activex/wxie/wxactivex.cpp
Normal file
2714
wxPython/contrib/activex/wxie/wxactivex.cpp
Normal file
File diff suppressed because it is too large
Load Diff
676
wxPython/contrib/activex/wxie/wxactivex.h
Normal file
676
wxPython/contrib/activex/wxie/wxactivex.h
Normal file
@@ -0,0 +1,676 @@
|
||||
/*
|
||||
wxActiveX Library Licence, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 2003 Lindsay Mathieson [, ...]
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this licence document, but changing it is not allowed.
|
||||
|
||||
wxActiveX LIBRARY LICENCE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public Licence as published by
|
||||
the Free Software Foundation; either version 2 of the Licence, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public Licence for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public Licence
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licenced under the wxActiveX Library Licence, applying
|
||||
either version 3 of the Licence, or (at your option) any later version of
|
||||
the Licence as published by the copyright holders of version 3 of the
|
||||
Licence document.
|
||||
|
||||
2. The exception is that you may use, copy, link, modify and distribute
|
||||
under the user's own terms, binary object code versions of works based
|
||||
on the Library.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public Licence or the GNU Library General Public Licence into a
|
||||
copy of this library, as this licence permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
*/
|
||||
|
||||
/*! \file wxactivex.h
|
||||
\brief implements wxActiveX window class and OLE tools
|
||||
*/
|
||||
|
||||
#ifndef WX_ACTIVE_X
|
||||
#define WX_ACTIVE_X
|
||||
#pragma warning( disable : 4101 4786)
|
||||
#pragma warning( disable : 4786)
|
||||
|
||||
|
||||
#include <wx/setup.h>
|
||||
#include <wx/wx.h>
|
||||
#include <wx/variant.h>
|
||||
#include <wx/datetime.h>
|
||||
#include <oleidl.h>
|
||||
#include <exdisp.h>
|
||||
#include <docobj.h>
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
using namespace std;
|
||||
|
||||
/// \brief wxActiveX Namespace for stuff I want to keep out of other tools way.
|
||||
namespace NS_wxActiveX
|
||||
{
|
||||
/// STL utilty class.
|
||||
/// specific to wxActiveX, for creating
|
||||
/// case insenstive maps etc
|
||||
struct less_wxStringI
|
||||
{
|
||||
bool operator()(const wxString& x, const wxString& y) const
|
||||
{
|
||||
return x.CmpNoCase(y) < 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
//////////////////////////////////////////
|
||||
/// Template class for smart interface handling.
|
||||
/// - Automatically dereferences ole interfaces
|
||||
/// - Smart Copy Semantics
|
||||
/// - Can Create Interfaces
|
||||
/// - Can query for other interfaces
|
||||
template <class I> class wxAutoOleInterface
|
||||
{
|
||||
protected:
|
||||
I *m_interface;
|
||||
|
||||
public:
|
||||
/// takes ownership of an existing interface
|
||||
/// Assumed to already have a AddRef() applied
|
||||
explicit wxAutoOleInterface(I *pInterface = NULL) : m_interface(pInterface) {}
|
||||
|
||||
/// queries for an interface
|
||||
wxAutoOleInterface(REFIID riid, IUnknown *pUnk) : m_interface(NULL)
|
||||
{
|
||||
QueryInterface(riid, pUnk);
|
||||
};
|
||||
/// queries for an interface
|
||||
wxAutoOleInterface(REFIID riid, IDispatch *pDispatch) : m_interface(NULL)
|
||||
{
|
||||
QueryInterface(riid, pDispatch);
|
||||
};
|
||||
|
||||
/// Creates an Interface
|
||||
wxAutoOleInterface(REFCLSID clsid, REFIID riid) : m_interface(NULL)
|
||||
{
|
||||
CreateInstance(clsid, riid);
|
||||
};
|
||||
|
||||
/// copy constructor
|
||||
wxAutoOleInterface(const wxAutoOleInterface<I>& ti) : m_interface(NULL)
|
||||
{
|
||||
operator = (ti);
|
||||
}
|
||||
|
||||
/// assignment operator
|
||||
wxAutoOleInterface<I>& operator = (const wxAutoOleInterface<I>& ti)
|
||||
{
|
||||
if (ti.m_interface)
|
||||
ti.m_interface->AddRef();
|
||||
Free();
|
||||
m_interface = ti.m_interface;
|
||||
return *this;
|
||||
}
|
||||
|
||||
/// takes ownership of an existing interface
|
||||
/// Assumed to already have a AddRef() applied
|
||||
wxAutoOleInterface<I>& operator = (I *&ti)
|
||||
{
|
||||
Free();
|
||||
m_interface = ti;
|
||||
return *this;
|
||||
}
|
||||
|
||||
/// invokes Free()
|
||||
~wxAutoOleInterface()
|
||||
{
|
||||
Free();
|
||||
};
|
||||
|
||||
|
||||
/// Releases interface (i.e decrements refCount)
|
||||
inline void Free()
|
||||
{
|
||||
if (m_interface)
|
||||
m_interface->Release();
|
||||
m_interface = NULL;
|
||||
};
|
||||
|
||||
/// queries for an interface
|
||||
HRESULT QueryInterface(REFIID riid, IUnknown *pUnk)
|
||||
{
|
||||
Free();
|
||||
wxCHECK(pUnk != NULL, -1);
|
||||
return pUnk->QueryInterface(riid, (void **) &m_interface);
|
||||
};
|
||||
|
||||
/// Create a Interface instance
|
||||
HRESULT CreateInstance(REFCLSID clsid, REFIID riid)
|
||||
{
|
||||
Free();
|
||||
return CoCreateInstance(clsid, NULL, CLSCTX_ALL, riid, (void **) &m_interface);
|
||||
};
|
||||
|
||||
|
||||
/// returns the interface pointer
|
||||
inline operator I *() const {return m_interface;}
|
||||
|
||||
/// returns the dereferenced interface pointer
|
||||
inline I* operator ->() {return m_interface;}
|
||||
/// returns a pointer to the interface pointer
|
||||
inline I** GetRef() {return &m_interface;}
|
||||
/// returns true if we have a valid interface pointer
|
||||
inline bool Ok() const {return m_interface != NULL;}
|
||||
};
|
||||
|
||||
|
||||
/// \brief Converts a std HRESULT to its error code.
|
||||
/// Hardcoded, by no means a definitive list.
|
||||
wxString OLEHResultToString(HRESULT hr);
|
||||
/// \brief Returns the string description of a IID.
|
||||
/// Hardcoded, by no means a definitive list.
|
||||
wxString GetIIDName(REFIID riid);
|
||||
|
||||
//#define __WXOLEDEBUG
|
||||
|
||||
|
||||
#ifdef __WXOLEDEBUG
|
||||
#define WXOLE_TRACE(str) {OutputDebugString(str);OutputDebugString("\r\n");}
|
||||
#define WXOLE_TRACEOUT(stuff)\
|
||||
{\
|
||||
wxString os;\
|
||||
os << stuff << "\r\n";\
|
||||
WXOLE_TRACE(os.mb_str());\
|
||||
}
|
||||
|
||||
#define WXOLE_WARN(__hr,msg)\
|
||||
{\
|
||||
if (__hr != S_OK)\
|
||||
{\
|
||||
wxString s = "*** ";\
|
||||
s += msg;\
|
||||
s += " : "+ OLEHResultToString(__hr);\
|
||||
WXOLE_TRACE(s.c_str());\
|
||||
}\
|
||||
}
|
||||
#else
|
||||
#define WXOLE_TRACE(str)
|
||||
#define WXOLE_TRACEOUT(stuff)
|
||||
#define WXOLE_WARN(_proc,msg) {_proc;}
|
||||
#endif
|
||||
|
||||
class wxOleInit
|
||||
{
|
||||
public:
|
||||
static IMalloc *GetIMalloc();
|
||||
|
||||
wxOleInit();
|
||||
~wxOleInit();
|
||||
};
|
||||
|
||||
#define DECLARE_OLE_UNKNOWN(cls)\
|
||||
private:\
|
||||
class TAutoInitInt\
|
||||
{\
|
||||
public:\
|
||||
LONG l;\
|
||||
TAutoInitInt() : l(0) {}\
|
||||
};\
|
||||
TAutoInitInt refCount, lockCount;\
|
||||
wxOleInit oleInit;\
|
||||
static void _GetInterface(cls *self, REFIID iid, void **_interface, const char *&desc);\
|
||||
public:\
|
||||
LONG GetRefCount();\
|
||||
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void ** ppvObject);\
|
||||
ULONG STDMETHODCALLTYPE AddRef();\
|
||||
ULONG STDMETHODCALLTYPE Release();\
|
||||
ULONG STDMETHODCALLTYPE AddLock();\
|
||||
ULONG STDMETHODCALLTYPE ReleaseLock()
|
||||
|
||||
#define DEFINE_OLE_TABLE(cls)\
|
||||
LONG cls::GetRefCount() {return refCount.l;}\
|
||||
HRESULT STDMETHODCALLTYPE cls::QueryInterface(REFIID iid, void ** ppvObject)\
|
||||
{\
|
||||
if (! ppvObject)\
|
||||
{\
|
||||
WXOLE_TRACE("*** NULL POINTER ***");\
|
||||
return E_FAIL;\
|
||||
};\
|
||||
const char *desc = NULL;\
|
||||
cls::_GetInterface(this, iid, ppvObject, desc);\
|
||||
if (! *ppvObject)\
|
||||
{\
|
||||
WXOLE_TRACEOUT("<" << GetIIDName(iid).c_str() << "> Not Found");\
|
||||
return E_NOINTERFACE;\
|
||||
};\
|
||||
WXOLE_TRACEOUT("QI : <" << desc <<">");\
|
||||
((IUnknown * )(*ppvObject))->AddRef();\
|
||||
return S_OK;\
|
||||
};\
|
||||
ULONG STDMETHODCALLTYPE cls::AddRef()\
|
||||
{\
|
||||
WXOLE_TRACEOUT(# cls << "::Add ref(" << refCount.l << ")");\
|
||||
InterlockedIncrement(&refCount.l);\
|
||||
return refCount.l;\
|
||||
};\
|
||||
ULONG STDMETHODCALLTYPE cls::Release()\
|
||||
{\
|
||||
if (refCount.l > 0)\
|
||||
{\
|
||||
InterlockedDecrement(&refCount.l);\
|
||||
WXOLE_TRACEOUT(# cls << "::Del ref(" << refCount.l << ")");\
|
||||
if (refCount.l == 0)\
|
||||
{\
|
||||
delete this;\
|
||||
return 0;\
|
||||
};\
|
||||
return refCount.l;\
|
||||
}\
|
||||
else\
|
||||
return 0;\
|
||||
}\
|
||||
ULONG STDMETHODCALLTYPE cls::AddLock()\
|
||||
{\
|
||||
WXOLE_TRACEOUT(# cls << "::Add Lock(" << lockCount.l << ")");\
|
||||
InterlockedIncrement(&lockCount.l);\
|
||||
return lockCount.l;\
|
||||
};\
|
||||
ULONG STDMETHODCALLTYPE cls::ReleaseLock()\
|
||||
{\
|
||||
if (lockCount.l > 0)\
|
||||
{\
|
||||
InterlockedDecrement(&lockCount.l);\
|
||||
WXOLE_TRACEOUT(# cls << "::Del Lock(" << lockCount.l << ")");\
|
||||
return lockCount.l;\
|
||||
}\
|
||||
else\
|
||||
return 0;\
|
||||
}\
|
||||
DEFINE_OLE_BASE(cls)
|
||||
|
||||
#define DEFINE_OLE_BASE(cls)\
|
||||
void cls::_GetInterface(cls *self, REFIID iid, void **_interface, const char *&desc)\
|
||||
{\
|
||||
*_interface = NULL;\
|
||||
desc = NULL;
|
||||
|
||||
#define OLE_INTERFACE(_iid, _type)\
|
||||
if (IsEqualIID(iid, _iid))\
|
||||
{\
|
||||
WXOLE_TRACE("Found Interface <" # _type ">");\
|
||||
*_interface = (IUnknown *) (_type *) self;\
|
||||
desc = # _iid;\
|
||||
return;\
|
||||
}
|
||||
|
||||
#define OLE_IINTERFACE(_face) OLE_INTERFACE(IID_##_face, _face)
|
||||
|
||||
#define OLE_INTERFACE_CUSTOM(func)\
|
||||
if (func(self, iid, _interface, desc))\
|
||||
{\
|
||||
return;\
|
||||
}
|
||||
|
||||
#define END_OLE_TABLE\
|
||||
}
|
||||
|
||||
|
||||
/// Main class for embedding a ActiveX control.
|
||||
/// Use by itself or derive from it
|
||||
/// \note The utility program (wxie) can generate a list of events, methods & properties
|
||||
/// for a control.
|
||||
/// First display the control (File|Display),
|
||||
/// then get the type info (ActiveX|Get Type Info) - these are copied to the clipboard.
|
||||
/// Eventually this will be expanded to autogenerate
|
||||
/// wxWindows source files for a control with all methods etc encapsulated.
|
||||
/// \par Usage:
|
||||
/// construct using a ProgId or class id
|
||||
/// \code new wxActiveX(parent, CLSID_WebBrowser, id, pos, size, style, name)\endcode
|
||||
/// \code new wxActiveX(parent, "ShockwaveFlash.ShockwaveFlash", id, pos, size, style, name)\endcode
|
||||
/// \par Properties
|
||||
/// Properties can be set using \c SetProp() and set/retrieved using \c Prop()
|
||||
/// \code SetProp(name, wxVariant(x)) \endcode or
|
||||
/// \code wxString Prop("<name>") = x\endcode
|
||||
/// \code wxString result = Prop("<name>")\endcode
|
||||
/// \code flash_ctl.Prop("movie") = "file:///movies/test.swf";\endcode
|
||||
/// \code flash_ctl.Prop("Playing") = false;\endcode
|
||||
/// \code wxString current_movie = flash_ctl.Prop("movie");\endcode
|
||||
/// \par Methods
|
||||
/// Methods are invoked with \c CallMethod()
|
||||
/// \code wxVariant result = CallMethod("<name>", args, nargs = -1)\endcode
|
||||
/// \code wxVariant args[] = {0L, "file:///e:/dev/wxie/bug-zap.swf"};
|
||||
/// wxVariant result = X->CallMethod("LoadMovie", args);\endcode
|
||||
/// \par events
|
||||
/// respond to events with the
|
||||
/// \c EVT_ACTIVEX(controlId, eventName, handler) &
|
||||
/// \c EVT_ACTIVEX_DISPID(controlId, eventDispId, handler) macros
|
||||
/// \code
|
||||
/// BEGIN_EVENT_TABLE(wxIEFrame, wxFrame)
|
||||
/// EVT_ACTIVEX_DISPID(ID_MSHTML, DISPID_STATUSTEXTCHANGE, OnMSHTMLStatusTextChangeX)
|
||||
/// EVT_ACTIVEX(ID_MSHTML, "BeforeNavigate2", OnMSHTMLBeforeNavigate2X)
|
||||
/// EVT_ACTIVEX(ID_MSHTML, "TitleChange", OnMSHTMLTitleChangeX)
|
||||
/// EVT_ACTIVEX(ID_MSHTML, "NewWindow2", OnMSHTMLNewWindow2X)
|
||||
/// EVT_ACTIVEX(ID_MSHTML, "ProgressChange", OnMSHTMLProgressChangeX)
|
||||
/// END_EVENT_TABLE()\endcode
|
||||
class wxActiveX : public wxWindow {
|
||||
public:
|
||||
/// General parameter and return type infoformation for Events, Properties and Methods.
|
||||
/// refer to ELEMDESC, IDLDESC in MSDN
|
||||
class ParamX
|
||||
{
|
||||
public:
|
||||
USHORT flags;
|
||||
bool isPtr;
|
||||
bool isSafeArray;
|
||||
bool isOptional;
|
||||
VARTYPE vt;
|
||||
wxString name;
|
||||
|
||||
ParamX() : isOptional(false), vt(VT_EMPTY) {}
|
||||
inline bool IsIn() const {return (flags & IDLFLAG_FIN) != 0;}
|
||||
inline bool IsOut() const {return (flags & IDLFLAG_FOUT) != 0;}
|
||||
inline bool IsRetVal() const {return (flags & IDLFLAG_FRETVAL) != 0;}
|
||||
};
|
||||
typedef vector<ParamX> ParamXArray;
|
||||
|
||||
|
||||
/// Type & Parameter info for Events and Methods.
|
||||
/// refer to FUNCDESC in MSDN
|
||||
class FuncX
|
||||
{
|
||||
public:
|
||||
wxString name;
|
||||
MEMBERID memid;
|
||||
bool hasOut;
|
||||
|
||||
ParamX retType;
|
||||
ParamXArray params;
|
||||
};
|
||||
typedef vector<FuncX> FuncXArray;
|
||||
|
||||
|
||||
/// Type info for properties.
|
||||
class PropX
|
||||
{
|
||||
public:
|
||||
wxString name;
|
||||
MEMBERID memid;
|
||||
ParamX type;
|
||||
ParamX arg;
|
||||
bool putByRef;
|
||||
|
||||
PropX() : putByRef (false) {}
|
||||
inline bool CanGet() const {return type.vt != VT_EMPTY;}
|
||||
inline bool CanSet() const {return arg.vt != VT_EMPTY;}
|
||||
};
|
||||
typedef vector<PropX> PropXArray;
|
||||
|
||||
|
||||
/// Create using clsid.
|
||||
wxActiveX(wxWindow * parent, REFCLSID clsid, wxWindowID id = -1,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = 0,
|
||||
const wxString& name = wxPanelNameStr);
|
||||
/// create using progid.
|
||||
wxActiveX(wxWindow * parent, const wxString& progId, wxWindowID id = -1,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = 0,
|
||||
const wxString& name = wxPanelNameStr);
|
||||
virtual ~wxActiveX();
|
||||
|
||||
/// Number of events defined for this control.
|
||||
inline int GetEventCount() const {return m_events.size();}
|
||||
/// returns event description by index.
|
||||
/// throws exception for invalid index
|
||||
const FuncX& GetEventDesc(int idx) const;
|
||||
|
||||
/// Number of properties defined for this control.
|
||||
inline int GetPropCount() const {return m_props.size();}
|
||||
/// returns property description by index.
|
||||
/// throws exception for invalid index
|
||||
const PropX& GetPropDesc(int idx) const;
|
||||
/// returns property description by name.
|
||||
/// throws exception for invalid name
|
||||
const PropX& GetPropDesc(const wxString& name) const;
|
||||
|
||||
/// Number of methods defined for this control.
|
||||
inline int GetMethodCount() const {return m_methods.size();}
|
||||
/// returns method description by name.
|
||||
/// throws exception for invalid index
|
||||
const FuncX& GetMethodDesc(int idx) const;
|
||||
/// returns method description by name.
|
||||
/// throws exception for invalid name
|
||||
const FuncX& GetMethodDesc(const wxString& name) const;
|
||||
|
||||
/// Set property VARIANTARG value by MEMBERID.
|
||||
void SetProp(MEMBERID name, VARIANTARG& value);
|
||||
/// Set property using wxVariant by name.
|
||||
void SetProp(const wxString &name, const wxVariant &value);
|
||||
|
||||
class wxPropertySetter
|
||||
{
|
||||
public:
|
||||
wxActiveX *m_ctl;
|
||||
wxString m_propName;
|
||||
|
||||
wxPropertySetter(wxActiveX *ctl, const wxString& propName) :
|
||||
m_ctl(ctl), m_propName(propName) {}
|
||||
|
||||
inline const wxPropertySetter& operator = (wxVariant v) const
|
||||
{
|
||||
m_ctl->SetProp(m_propName, v);
|
||||
return *this;
|
||||
};
|
||||
|
||||
inline operator wxVariant() const {return m_ctl->GetPropAsWxVariant(m_propName);};
|
||||
inline operator wxString() const {return m_ctl->GetPropAsString(m_propName);};
|
||||
inline operator char() const {return m_ctl->GetPropAsChar(m_propName);};
|
||||
inline operator long() const {return m_ctl->GetPropAsLong(m_propName);};
|
||||
inline operator bool() const {return m_ctl->GetPropAsBool(m_propName);};
|
||||
inline operator double() const {return m_ctl->GetPropAsDouble(m_propName);};
|
||||
inline operator wxDateTime() const {return m_ctl->GetPropAsDateTime(m_propName);};
|
||||
inline operator void *() const {return m_ctl->GetPropAsPointer(m_propName);};
|
||||
};
|
||||
|
||||
/// \fn inline wxPropertySetter Prop(wxString name) {return wxPropertySetter(this, name);}
|
||||
/// \param name Property name to read/set
|
||||
/// \return wxPropertySetter, which has overloads for setting/getting the property
|
||||
/// \brief Generic Get/Set Property by name.
|
||||
/// Automatically handles most types
|
||||
/// \par Usage:
|
||||
/// - Prop("\<name\>") = \<value\>
|
||||
/// - var = Prop("\<name\>")
|
||||
/// - e.g:
|
||||
/// - \code flash_ctl.Prop("movie") = "file:///movies/test.swf";\endcode
|
||||
/// - \code flash_ctl.Prop("Playing") = false;\endcode
|
||||
/// - \code wxString current_movie = flash_ctl.Prop("movie");\endcode
|
||||
/// \exception raises exception if \<name\> is invalid
|
||||
/// \note Have to add a few more type conversions yet ...
|
||||
inline wxPropertySetter Prop(wxString name) {return wxPropertySetter(this, name);}
|
||||
|
||||
VARIANT GetPropAsVariant(MEMBERID name);
|
||||
VARIANT GetPropAsVariant(const wxString& name);
|
||||
wxVariant GetPropAsWxVariant(const wxString& name);
|
||||
wxString GetPropAsString(const wxString& name);
|
||||
char GetPropAsChar(const wxString& name);
|
||||
long GetPropAsLong(const wxString& name);
|
||||
bool GetPropAsBool(const wxString& name);
|
||||
double GetPropAsDouble(const wxString& name);
|
||||
wxDateTime GetPropAsDateTime(const wxString& name);
|
||||
void *GetPropAsPointer(const wxString& name);
|
||||
|
||||
// methods
|
||||
// VARIANTARG form is passed straight to Invoke,
|
||||
// so args in *REVERSE* order
|
||||
VARIANT CallMethod(MEMBERID name, VARIANTARG args[], int argc);
|
||||
VARIANT CallMethod(const wxString& name, VARIANTARG args[] = NULL, int argc = -1);
|
||||
// args are in *NORMAL* order
|
||||
// args can be a single wxVariant or an array
|
||||
/// \fn wxVariant CallMethod(wxString name, wxVariant args[], int nargs = -1);
|
||||
/// \param name name of method to call
|
||||
/// \param args array of wxVariant's, defaults to NULL (no args)
|
||||
/// \param nargs number of arguments passed via args. Defaults to actual number of args for the method
|
||||
/// \return wxVariant
|
||||
/// \brief Call a method of the ActiveX control.
|
||||
/// Automatically handles most types
|
||||
/// \par Usage:
|
||||
/// - result = CallMethod("\<name\>", args, nargs)
|
||||
/// - e.g.
|
||||
/// - \code
|
||||
/// wxVariant args[] = {0L, "file:///e:/dev/wxie/bug-zap.swf"};
|
||||
/// wxVariant result = X->CallMethod("LoadMovie", args);\endcode
|
||||
/// \exception raises exception if \<name\> is invalid
|
||||
/// \note Since wxVariant has built in type conversion, most the std types can be passed easily
|
||||
wxVariant CallMethod(const wxString& name, wxVariant args[], int nargs = -1);
|
||||
|
||||
HRESULT ConnectAdvise(REFIID riid, IUnknown *eventSink);
|
||||
|
||||
void OnSize(wxSizeEvent&);
|
||||
void OnPaint(wxPaintEvent& event);
|
||||
void OnMouse(wxMouseEvent& event);
|
||||
void OnSetFocus(wxFocusEvent&);
|
||||
void OnKillFocus(wxFocusEvent&);
|
||||
|
||||
DECLARE_EVENT_TABLE();
|
||||
|
||||
protected:
|
||||
friend class FrameSite;
|
||||
friend class wxActiveXEvents;
|
||||
|
||||
|
||||
typedef map<MEMBERID, int> MemberIdMap;
|
||||
typedef map<wxString, int, NS_wxActiveX::less_wxStringI> NameMap;
|
||||
|
||||
typedef wxAutoOleInterface<IConnectionPoint> wxOleConnectionPoint;
|
||||
typedef pair<wxOleConnectionPoint, DWORD> wxOleConnection;
|
||||
typedef vector<wxOleConnection> wxOleConnectionArray;
|
||||
|
||||
wxAutoOleInterface<IDispatch> m_Dispatch;
|
||||
wxAutoOleInterface<IOleClientSite> m_clientSite;
|
||||
wxAutoOleInterface<IUnknown> m_ActiveX;
|
||||
wxAutoOleInterface<IOleObject> m_oleObject;
|
||||
wxAutoOleInterface<IOleInPlaceObject> m_oleInPlaceObject;
|
||||
wxAutoOleInterface<IOleInPlaceActiveObject>
|
||||
|
||||
m_oleInPlaceActiveObject;
|
||||
wxAutoOleInterface<IOleDocumentView> m_docView;
|
||||
wxAutoOleInterface<IViewObject> m_viewObject;
|
||||
HWND m_oleObjectHWND;
|
||||
bool m_bAmbientUserMode;
|
||||
DWORD m_docAdviseCookie;
|
||||
wxOleConnectionArray m_connections;
|
||||
|
||||
void CreateActiveX(REFCLSID clsid);
|
||||
void CreateActiveX(LPOLESTR progId);
|
||||
HRESULT AmbientPropertyChanged(DISPID dispid);
|
||||
|
||||
void GetTypeInfo();
|
||||
void GetTypeInfo(ITypeInfo *ti, bool defInterface, bool defEventSink);
|
||||
|
||||
|
||||
// events
|
||||
FuncXArray m_events;
|
||||
MemberIdMap m_eventMemberIds;
|
||||
|
||||
// properties
|
||||
PropXArray m_props;
|
||||
NameMap m_propNames;
|
||||
|
||||
// Methods
|
||||
FuncXArray m_methods;
|
||||
NameMap m_methodNames;
|
||||
|
||||
long MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
|
||||
};
|
||||
|
||||
// events
|
||||
class wxActiveXEvent : public wxCommandEvent
|
||||
{
|
||||
private:
|
||||
friend class wxActiveXEvents;
|
||||
|
||||
wxVariant m_params;
|
||||
|
||||
public:
|
||||
|
||||
virtual wxEvent *Clone() const { return new wxActiveXEvent(*this); }
|
||||
|
||||
wxString EventName();
|
||||
int ParamCount() const;
|
||||
wxString ParamType(int idx);
|
||||
wxString ParamName(int idx);
|
||||
wxVariant& operator[] (int idx);
|
||||
wxVariant& operator[] (wxString name);
|
||||
|
||||
private:
|
||||
DECLARE_CLASS(wxActiveXEvent)
|
||||
};
|
||||
|
||||
const wxEventType& RegisterActiveXEvent(const wxChar *eventName);
|
||||
const wxEventType& RegisterActiveXEvent(DISPID event);
|
||||
|
||||
typedef void (wxEvtHandler::*wxActiveXEventFunction)(wxActiveXEvent&);
|
||||
|
||||
/// \def EVT_ACTIVEX(id, eventName, fn)
|
||||
/// \brief Event handle for events by name
|
||||
#define EVT_ACTIVEX(id, eventName, fn) DECLARE_EVENT_TABLE_ENTRY(RegisterActiveXEvent(wxT(eventName)), id, -1, (wxObjectEventFunction) (wxEventFunction) (wxActiveXEventFunction) & fn, (wxObject *) NULL ),
|
||||
/// \def EVT_ACTIVEX_DISPID(id, eventDispId, fn)
|
||||
/// \brief Event handle for events by DISPID (dispath id)
|
||||
#define EVT_ACTIVEX_DISPID(id, eventDispId, fn) DECLARE_EVENT_TABLE_ENTRY(RegisterActiveXEvent(eventDispId), id, -1, (wxObjectEventFunction) (wxEventFunction) (wxActiveXEventFunction) & fn, (wxObject *) NULL ),
|
||||
|
||||
//util
|
||||
bool wxDateTimeToVariant(wxDateTime dt, VARIANTARG& va);
|
||||
bool VariantToWxDateTime(VARIANTARG va, wxDateTime& dt);
|
||||
/// \relates wxActiveX
|
||||
/// \fn bool MSWVariantToVariant(VARIANTARG& va, wxVariant& vx);
|
||||
/// \param va VARAIANTARG to convert from
|
||||
/// \param vx Destination wxVariant
|
||||
/// \return success/failure (true/false)
|
||||
/// \brief Convert MSW VARIANTARG to wxVariant.
|
||||
/// Handles basic types, need to add:
|
||||
/// - VT_ARRAY | VT_*
|
||||
/// - better support for VT_UNKNOWN (currently treated as void *)
|
||||
/// - better support for VT_DISPATCH (currently treated as void *)
|
||||
bool MSWVariantToVariant(VARIANTARG& va, wxVariant& vx);
|
||||
/// \relates wxActiveX
|
||||
/// \fn bool VariantToMSWVariant(const wxVariant& vx, VARIANTARG& va);
|
||||
/// \param vx wxVariant to convert from
|
||||
/// \param va Destination VARIANTARG
|
||||
/// \return success/failure (true/false)
|
||||
/// \brief Convert wxVariant to MSW VARIANTARG.
|
||||
/// Handles basic types, need to add:
|
||||
/// - VT_ARRAY | VT_*
|
||||
/// - better support for VT_UNKNOWN (currently treated as void *)
|
||||
/// - better support for VT_DISPATCH (currently treated as void *)
|
||||
bool VariantToMSWVariant(const wxVariant& vx, VARIANTARG& va);
|
||||
|
||||
#endif /* _IEHTMLWIN_H_ */
|
2
wxPython/contrib/activex/wxie/zip.bat
Executable file
2
wxPython/contrib/activex/wxie/zip.bat
Executable file
@@ -0,0 +1,2 @@
|
||||
del wxie.zip
|
||||
pkzip -max -add -dir -recurse -excl=CVS\*.* -excl=CVS\*.* -excl=debug\*.* wxie *.*
|
Reference in New Issue
Block a user