]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/contrib/activex/activex.py
   1 # This file was created automatically by SWIG. 
   2 # Don't modify this file, modify the SWIG interface instead. 
   6 def _swig_setattr_nondynamic(self
,class_type
,name
,value
,static
=1): 
   8         if isinstance(value
, class_type
): 
   9             self
.__dict
__[name
] = value
.this
 
  10             if hasattr(value
,"thisown"): self
.__dict
__["thisown"] = value
.thisown
 
  13     method 
= class_type
.__swig
_setmethods
__.get(name
,None) 
  14     if method
: return method(self
,value
) 
  15     if (not static
) or hasattr(self
,name
) or (name 
== "thisown"): 
  16         self
.__dict
__[name
] = value
 
  18         raise AttributeError("You cannot add attributes to %s" % self
) 
  20 def _swig_setattr(self
,class_type
,name
,value
): 
  21     return _swig_setattr_nondynamic(self
,class_type
,name
,value
,0) 
  23 def _swig_getattr(self
,class_type
,name
): 
  24     method 
= class_type
.__swig
_getmethods
__.get(name
,None) 
  25     if method
: return method(self
) 
  26     raise AttributeError,name
 
  30     _object 
= types
.ObjectType
 
  32 except AttributeError: 
  38 def _swig_setattr_nondynamic_method(set): 
  39     def set_attr(self
,name
,value
): 
  40         if hasattr(self
,name
) or (name 
in ("this", "thisown")): 
  43             raise AttributeError("You cannot add attributes to %s" % self
) 
  49 __docfilter__ 
= wx
.__DocFilter
(globals())  
  50 #--------------------------------------------------------------------------- 
  54     This class wraps the Windows CLSID structure and is used to 
  55     specify the class of the ActiveX object that is to be created.  A 
  56     CLSID can be constructed from either a ProgID string, (such as 
  57     'WordPad.Document.1') or a classID string, (such as 
  58     '{CA8A9783-280D-11CF-A24D-444553540000}'). 
  61         return "<%s.%s; proxy of C++ CLSID instance at %s>" % (self
.__class
__.__module
__, self
.__class
__.__name
__, self
.this
,) 
  62     def __init__(self
, *args
, **kwargs
): 
  64         __init__(self, String id) -> CLSID 
  66         This class wraps the Windows CLSID structure and is used to 
  67         specify the class of the ActiveX object that is to be created.  A 
  68         CLSID can be constructed from either a ProgID string, (such as 
  69         'WordPad.Document.1') or a classID string, (such as 
  70         '{CA8A9783-280D-11CF-A24D-444553540000}'). 
  72         newobj 
= _activex
.new_CLSID(*args
, **kwargs
) 
  73         self
.this 
= newobj
.this
 
  76     def __del__(self
, destroy
=_activex
.delete_CLSID
): 
  79             if self
.thisown
: destroy(self
) 
  82     def GetCLSIDString(*args
, **kwargs
): 
  83         """GetCLSIDString(self) -> String""" 
  84         return _activex
.CLSID_GetCLSIDString(*args
, **kwargs
) 
  86     def GetProgIDString(*args
, **kwargs
): 
  87         """GetProgIDString(self) -> String""" 
  88         return _activex
.CLSID_GetProgIDString(*args
, **kwargs
) 
  90     def __str__(self
):   return self
.GetCLSIDString()  
  92 class CLSIDPtr(CLSID
): 
  93     def __init__(self
, this
): 
  95         if not hasattr(self
,"thisown"): self
.thisown 
= 0 
  96         self
.__class
__ = CLSID
 
  97 _activex
.CLSID_swigregister(CLSIDPtr
) 
  99 #--------------------------------------------------------------------------- 
 101 class ParamX(object): 
 102     """Proxy of C++ ParamX class""" 
 103     def __init__(self
): raise RuntimeError, "No constructor defined" 
 105         return "<%s.%s; proxy of C++ wxParamX instance at %s>" % (self
.__class
__.__module
__, self
.__class
__.__name
__, self
.this
,) 
 106     flags 
= property(_activex
.ParamX_flags_get
) 
 107     isPtr 
= property(_activex
.ParamX_isPtr_get
) 
 108     isSafeArray 
= property(_activex
.ParamX_isSafeArray_get
) 
 109     isOptional 
= property(_activex
.ParamX_isOptional_get
) 
 110     vt 
= property(_activex
.ParamX_vt_get
) 
 111     name 
