]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wx/lib/activexwrapper.py
move wxPython to new trunk
[wxWidgets.git] / wxPython / wx / lib / activexwrapper.py
diff --git a/wxPython/wx/lib/activexwrapper.py b/wxPython/wx/lib/activexwrapper.py
deleted file mode 100644 (file)
index 67d09d6..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-#----------------------------------------------------------------------
-# Name:        wxPython.lib.activexwrapper
-# Purpose:     a wxWindow derived class that can hold an ActiveX control
-#
-# Author:      Robin Dunn
-#
-# RCS-ID:      $Id$
-# Copyright:   (c) 2000 by Total Control Software
-# Licence:     wxWindows license
-#----------------------------------------------------------------------
-# 11/30/2003 - Jeff Grimmett (grimmtooth@softhome.net)
-#
-# o Updated for wx namespace
-# o Tested with updated demo
-# 
-
-import  wx
-
-try:
-    import win32ui
-    import pywin.mfc.activex
-    import win32com.client
-except ImportError:
-    import sys
-    if hasattr(sys, "frozen"):
-        import os, win32api
-        dllpath = os.path.join(win32api.GetSystemDirectory(), 'MFC71.DLL')
-        if sys.version[:3] >= '2.4' and not os.path.exists(dllpath):
-            message = "%s not found" % dllpath
-        else:
-            raise       # original error message
-    else:
-        message = "ActiveXWrapper requires PythonWin. Please install the PyWin32 package." 
-    raise ImportError(message) 
-
-##from win32con import WS_TABSTOP, WS_VISIBLE
-WS_TABSTOP = 0x00010000
-WS_VISIBLE = 0x10000000
-
-#----------------------------------------------------------------------
-
-
-def MakeActiveXClass(CoClass, eventClass=None, eventObj=None):
-    """
-    Dynamically construct a new class that derives from wxWindow, the
-    ActiveX control and the appropriate COM classes.  This new class
-    can be used just like the wxWindow class, but will also respond
-    appropriately to the methods and properties of the COM object.  If
-    this class, a derived class or a mix-in class has method names
-    that match the COM object's event names, they will be called
-    automatically.
-
-    CoClass -- A COM control class from a module generated by
-            makepy.py from a COM TypeLibrary.  Can also accept a
-            CLSID.
-
-    eventClass -- If given, this class will be added to the set of
-            base classes that the new class is drived from.  It is
-            good for mix-in classes for catching events.
-
-    eventObj -- If given, this object will be searched for attributes
-            by the new class's __getattr__ method, (like a mix-in
-            object.)  This is useful if you want to catch COM
-            callbacks in an existing object, (such as the parent
-            window.)
-
-    """
-
-
-    if type(CoClass) == type(""):
-        # use the CLSID to get the real class
-        CoClass = win32com.client.CLSIDToClass(CoClass)
-
-    # determine the base classes
-    axEventClass = CoClass.default_source
-    baseClasses = [pywin.mfc.activex.Control, wx.Window, CoClass, axEventClass]
-    if eventClass:
-        baseClasses.append(eventClass)
-    baseClasses = tuple(baseClasses)
-
-    # define the class attributes
-    className = 'AXControl_'+CoClass.__name__
-    classDict = { '__init__'    : axw__init__,
-                  '__getattr__' : axw__getattr__,
-                  'axw_OnSize'  : axw_OnSize,
-                  'axw_OEB'     : axw_OEB,
-                  '_name'       : className,
-                  '_eventBase'  : axEventClass,
-                  '_eventObj'   : eventObj,
-                  'Cleanup'     : axw_Cleanup,
-                  }
-
-    # make a new class object
-    import new
-    classObj = new.classobj(className, baseClasses, classDict)
-    return classObj
-
-
-
-
-# These functions will be used as methods in the new class
-def axw__init__(self, parent, ID=-1, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0):
-    
-    # init base classes
-    pywin.mfc.activex.Control.__init__(self)
-    wx.Window.__init__( self, parent, -1, pos, size, style|wx.NO_FULL_REPAINT_ON_RESIZE)
-    self.this.own(False)  # this should be set in wx.Window.__init__ when it calls _setOORInfo, but...
-        
-    win32ui.EnableControlContainer()
-    self._eventObj = self._eventObj  # move from class to instance
-
-    # create a pythonwin wrapper around this wxWindow
-    handle = self.GetHandle()
-    self._wnd = win32ui.CreateWindowFromHandle(handle)
-
-    # create the control
-    sz = self.GetSize()
-    self.CreateControl(self._name, WS_TABSTOP | WS_VISIBLE,
-                       (0, 0, sz.width, sz.height), self._wnd, ID)
-
-    # init the ax events part of the object
-    self._eventBase.__init__(self, self._dispobj_)
-
-    # hook some wx events
-    self.Bind(wx.EVT_SIZE, self.axw_OnSize)
-
-def axw__getattr__(self, attr):
-    try:
-        return pywin.mfc.activex.Control.__getattr__(self, attr)
-    except AttributeError:
-        try:
-            eo = self.__dict__['_eventObj']
-            return getattr(eo, attr)
-        except AttributeError:
-            raise AttributeError('Attribute not found: %s' % attr)
-
-
-def axw_OnSize(self, event):
-    sz = self.GetClientSize()                        # get wxWindow size
-    self.MoveWindow((0, 0, sz.width, sz.height), 1)  # move the AXControl
-
-
-def axw_OEB(self, event):
-    pass
-
-
-def axw_Cleanup(self):
-    #del self._wnd
-    self.close()
-    pass
-
-
-
-
-