X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1b8c7ba607a15a2ff8a04448138df9ffff7df6c5..716a5baa6ecd0d5d0c31914567e4da3165ca6ff0:/wxPython/src/_gbsizer.i?ds=sidebyside diff --git a/wxPython/src/_gbsizer.i b/wxPython/src/_gbsizer.i index 483c92f441..8b79cc4c7d 100644 --- a/wxPython/src/_gbsizer.i +++ b/wxPython/src/_gbsizer.i @@ -73,7 +73,8 @@ class wxGBPosition { public: wxGBPosition(int row=0, int col=0); - + ~wxGBPosition(); + int GetRow() const; int GetCol() const; void SetRow(int row); @@ -94,7 +95,7 @@ public: } PyObject* Get() { - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); PyObject* tup = PyTuple_New(2); PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->GetRow())); PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->GetCol())); @@ -143,6 +144,8 @@ public: colspan. The default is (1,1). (Meaning that the item occupies one cell in each direction.", ""); + ~wxGBSpan(); + int GetRowspan() const; int GetColspan() const; void SetRowspan(int rowspan); @@ -163,7 +166,7 @@ cell in each direction.", ""); } PyObject* Get() { - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); PyObject* tup = PyTuple_New(2); PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->GetRowspan())); PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->GetColspan())); @@ -218,6 +221,9 @@ item can be used in a Sizer. You will probably never need to create a wx.GBSizerItem directly as they are created automatically when the sizer's Add method is called.", ""); + ~wxGBSizerItem(); + + %extend { DocStr(wxGBSizerItem( wxWindow *window, const wxGBPosition& pos,const wxGBSpan& span,int flag,int border,PyObject* userData=NULL ), "Construct a `wx.GBSizerItem` for a window.", ""); @@ -231,7 +237,7 @@ are created automatically when the sizer's Add method is called.", ""); { wxPyUserData* data = NULL; if ( userData ) { - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); data = new wxPyUserData(userData); wxPyEndBlockThreads(blocked); } @@ -241,6 +247,7 @@ are created automatically when the sizer's Add method is called.", ""); DocStr(wxGBSizerItem( wxSizer *sizer,const wxGBPosition& pos,const wxGBSpan& span,int flag,int border,PyObject* userData=NULL ), "Construct a `wx.GBSizerItem` for a sizer", ""); + %disownarg( wxSizer *sizer ); %RenameCtor(GBSizerItemSizer, wxGBSizerItem( wxSizer *sizer, const wxGBPosition& pos, const wxGBSpan& span, @@ -250,12 +257,13 @@ are created automatically when the sizer's Add method is called.", ""); { wxPyUserData* data = NULL; if ( userData ) { - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); data = new wxPyUserData(userData); wxPyEndBlockThreads(blocked); } return new wxGBSizerItem(sizer, pos, span, flag, border, data); } + %cleardisown( wxSizer *sizer ); DocStr(wxGBSizerItem( int width,int height,const wxGBPosition& pos,const wxGBSpan& span,int flag,int border,PyObject* userData=NULL), @@ -270,7 +278,7 @@ are created automatically when the sizer's Add method is called.", ""); { wxPyUserData* data = NULL; if ( userData ) { - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); data = new wxPyUserData(userData); wxPyEndBlockThreads(blocked); } @@ -388,10 +396,12 @@ position, False if something was already there. PyObject* userData = NULL ) { wxPyUserData* data = NULL; - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, true, false); if ( userData && (info.window || info.sizer || info.gotSize) ) data = new wxPyUserData(userData); + if ( info.sizer ) + PyObject_SetAttrString(item,"thisown",Py_False); wxPyEndBlockThreads(blocked); // Now call the real Add method if a valid item type was found @@ -405,7 +415,8 @@ position, False if something was already there. return NULL; } } - + + %disownarg( wxGBSizerItem *item ); DocDeclAStrName( wxGBSizerItem* , Add( wxGBSizerItem *item ), "Add(self, GBSizerItem item) -> wx.GBSizerItem", @@ -413,6 +424,7 @@ position, False if something was already there. the item was successfully placed at its given cell position, False if something was already there.", "", AddItem); + %cleardisown( wxGBSizerItem *item ); DocDeclStr( wxSize , GetCellSize(int row, int col) const,