= property(_activex
.ParamX_name_get
) 
 112     vt_type 
= property(_activex
.ParamX_vt_type_get
) 
 114     isIn 
= property(_activex
.ParamX_IsIn
) 
 116     isOut 
= property(_activex
.ParamX_IsOut
) 
 118     isRetVal 
= property(_activex
.ParamX_IsRetVal
) 
 121 class ParamXPtr(ParamX
): 
 122     def __init__(self
, this
): 
 124         if not hasattr(self
,"thisown"): self
.thisown 
= 0 
 125         self
.__class
__ = ParamX
 
 126 _activex
.ParamX_swigregister(ParamXPtr
) 
 129     """Proxy of C++ FuncX class""" 
 130     def __init__(self
): raise RuntimeError, "No constructor defined" 
 132         return "<%s.%s; proxy of C++ wxFuncX instance at %s>" % (self
.__class
__.__module
__, self
.__class
__.__name
__, self
.this
,) 
 133     name 
= property(_activex
.FuncX_name_get
) 
 134     memid 
= property(_activex
.FuncX_memid_get
) 
 135     hasOut 
= property(_activex
.FuncX_hasOut_get
) 
 136     retType 
= property(_activex
.FuncX_retType_get
) 
 137     params 
= property(_activex
.FuncX_params_get
) 
 139 class FuncXPtr(FuncX
): 
 140     def __init__(self
, this
): 
 142         if not hasattr(self
,"thisown"): self
.thisown 
= 0 
 143         self
.__class
__ = FuncX
 
 144 _activex
.FuncX_swigregister(FuncXPtr
) 
 147     """Proxy of C++ PropX class""" 
 148     def __init__(self
): raise RuntimeError, "No constructor defined" 
 150         return "<%s.%s; proxy of C++ wxPropX instance at %s>" % (self
.__class
__.__module
__, self
.__class
__.__name
__, self
.this
,) 
 151     name 
= property(_activex
.PropX_name_get
) 
 152     memid 
= property(_activex
.PropX_memid_get
) 
 153     type = property(_activex
.PropX_type_get
) 
 154     arg 
= property(_activex
.PropX_arg_get
) 
 155     putByRef 
= property(_activex
.PropX_putByRef_get
) 
 156     canGet 
= property(_activex
.PropX_CanGet
) 
 158     canSet 
= property(_activex
.PropX_CanSet
) 
 161 class PropXPtr(PropX
): 
 162     def __init__(self
, this
): 
 164         if not hasattr(self
,"thisown"): self
.thisown 
= 0 
 165         self
.__class
__ = PropX
 
 166 _activex
.PropX_swigregister(PropXPtr
) 
 168 class ParamXArray(object): 
 169     """Proxy of C++ ParamXArray class""" 
 170     def __init__(self
): raise RuntimeError, "No constructor defined" 
 172         return "<%s.%s; proxy of C++ wxParamXArray instance at %s>" % (self
.__class
__.__module
__, self
.__class
__.__name
__, self
.this
,) 
 173     def __nonzero__(*args
, **kwargs
): 
 174         """__nonzero__(self) -> bool""" 
 175         return _activex
.ParamXArray___nonzero__(*args
, **kwargs
) 
 177     def __len__(*args
, **kwargs
): 
 178         """__len__(self) -> int""" 
 179         return _activex
.ParamXArray___len__(*args
, **kwargs
) 
 181     def __getitem__(*args
, **kwargs
): 
 182         """__getitem__(self, int idx) -> ParamX""" 
 183         return _activex
.ParamXArray___getitem__(*args
, **kwargs
) 
 186 class ParamXArrayPtr(ParamXArray
): 
 187     def __init__(self
, this
): 
 189         if not hasattr(self
,"thisown"): self
.thisown 
= 0 
 190         self
.__class
__ = ParamXArray
 
 191 _activex
.ParamXArray_swigregister(ParamXArrayPtr
) 
 193 class FuncXArray(object): 
 194     """Proxy of C++ FuncXArray class""" 
 195     def __init__(self
): raise RuntimeError, "No constructor defined" 
 197         return "<%s.%s; proxy of C++ wxFuncXArray instance at %s>" % (self
.__class
__.__module
__, self
.__class
__.__name
__, self
.this
,) 
 198     def __nonzero__(*args
, **kwargs
): 
 199         """__nonzero__(self) -> bool""" 
 200         return _activex
.FuncXArray___nonzero__(*args
, **kwargs
) 
 202     def __len__(*args
, **kwargs
): 
 203         """__len__(self) -> int""" 
 204         return _activex
