]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/windows.i
reference count bugs in DrawXXXList fixed
[wxWidgets.git] / wxPython / src / windows.i
index 4905945433f27be905693a38e3f116a5703e2772..950fd65844aae69a279efc753d17de8db4adc9f9 100644 (file)
@@ -73,6 +73,11 @@ public:
         }
     }
 
+    %addmethods {
+        void _setOORInfo(PyObject* _self) {
+            self->SetClientObject(new wxPyClientData(_self));
+        }
+    }
 };
 
 
@@ -83,6 +88,8 @@ public:
     wxValidator();
     //~wxValidator();
 
+    %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
+
     wxValidator* Clone();
     wxWindow* GetWindow();
     void SetWindow(wxWindow* window);
@@ -147,9 +154,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 +179,10 @@ public:
                 long style = 0,
                 char* name = "panel");
 
+    %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
+    %pragma(python) addtomethod = "wxPreWindow:val._setOORInfo(self)"
+
+
     void CaptureMouse();
     void Center(int direction = wxBOTH);
     void Centre(int direction = wxBOTH);
@@ -279,7 +291,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);
@@ -430,6 +441,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 +474,9 @@ public:
                 long style = wxHSCROLL | wxVSCROLL,
                 char* name = "scrolledWindow");
 
+    %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
+    %pragma(python) addtomethod = "wxPreScrolledWindow:val._setOORInfo(self)"
+
     void EnableScrolling(bool xScrolling, bool yScrolling);
     int GetScrollPageSize(int orient);
     void GetScrollPixelsPerUnit(int* OUTPUT, int* OUTPUT);
@@ -493,6 +510,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 +581,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();