]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/_extras.py
*** empty log message ***
[wxWidgets.git] / utils / wxPython / src / _extras.py
index 1e87311f07898840a3786136b9b6181fe64b6472..089a250387a7f339f688064f8216df1cb4c0a38e 100644 (file)
@@ -45,6 +45,15 @@ def _StdFrameCallbacks(win):
     _checkForCallback(win, "OnCloseWindow",        wxEVT_CLOSE_WINDOW)
 
 
+def _StdDialogCallbacks(win):
+    _StdWindowCallbacks(win)
+    _checkForCallback(win, "OnOk",     wxEVT_COMMAND_BUTTON_CLICKED,   wxID_OK)
+    _checkForCallback(win, "OnApply",  wxEVT_COMMAND_BUTTON_CLICKED,   wxID_APPLY)
+    _checkForCallback(win, "OnCancel", wxEVT_COMMAND_BUTTON_CLICKED,   wxID_CANCEL)
+    _checkForCallback(win, "OnCloseWindow", wxEVT_CLOSE_WINDOW)
+    _checkForCallback(win, "OnCharHook",    wxEVT_CHAR_HOOK)
+
+
 def _StdOnScrollCallback(win):
     try:    cb = getattr(win, "OnScroll")
     except: pass
@@ -330,7 +339,7 @@ def EVT_COMMAND_ENTER(win, id, func):
     win.Connect(id, -1, wxEVT_COMMAND_ENTER, func)
 
 
-
+# wxNotebook events
 def EVT_NOTEBOOK_PAGE_CHANGED(win, id, func):
     win.Connect(id, -1, wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, func)
 
@@ -338,337 +347,53 @@ def EVT_NOTEBOOK_PAGE_CHANGING(win, id, func):
     win.Connect(id, -1, wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, func)
 
 
+#wxTreeCtrl events
+def EVT_TREE_BEGIN_DRAG(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_BEGIN_DRAG, func)
 