.FuncXArray___len__(*args
, **kwargs
) 
 206     def __getitem__(*args
, **kwargs
): 
 207         """__getitem__(self, int idx) -> FuncX""" 
 208         return _activex
.FuncXArray___getitem__(*args
, **kwargs
) 
 211 class FuncXArrayPtr(FuncXArray
): 
 212     def __init__(self
, this
): 
 214         if not hasattr(self
,"thisown"): self
.thisown 
= 0 
 215         self
.__class
__ = FuncXArray
 
 216 _activex
.FuncXArray_swigregister(FuncXArrayPtr
) 
 218 class PropXArray(object): 
 219     """Proxy of C++ PropXArray class""" 
 220     def __init__(self
): raise RuntimeError, "No constructor defined" 
 222         return "<%s.%s; proxy of C++ wxPropXArray instance at %s>" % (self
.__class
__.__module
__, self
.__class
__.__name
__, self
.this
,) 
 223     def __nonzero__(*args
, **kwargs
): 
 224         """__nonzero__(self) -> bool""" 
 225         return _activex
.PropXArray___nonzero__(*args
, **kwargs
) 
 227     def __len__(*args
, **kwargs
): 
 228         """__len__(self) -> int""" 
 229         return _activex
.PropXArray___len__(*args
, **kwargs
) 
 231     def __getitem__(*args
, **kwargs
): 
 232         """__getitem__(self, int idx) -> PropX""" 
 233         return _activex
.PropXArray___getitem__(*args
, **kwargs
) 
 236 class PropXArrayPtr(PropXArray
): 
 237     def __init__(self
, this
): 
 239         if not hasattr(self
,"thisown"): self
.thisown 
= 0 
 240         self
.__class
__ = PropXArray
 
 241 _activex
.PropXArray_swigregister(PropXArrayPtr
) 
 243 #--------------------------------------------------------------------------- 
 245 class ActiveXWindow(_core
.Window
): 
 247     ActiveXWindow derives from wxWindow and the constructor accepts a 
 248     CLSID for the ActiveX Control that should be created.  The 
 249     ActiveXWindow class simply adds methods that allow you to query 
 250     some of the TypeInfo exposed by the ActiveX object, and also to 
 251     get/set properties or call methods by name.  The Python 
 252     implementation automatically handles converting parameters and 
 253     return values to/from the types expected by the ActiveX code as 
 254     specified by the TypeInfo. 
 258         return "<%s.%s; proxy of C++ wxActiveXWindow instance at %s>" % (self
.__class
__.__module
__, self
.__class
__.__name
__, self
.this
,) 
 259     def __init__(self
, *args
, **kwargs
): 
 261         __init__(self, Window parent, CLSID clsId, int id=-1, Point pos=DefaultPosition,  
 262             Size size=DefaultSize, long style=0,  
 263             String name=PanelNameStr) -> ActiveXWindow 
 265         Creates an ActiveX control from the clsID given and makes it act 
 266         as much like a regular wx.Window as possible. 
 268         newobj 
= _activex
.new_ActiveXWindow(*args
, **kwargs
) 
 269         self
.this 
= newobj
.this
 
 272         self
._setOORInfo
(self
) 
 274     def GetCLSID(*args
, **kwargs
): 
 276         GetCLSID(self) -> CLSID 
 278         Return the CLSID used to construct this ActiveX window 
 280         return _activex
.ActiveXWindow_GetCLSID(*args
, **kwargs
) 
 282     def GetAXEventCount(*args
, **kwargs
): 
 284         GetAXEventCount(self) -> int 
 286         Number of events defined for this control 
 288         return _activex
.ActiveXWindow_GetAXEventCount(*args
, **kwargs
) 
 290     def GetAXEventDesc(*args
, **kwargs
): 
 292         GetAXEventDesc(self, int idx) -> FuncX 
 294         Returns event description by index 
 296         return _activex
.ActiveXWindow_GetAXEventDesc(*args
, **kwargs
) 
 298     def GetAXPropCount(*args
, **kwargs
): 
 300         GetAXPropCount(self) -> int 
 302         Number of properties defined for this control 
 304         return _activex
.ActiveXWindow_GetAXPropCount(*args
, **kwargs
) 
 306     def GetAXPropDesc(*args
): 
 308         GetAXPropDesc(self, int idx) -> PropX 
 309         GetAXPropDesc(self, String name) -> PropX 
 311         return _activex
