X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d14a1e28567de23c586bc80017073d0c39f8d18f..5cd7ab8dd8af0c17ce9dad88830a8d7aefd4f73b:/wxPython/src/_sizers.i?ds=sidebyside diff --git a/wxPython/src/_sizers.i b/wxPython/src/_sizers.i index cf32cd8dd4..f6c73d0b76 100644 --- a/wxPython/src/_sizers.i +++ b/wxPython/src/_sizers.i @@ -51,6 +51,8 @@ public: void SetProportion( int proportion ); int GetProportion(); + %pythoncode { SetOption = SetProportion} + %pythoncode { GetOption = GetProportion} void SetFlag( int flag ); int GetFlag(); @@ -96,8 +98,8 @@ public: struct wxPySizerItemInfo { wxPySizerItemInfo() - : window(NULL), sizer(NULL), gotSize(false), - size(wxDefaultSize), gotPos(false), pos(-1) + : window(NULL), sizer(NULL), gotSize(False), + size(wxDefaultSize), gotPos(False), pos(-1) {} wxWindow* window; @@ -128,13 +130,13 @@ static wxPySizerItemInfo wxPySizerItemTypeHelper(PyObject* item, bool checkSize, // try wxSize or (w,h) if ( checkSize && wxSize_helper(item, &sizePtr)) { info.size = *sizePtr; - info.gotSize = true; + info.gotSize = True; } // or a single int if (checkIdx && PyInt_Check(item)) { info.pos = PyInt_AsLong(item); - info.gotPos = true; + info.gotPos = True; } } } @@ -174,11 +176,11 @@ public: PyObject* userData=NULL) { wxPyUserData* data = NULL; - wxPyBeginBlockThreads(); - wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, true, false); + bool blocked = wxPyBeginBlockThreads(); + wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, True, False); if ( userData && (info.window || info.sizer || info.gotSize) ) data = new wxPyUserData(userData); - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); // Now call the real Add method if a valid item type was found if ( info.window ) @@ -195,11 +197,11 @@ public: int border=0, PyObject* userData=NULL) { wxPyUserData* data = NULL; - wxPyBeginBlockThreads(); - wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, true, false); + bool blocked = wxPyBeginBlockThreads(); + wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, True, False); if ( userData && (info.window || info.sizer || info.gotSize) ) data = new wxPyUserData(userData); - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); // Now call the real Insert method if a valid item type was found if ( info.window ) @@ -217,11 +219,11 @@ public: PyObject* userData=NULL) { wxPyUserData* data = NULL; - wxPyBeginBlockThreads(); - wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, true, false); + bool blocked = wxPyBeginBlockThreads(); + wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, True, False); if ( userData && (info.window || info.sizer || info.gotSize) ) data = new wxPyUserData(userData); - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); // Now call the real Prepend method if a valid item type was found if ( info.window ) @@ -235,9 +237,9 @@ public: bool Remove(PyObject* item) { - wxPyBeginBlockThreads(); - wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, false, true); - wxPyEndBlockThreads(); + bool blocked = wxPyBeginBlockThreads(); + wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, False, True); + wxPyEndBlockThreads(blocked); if ( info.window ) return self->Remove(info.window); else if ( info.sizer ) @@ -245,14 +247,14 @@ public: else if ( info.gotPos ) return self->Remove(info.pos); else - return FALSE; + return False; } - void _SetItemMinSize(PyObject* item, wxSize size) { - wxPyBeginBlockThreads(); - wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, false, true); - wxPyEndBlockThreads(); + void _SetItemMinSize(PyObject* item, const wxSize& size) { + bool blocked = wxPyBeginBlockThreads(); + wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, False, True); + wxPyEndBlockThreads(blocked); if ( info.window ) self->SetItemMinSize(info.window, size); else if ( info.sizer ) @@ -270,11 +272,11 @@ public: %pythoncode { def AddMany(self, widgets): for childinfo in widgets: - if type(childinfo) != type(()): + if type(childinfo) != type(()) or (len(childinfo) == 2 and type(childinfo[0]) == type(1)): childinfo = (childinfo, ) self.Add(*childinfo) - # for backwards compatibility only, do not use in new code + %# for backwards compatibility only, please do not use in new code AddWindow = AddSizer = AddSpacer = Add PrependWindow = PrependSizer = PrependSpacer = Prepend InsertWindow = InsertSizer = InsertSpacer = Insert @@ -290,7 +292,7 @@ public: void SetDimension( int x, int y, int width, int height ); - void SetMinSize(wxSize size); + void SetMinSize( const wxSize &size ); wxSize GetSize(); wxPoint GetPosition(); @@ -316,7 +318,7 @@ public: void SetSizeHints( wxWindow *window ); void SetVirtualSizeHints( wxWindow *window ); - void Clear( bool delete_windows=FALSE ); + void Clear( bool delete_windows=False ); void DeleteWindows(); @@ -333,8 +335,8 @@ public: // in the layout calculations or not. %extend { - void Show(PyObject* item, bool show = TRUE) { - wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, false, false); + void Show(PyObject* item, bool show = True) { + wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, False, False); if ( info.window ) self->Show(info.window, show); else if ( info.sizer ) @@ -343,7 +345,7 @@ public: void Hide(PyObject* item) { - wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, false, false); + wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, False, False); if ( info.window ) self->Hide(info.window); else if ( info.sizer ) @@ -352,13 +354,13 @@ public: bool IsShown(PyObject* item) { - wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, false, false); + wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, False, False); if ( info.window ) return self->IsShown(info.window); else if ( info.sizer ) return self->IsShown(info.sizer); else - return false; + return False; } } @@ -382,7 +384,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxPySizer, wxSizer); class wxPySizer : public wxSizer { public: - %addtofunc wxPySizer "self._setCallbackInfo(self, PySizer);self._setOORInfo(self)" + %pythonAppend wxPySizer "self._setCallbackInfo(self, PySizer);self._setOORInfo(self)" wxPySizer(); void _setCallbackInfo(PyObject* self, PyObject* _class); @@ -394,7 +396,7 @@ public: class wxBoxSizer : public wxSizer { public: - %addtofunc wxBoxSizer "self._setOORInfo(self)" + %pythonAppend wxBoxSizer "self._setOORInfo(self)" wxBoxSizer(int orient = wxHORIZONTAL); @@ -409,7 +411,7 @@ public: class wxStaticBoxSizer : public wxBoxSizer { public: - %addtofunc wxStaticBoxSizer "self._setOORInfo(self)" + %pythonAppend wxStaticBoxSizer "self._setOORInfo(self)" wxStaticBoxSizer(wxStaticBox *box, int orient = wxHORIZONTAL); @@ -424,7 +426,7 @@ public: class wxGridSizer: public wxSizer { public: - %addtofunc wxGridSizer "self._setOORInfo(self)" + %pythonAppend wxGridSizer "self._setOORInfo(self)" wxGridSizer( int rows=1, int cols=0, int vgap=0, int hgap=0 ); @@ -460,7 +462,7 @@ enum wxFlexSizerGrowMode class wxFlexGridSizer: public wxGridSizer { public: - %addtofunc wxFlexGridSizer "self._setOORInfo(self)" + %pythonAppend wxFlexGridSizer "self._setOORInfo(self)" wxFlexGridSizer( int rows=1, int cols=0, int vgap=0, int hgap=0 ); @@ -483,6 +485,10 @@ public: // flexible void SetNonFlexibleGrowMode(wxFlexSizerGrowMode mode); wxFlexSizerGrowMode GetNonFlexibleGrowMode(); + + // Read-only access to the row heights and col widths arrays + const wxArrayInt& GetRowHeights() const; + const wxArrayInt& GetColWidths() const; }; //---------------------------------------------------------------------------