-#----------------------------------------------------------------------
-#----------------------------------------------------------------------
-# We need to add to the shadow classes a bit to facilitate callbacks via
-# virtual functions.  These classes replace the shadows generated by SWIG.
-
-class wxWindow(wxWindowPtr):
-    def __init__(self,arg0,arg1,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(windowsc.new_wxWindow,(arg0.this,arg1,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-
-class wxFrame(wxFramePtr):
-    def __init__(self,arg0,arg1,arg2,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(windowsc.new_wxFrame,(arg0.this,arg1,arg2,)+args)
-        self.thisown = 1
-        _StdFrameCallbacks(self)
-
-
-if wxPlatform == '__WXMSW__':
-    class wxMiniFrame(wxMiniFramePtr):
-        def __init__(self,arg0,arg1,arg2,*args) :
-            argl = map(None,args)
-            try: argl[0] = argl[0].this
-            except: pass
-            try: argl[1] = argl[1].this
-            except: pass
-            args = tuple(argl)
-            self.this = apply(windowsc.new_wxMiniFrame,(arg0.this,arg1,arg2,)+args)
-            self.thisown = 1
-            _StdFrameCallbacks(self)
-
-
-class wxPanel(wxPanelPtr):
-    def __init__(self,arg0,arg1,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(windowsc.new_wxPanel,(arg0.this,arg1,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-
-class wxDialog(wxDialogPtr):
-    def __init__(self,arg0,arg1,arg2,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(windowsc.new_wxDialog,(arg0.this,arg1,arg2,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-        _checkForCallback(self, "OnOk",     wxEVT_COMMAND_BUTTON_CLICKED,   wxID_OK)
-        _checkForCallback(self, "OnApply",  wxEVT_COMMAND_BUTTON_CLICKED,   wxID_APPLY)
-        _checkForCallback(self, "OnCancel", wxEVT_COMMAND_BUTTON_CLICKED,   wxID_CANCEL)
-        _checkForCallback(self, "OnCloseWindow", wxEVT_CLOSE_WINDOW)
-        _checkForCallback(self, "OnCharHook",    wxEVT_CHAR_HOOK)
-
-
-class wxScrolledWindow(wxScrolledWindowPtr):
-    def __init__(self,arg0,*args) :
-        argl = map(None,args)
-        try: argl[1] = argl[1].this
-        except: pass
-        try: argl[2] = argl[2].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(windowsc.new_wxScrolledWindow,(arg0.this,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-        _StdOnScrollCallback(self)
-
-
-
-class wxMDIParentFrame(wxMDIParentFramePtr):
-    def __init__(self,arg0,arg1,arg2,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(mdic.new_wxMDIParentFrame,(arg0.this,arg1,arg2,)+args)
-        self.thisown = 1
-        _StdFrameCallbacks(self)
-
-
-class wxMDIChildFrame(wxMDIChildFramePtr):
-    def __init__(self,arg0,arg1,arg2,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(mdic.new_wxMDIChildFrame,(arg0.this,arg1,arg2,)+args)
-        self.thisown = 1
-        _StdFrameCallbacks(self)
-
-
-class wxMDIClientWindow(wxMDIClientWindowPtr):
-    def __init__(self,arg0,*args) :
-        self.this = apply(mdic.new_wxMDIClientWindow,(arg0.this,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-        _StdOnScrollCallback(self)
-
-
-
-class wxControl(wxControlPtr):
-    def __init__(self,this):
-        self.this = this
-        _StdWindowCallbacks(self)
-
-class wxButton(wxButtonPtr):
-    def __init__(self,arg0,arg1,arg2,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(controlsc.new_wxButton,(arg0.this,arg1,arg2,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-class wxBitmapButton(wxBitmapButtonPtr):
-    def __init__(self,arg0,arg1,arg2,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(controlsc.new_wxBitmapButton,(arg0.this,arg1,arg2.this,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-class wxCheckBox(wxCheckBoxPtr):
-    def __init__(self,arg0,arg1,arg2,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(controlsc.new_wxCheckBox,(arg0.this,arg1,arg2,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-
-
-class wxChoice(wxChoicePtr):
-    def __init__(self,arg0,arg1,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(controlsc.new_wxChoice,(arg0.this,arg1,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-class wxComboBox(wxComboBoxPtr):
-    def __init__(self,arg0,arg1,*args) :
-        argl = map(None,args)
-        try: argl[1] = argl[1].this
-        except: pass
-        try: argl[2] = argl[2].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(controlsc.new_wxComboBox,(arg0.this,arg1,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-class wxGauge(wxGaugePtr):
-    def __init__(self,arg0,arg1,arg2,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(controlsc.new_wxGauge,(arg0.this,arg1,arg2,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-class wxStaticBox(wxStaticBoxPtr):
-    def __init__(self,arg0,arg1,arg2,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(controlsc.new_wxStaticBox,(arg0.this,arg1,arg2,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-class wxStaticText(wxStaticTextPtr):
-    def __init__(self,arg0,arg1,arg2,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(controlsc.new_wxStaticText,(arg0.this,arg1,arg2,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-class wxListBox(wxListBoxPtr):
-    def __init__(self,arg0,arg1,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(controlsc.new_wxListBox,(arg0.this,arg1,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-class wxTextCtrl(wxTextCtrlPtr):
-    def __init__(self,arg0,arg1,*args) :
-        argl = map(None,args)
-        try: argl[1] = argl[1].this
-        except: pass
-        try: argl[2] = argl[2].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(controlsc.new_wxTextCtrl,(arg0.this,arg1,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-class wxScrollBar(wxScrollBarPtr):
-    def __init__(self,arg0,*args) :
-        argl = map(None,args)
-        try: argl[1] = argl[1].this
-        except: pass
-        try: argl[2] = argl[2].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(controlsc.new_wxScrollBar,(arg0.this,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-if wxPlatform == '__WXMSW__':
-    class wxSpinButton(wxSpinButtonPtr):
-        def __init__(self,arg0,*args) :
-            argl = map(None,args)
-            try: argl[1] = argl[1].this
-            except: pass
-            try: argl[2] = argl[2].this
-            except: pass
-            args = tuple(argl)
-            self.this = apply(controlsc.new_wxSpinButton,(arg0.this,)+args)
-            self.thisown = 1
-            _StdWindowCallbacks(self)
-
-class wxStaticBitmap(wxStaticBitmapPtr):
-    def __init__(self,arg0,arg1,arg2,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(controlsc.new_wxStaticBitmap,(arg0.this,arg1,arg2.this,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-class wxRadioBox(wxRadioBoxPtr):
-    def __init__(self,arg0,arg1,arg2,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(controlsc.new_wxRadioBox,(arg0.this,arg1,arg2,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-class wxRadioButton(wxRadioButtonPtr):
-    def __init__(self,arg0,arg1,arg2,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(controlsc.new_wxRadioButton,(arg0.this,arg1,arg2,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
-
-class wxSlider(wxSliderPtr):
-    def __init__(self,arg0,arg1,arg2,arg3,arg4,*args) :
-        argl = map(None,args)
-        try: argl[0] = argl[0].this
-        except: pass
-        try: argl[1] = argl[1].this
-        except: pass
-        args = tuple(argl)
-        self.this = apply(controlsc.new_wxSlider,(arg0.this,arg1,arg2,arg3,arg4,)+args)
-        self.thisown = 1
-        _StdWindowCallbacks(self)
+def EVT_TREE_BEGIN_RDRAG(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_BEGIN_RDRAG, func)
+
+def EVT_TREE_BEGIN_LABEL_EDIT(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT, func)
+
+def EVT_TREE_END_LABEL_EDIT(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_END_LABEL_EDIT, func)
+
+def EVT_TREE_GET_INFO(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_GET_INFO, func)
+
+def EVT_TREE_SET_INFO(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_SET_INFO, func)
+
+def EVT_TREE_ITEM_EXPANDED(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_EXPANDED, func)
 
+def EVT_TREE_ITEM_EXPANDING(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_EXPANDING, func)
 
+def EVT_TREE_ITEM_COLLAPSED(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_COLLAPSED, func)
 
+def EVT_TREE_ITEM_COLLAPSING(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_COLLAPSING, func)
 
+def EVT_TREE_SEL_CHANGED(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_SEL_CHANGED, func)
 
+def EVT_TREE_SEL_CHANGING(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_SEL_CHANGING, func)
+
+def EVT_TREE_KEY_DOWN(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_KEY_DOWN, func)
+
+def EVT_TREE_DELETE_ITEM(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_DELETE_ITEM, func)
+
+
+
+
+#----------------------------------------------------------------------
 
 class wxTimer(wxPyTimer):
     def __init__(self):
@@ -762,6 +487,18 @@ class wxApp(wxPyApp):
 #----------------------------------------------------------------------------
 #
 # $Log$
+# Revision 1.5  1998/10/20 07:38:02  RD
+# bug fix
+#
+# Revision 1.4  1998/10/20 06:43:54  RD
+# New wxTreeCtrl wrappers (untested)
+# some changes in helpers
+# etc.
+#
+# Revision 1.3  1998/10/02 06:40:33  RD
+#
+# Version 0.4 of wxPython for MSW.
+#
 # Revision 1.2  1998/08/18 19:48:12  RD
 # more wxGTK compatibility things.
 #