.ActiveXWindow_GetAXPropDesc(*args
) 
 313     def GetAXMethodCount(*args
, **kwargs
): 
 315         GetAXMethodCount(self) -> int 
 317         Number of methods defined for this control 
 319         return _activex
.ActiveXWindow_GetAXMethodCount(*args
, **kwargs
) 
 321     def GetAXMethodDesc(*args
): 
 323         GetAXMethodDesc(self, int idx) -> FuncX 
 324         GetAXMethodDesc(self, String name) -> FuncX 
 326         return _activex
.ActiveXWindow_GetAXMethodDesc(*args
) 
 328     def GetAXEvents(*args
, **kwargs
): 
 330         GetAXEvents(self) -> FuncXArray 
 332         Returns a sequence of FuncX objects describing the events 
 333         available for this ActiveX object. 
 335         return _activex
.ActiveXWindow_GetAXEvents(*args
, **kwargs
) 
 337     def GetAXMethods(*args
, **kwargs
): 
 339         GetAXMethods(self) -> FuncXArray 
 341         Returns a sequence of FuncX objects describing the methods 
 342         available for this ActiveX object. 
 344         return _activex
.ActiveXWindow_GetAXMethods(*args
, **kwargs
) 
 346     def GetAXProperties(*args
, **kwargs
): 
 348         GetAXProperties(self) -> PropXArray 
 350         Returns a sequence of PropX objects describing the properties 
 351         available for this ActiveX object. 
 353         return _activex
.ActiveXWindow_GetAXProperties(*args
, **kwargs
) 
 355     def SetAXProp(*args
, **kwargs
): 
 357         SetAXProp(self, String name, PyObject value) 
 359         Set a property of the ActiveX object by name. 
 361         return _activex
.ActiveXWindow_SetAXProp(*args
, **kwargs
) 
 363     def GetAXProp(*args
, **kwargs
): 
 365         GetAXProp(self, String name) -> PyObject 
 367         Get the value of an ActiveX property by name. 
 369         return _activex
.ActiveXWindow_GetAXProp(*args
, **kwargs
) 
 371     def _CallAXMethod(*args
): 
 373         _CallAXMethod(self, String name, PyObject args) -> PyObject 
 375         The implementation for CallMethod.  Calls an ActiveX method, by 
 376         name passing the parameters given in args. 
 378         return _activex
.ActiveXWindow__CallAXMethod(*args
) 
 380     def CallAXMethod(self
, name
, *args
): 
 382         Front-end for _CallMethod.  Simply passes all positional args 
 383         after the name as a single tuple to _CallMethod. 
 385         return self
._CallAXMethod
(name
, args
) 
 388 class ActiveXWindowPtr(ActiveXWindow
): 
 389     def __init__(self
, this
): 
 391         if not hasattr(self
,"thisown"): self
.thisown 
= 0 
 392         self
.__class
__ = ActiveXWindow
 
 393 _activex
.ActiveXWindow_swigregister(ActiveXWindowPtr
) 
 395 #--------------------------------------------------------------------------- 
 398 def RegisterActiveXEvent(*args
, **kwargs
): 
 400     RegisterActiveXEvent(String eventName) -> wxEventType 
 402     Creates a standard wx event ID for the given eventName. 
 404     return _activex
.RegisterActiveXEvent(*args
, **kwargs
) 
 405 class ActiveXEvent(_core
.CommandEvent
): 
 407     An instance of ActiveXEvent is sent to the handler for all bound 
 408     ActiveX events.  Any event parameters from the ActiveX cntrol are 
 409     turned into attributes of the Python proxy for this event object. 
 410     Additionally, there is a property called eventName that will 
 411     return (surprisingly <wink>) the name of the ActiveX event. 
 413     def __init__(self
): raise RuntimeError, "No constructor defined" 
 415         return "<%s.%s; proxy of C++ wxActiveXEvent instance at %s>" % (self
.__class
__.__module
__, self
.__class
__.__name
__, self
.this
,) 
 416     eventName 
= property(_activex
.ActiveXEvent_EventName
) 
 418     def _preCallInit(*args
, **kwargs
): 
 419         """_preCallInit(self, PyObject pyself)""" 
 420         return _activex
.ActiveXEvent__preCallInit(*args
, **kwargs
) 
 422     def _postCallCleanup(*args
, **kwargs
): 
 423         """_postCallCleanup(self, PyObject pyself)""" 
 424         return _activex
