X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d1679124ae303fb78561ee2b0c56b5831fd0fafe..a2615ebc22a402b1badb46475f94ab6aa3a64018:/wxPython/src/sizers.i?ds=inline diff --git a/wxPython/src/sizers.i b/wxPython/src/sizers.i index 1c025d3f92..1e65076ff9 100644 --- a/wxPython/src/sizers.i +++ b/wxPython/src/sizers.i @@ -14,6 +14,8 @@ %{ #include "helpers.h" + +#include %} //---------------------------------------------------------------------- @@ -33,7 +35,7 @@ //--------------------------------------------------------------------------- -class wxSizerItem { +class wxSizerItem : public wxObject { public: // No need to ever create one directly in Python... @@ -41,6 +43,9 @@ public: //wxSizerItem( wxWindow *window, int option, int flag, int border, wxObject* userData ); //wxSizerItem( wxSizer *sizer, int option, int flag, int border, wxObject* userData ); + void DeleteWindows(); + + wxPoint GetPosition(); wxSize GetSize(); wxSize CalcMin(); void SetDimension( wxPoint pos, wxSize size ); @@ -85,11 +90,17 @@ public: //--------------------------------------------------------------------------- -class wxSizer { +class wxSizer : public wxObject { public: // wxSizer(); **** abstract, can't instantiate // ~wxSizer(); + %addmethods { + void _setOORInfo(PyObject* _self) { + self->SetClientObject(new wxPyOORClientData(_self)); + } + } + %addmethods { void Destroy() { delete self; } @@ -228,6 +239,10 @@ public: void Fit( wxWindow *window ); void SetSizeHints( wxWindow *window ); + void Clear( bool delete_windows=FALSE ); + void DeleteWindows(); + + // wxList& GetChildren(); %addmethods { PyObject* GetChildren() { @@ -263,8 +278,9 @@ IMPLEMENT_DYNAMIC_CLASS(wxPySizer, wxSizer); class wxPySizer : public wxSizer { public: wxPySizer(); - void _setSelf(PyObject* self, PyObject* _class); - %pragma(python) addtomethod = "__init__:self._setSelf(self, wxPySizer)" + void _setCallbackInfo(PyObject* self, PyObject* _class); + %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPySizer)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" }; @@ -273,6 +289,7 @@ public: class wxBoxSizer : public wxSizer { public: wxBoxSizer(int orient = wxHORIZONTAL); + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" int GetOrientation(); void RecalcSizes(); wxSize CalcMin(); @@ -283,6 +300,7 @@ public: class wxStaticBoxSizer : public wxBoxSizer { public: wxStaticBoxSizer(wxStaticBox *box, int orient = wxHORIZONTAL); + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" wxStaticBox *GetStaticBox(); void RecalcSizes(); wxSize CalcMin(); @@ -293,10 +311,9 @@ public: class wxNotebookSizer: public wxSizer { public: wxNotebookSizer( wxNotebook *nb ); - + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" void RecalcSizes(); wxSize CalcMin(); - wxNotebook *GetNotebook(); }; @@ -306,6 +323,7 @@ class wxGridSizer: public wxSizer { public: wxGridSizer( int rows=1, int cols=0, int vgap=0, int hgap=0 ); + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" void RecalcSizes(); wxSize CalcMin(); @@ -326,6 +344,7 @@ class wxFlexGridSizer: public wxGridSizer { public: wxFlexGridSizer( int rows=1, int cols=0, int vgap=0, int hgap=0 ); + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" void RecalcSizes(); wxSize CalcMin();