]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/windows.i
Demo cleanup
[wxWidgets.git] / wxPython / src / windows.i
index 4905945433f27be905693a38e3f116a5703e2772..53d137d72bc0bdeef3f5178d3848538eaa8674ef 100644 (file)
@@ -63,6 +63,14 @@ public:
                           (wxObjectEventFunction) &wxPyCallback::EventThunker,
                           new wxPyCallback(func));
             }
+            else if (func == Py_None) {
+                self->Disconnect(id, lastId, eventType,
+                                 (wxObjectEventFunction)
+                                 &wxPyCallback::EventThunker);
+            }
+            else {
+                PyErr_SetString(PyExc_TypeError, "Expected callable object or None.");
+            }
         }
 
         bool Disconnect(int id, int lastId = -1,
@@ -73,6 +81,11 @@ public:
         }
     }
 
+    %addmethods {
+        void _setOORInfo(PyObject* _self) {
+            self->SetClientObject(new wxPyClientData(_self));
+        }
+    }
 };
 
 
@@ -83,6 +96,8 @@ public:
     wxValidator();
     //~wxValidator();
 
+    %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
+
     wxValidator* Clone();
     wxWindow* GetWindow();
     void SetWindow(wxWindow* window);
@@ -147,9 +162,10 @@ class wxPyValidator : public wxValidator {
 public:
     wxPyValidator();
 
-    void _setSelf(PyObject* self, PyObject* _class, int incref=TRUE);
-    %pragma(python) addtomethod = "__init__:self._setSelf(self, wxPyValidator, 1)"
+    void _setCallbackInfo(PyObject* self, PyObject* _class, int incref=TRUE);
+    %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyValidator, 1)"
 
+    %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
 };
 
 //----------------------------------------------------------------------
@@ -171,6 +187,10 @@ public:
                 long style = 0,
                 char* name = "panel");
 
+    %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
+    %pragma(python) addtomethod = "wxPreWindow:val._setOORInfo(val)"
+
+
     void CaptureMouse();
     void Center(int direction = wxBOTH);
     void Centre(int direction = wxBOTH);
@@ -279,7 +299,6 @@ public:
     wxPoint ScreenToClient(const wxPoint& pt);
 
     void ScrollWindow(int dx, int dy, const wxRect* rect = NULL);
-    void SetAcceleratorTable(const wxAcceleratorTable& accel);
     void SetAutoLayout(bool autoLayout);
     bool GetAutoLayout();
     void SetBackgroundColour(const wxColour& colour);
@@ -342,9 +361,11 @@ public:
     wxValidator* GetValidator();
     void SetValidator(const wxValidator& validator);
 
+#ifndef __WXMAC__
     void SetDropTarget(wxDropTarget* target);
     wxDropTarget* GetDropTarget();
     %pragma(python) addtomethod = "SetDropTarget:_args[0].thisown = 0"
+#endif
 
     wxSize GetBestSize();
 
@@ -430,6 +451,9 @@ public:
                 long style = wxTAB_TRAVERSAL,
                 const char* name = "panel");
 
+    %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
+    %pragma(python) addtomethod = "XXX:val._setOORInfo(self)"
+
     void InitDialog();
     wxButton* GetDefaultItem();
     void SetDefaultItem(wxButton *btn);
@@ -460,6 +484,9 @@ public:
                 long style = wxHSCROLL | wxVSCROLL,
                 char* name = "scrolledWindow");
 
+    %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
+    %pragma(python) addtomethod = "wxPreScrolledWindow:val._setOORInfo(val)"
+
     void EnableScrolling(bool xScrolling, bool yScrolling);
     int GetScrollPageSize(int orient);
     void GetScrollPixelsPerUnit(int* OUTPUT, int* OUTPUT);
@@ -493,6 +520,8 @@ class wxMenu : public wxEvtHandler {
 public:
     wxMenu(const wxString& title = wxPyEmptyStr, long style = 0);
 
+    %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
+
     void Append(int id, const wxString& item,
                 const wxString& helpString = wxPyEmptyStr,
                 int checkable = FALSE);
@@ -562,6 +591,8 @@ class wxMenuBar : public wxWindow {
 public:
     wxMenuBar(long style = 0);
 
+    %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
+
     bool Append(wxMenu *menu, const wxString& title);
     bool Insert(size_t pos, wxMenu *menu, const wxString& title);
     size_t GetMenuCount();