.ActiveXEvent__postCallCleanup(*args
, **kwargs
) 
 427 class ActiveXEventPtr(ActiveXEvent
): 
 428     def __init__(self
, this
): 
 430         if not hasattr(self
,"thisown"): self
.thisown 
= 0 
 431         self
.__class
__ = ActiveXEvent
 
 432 _activex
.ActiveXEvent_swigregister(ActiveXEventPtr
) 
 434 #--------------------------------------------------------------------------- 
 436 class IEHtmlWindowBase(ActiveXWindow
): 
 438         return "<%s.%s; proxy of C++ wxIEHtmlWindowBase instance at %s>" % (self
.__class
__.__module
__, self
.__class
__.__name
__, self
.this
,) 
 439     def __init__(self
, *args
, **kwargs
): 
 440         newobj 
= _activex
.new_IEHtmlWindowBase(*args
, **kwargs
) 
 441         self
.this 
= newobj
.this
 
 444         self
._setOORInfo
(self
) 
 446     def SetCharset(*args
, **kwargs
): return _activex
.IEHtmlWindowBase_SetCharset(*args
, **kwargs
) 
 447     def LoadString(*args
, **kwargs
): return _activex
.IEHtmlWindowBase_LoadString(*args
, **kwargs
) 
 448     def LoadStream(*args
, **kwargs
): return _activex
.IEHtmlWindowBase_LoadStream(*args
, **kwargs
) 
 449     def GetStringSelection(*args
, **kwargs
): return _activex
.IEHtmlWindowBase_GetStringSelection(*args
, **kwargs
) 
 450     def GetText(*args
, **kwargs
): return _activex
.IEHtmlWindowBase_GetText(*args
, **kwargs
) 
 452 class IEHtmlWindowBasePtr(IEHtmlWindowBase
): 
 453     def __init__(self
, this
): 
 455         if not hasattr(self
,"thisown"): self
.thisown 
= 0 
 456         self
.__class
__ = IEHtmlWindowBase
 
 457 _activex
.IEHtmlWindowBase_swigregister(IEHtmlWindowBasePtr
) 
 459 #--------------------------------------------------------------------------- 
 460 # Some helper and utility functions for ActiveX 
 468     Returns a printable summary of the TypeInfo from the ActiveX instance 
 472     def ProcessFuncX(f
, out
, name
): 
 474         out
.append(t4 
+ "retType:  %s" % f
.retType
.vt_type
) 
 476             out
.append(t4 
+ "params:") 
 478                 out
.append(t8 
+ p
.name
) 
 479                 out
.append(t8
+t4
+ "in:%s  out:%s  optional:%s  type:%s" % (p
.isIn
, p
.isOut
, p
.isOptional
, p
.vt_type
)) 
 482     def ProcessPropX(p
, out
): 
 483         out
.append(GernerateAXModule
.trimPropName(p
.name
)) 
 484         out
.append(t4
+ "type:%s  arg:%s  canGet:%s  canSet:%s" % (p
.type.vt_type
, p
.arg
.vt_type
, p
.canGet
, p
.canSet
)) 
 489     out
.append("PROPERTIES") 
 491     for p 
in ax
.GetAXProperties(): 
 495     out
.append("METHODS") 
 497     for m 
in ax
.GetAXMethods(): 
 498         ProcessFuncX(m
, out
, GernerateAXModule
.trimMethodName(m
.name
)) 
 503     for e 
in ax
.GetAXEvents(): 
 504         ProcessFuncX(e
, out
, GernerateAXModule
.trimEventName(e
.name
)) 
 507     return "\n".join(out
) 
 511 class GernerateAXModule
: 
 512     def __init__(self
, ax
, className
, modulePath
, moduleName
=None, verbose
=False): 
 514         Make a Python module file with a class that has been specialized 
 515         for the AcitveX object. 
 517             ax           An instance of the ActiveXWindow class 
 518             className    The name to use for the new class 
 519             modulePath   The path where the new module should be written to 
 520             moduleName   The name of the .py file to create.  If not given 
 521                          then the className will be used. 
 524         if moduleName 
is None: 
 525             moduleName 
= className 
+ '.py' 
 526         filename 
= os
.path
.join(modulePath
, moduleName
) 
 528             print "Creating module in:", filename
 
 529             print "  ProgID:  ", ax
.GetCLSID().GetProgIDString() 
 530             print "  CLSID:   ", ax
.GetCLSID().GetCLSIDString() 
 532         self
.mf 
= file(filename
, "w") 
 533         self
.WriteFileHeader(ax
) 
 535         self
.WriteClassHeader(ax
, className
) 
 536         self
.WriteMethods(ax
) 
 537         self
.WriteProperties(ax
) 
 543     def WriteFileHeader(self
, ax
): 
 544         self
.write("# This module was generated by the wx.activex.GernerateAXModule class\n" 
 545                    "# (See also the genaxmodule script.)\n") 
 546         self
.write("import wx") 
 547         self
.write("import wx.activex\n") 
 548         self
.write("clsID = '%s'\nprogID = '%s'\n" 
 549                    % (ax
.GetCLSID().GetCLSIDString(), ax
.GetCLSID().GetProgIDString())) 
 553     def WriteEvents(self
, ax
): 
 554         events 
= ax
.GetAXEvents() 
 556             self
.write("# Create eventTypes and event binders") 
 558                 self
.write("wxEVT_%s = wx.activex.RegisterActiveXEvent('%s')" 
 559                            % (self
.trimEventName(e
.name
), e
.name
)) 
 562                 n 
= self
.trimEventName(e
.name
) 
 563                 self
.write("EVT_%s = wx.PyEventBinder(wxEVT_%s, 1)" % (n
,n
)) 
 567     def WriteClassHeader(self
, ax
, className
): 
 568         self
.write("# Derive a new class from ActiveXWindow") 
 570 class %s(wx.activex.ActiveXWindow): 
 571     def __init__(self, parent, ID=-1, pos=wx.DefaultPosition, 
 572                  size=wx.DefaultSize, style=0, name='%s'): 
 573         wx.activex.ActiveXWindow.__init__(self, parent, 
 574             wx.activex.CLSID('%s'), 
 575             ID, pos, size, style, name) 
 576         """ % (className
, className
, ax
.GetCLSID().GetCLSIDString()) ) 
 579     def WriteMethods(self
, ax
): 
 580         methods 
= ax
.GetAXMethods() 
 582             self
.write(t4
, "# Methods exported by the ActiveX object") 
 584                 name 
= self
.trimMethodName(m
.name
) 
 585                 self
.write(t4
, "def %s(self%s):" % (name
, self
.getParameters(m
, True))) 
 586                 self
.write(t8
, "return self.CallAXMethod('%s'%s)" % (m
.name
, self
.getParameters(m
, False))) 
 590     def WriteProperties(self
, ax
): 
 591         props 
= ax
.GetAXProperties() 
 593             self
.write(t4
, "# Getters, Setters and properties") 
 595                 getterName 
= setterName 
= "None" 
 597                     getterName 
= "_get_" + p
.name
 
 598                     self
.write(t4
, "def %s(self):" % getterName
) 
 599                     self
.write(t8
, "return self.GetAXProp('%s')" % p
.name
) 
 601                     setterName 
= "_set_" + p
.name
 
 602                     self
.write(t4
, "def %s(self, %s):" % (setterName
, p
.arg
.name
)) 
 603                     self
.write(t8
, "self.SetAXProp('%s', %s)" % (p
.name
, p
.arg
.name
)) 
 605                 self
.write(t4
, "%s = property(%s, %s)" % 
 606                            (self
.trimPropName(p
.name
), getterName
, setterName
)) 
 610     def WriteDocs(self
, ax
): 
 613         for line 
in doc
.split('\n'): 
 614             self
.write("#  ", line
) 
 618     def write(self
, *args
): 
 624     def trimEventName(name
): 
 625         if name
.startswith("On"): 
 628     trimEventName 
= staticmethod(trimEventName
) 
 631     def trimPropName(name
): 
 632         #name = name[0].lower() + name[1:] 
 635         if name 
in keyword
.kwlist
: name 
+= '_' 
 637     trimPropName 
= staticmethod(trimPropName
) 
 640     def trimMethodName(name
): 
 642         if name 
in keyword
.kwlist
: name 
+= '_' 
 644     trimMethodName 
= staticmethod(trimMethodName
) 
 647     def getParameters(self
, m
, withDefaults
): 
 650         # collect the input parameters, if both isIn and isOut are 
 651         # False then assume it is an input paramater 
 654             if p
.isIn 
or (not p
.isIn 
and not p
.isOut
): 
 659             if name 
in keyword
.kwlist
: name 
+= '_' 
 662             if withDefaults 
and p
.isOptional
: 
 667 #---------------------------------------------------------------------------