X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/02376d73485f39cc05721e5ea95e43cd48105fd5..4263de1e0586d20cb49d0dde23f0d227c5ef25cb:/wxPython/src/_gbsizer.i diff --git a/wxPython/src/_gbsizer.i b/wxPython/src/_gbsizer.i index a28621347e..812b9ac820 100644 --- a/wxPython/src/_gbsizer.i +++ b/wxPython/src/_gbsizer.i @@ -40,11 +40,19 @@ %{ bool wxGBPosition_helper(PyObject* source, wxGBPosition** obj) { + if (source == Py_None) { + **obj = wxGBPosition(-1,-1); + return True; + } return wxPyTwoIntItem_helper(source, obj, wxT("wxGBPosition")); } bool wxGBSpan_helper(PyObject* source, wxGBSpan** obj) { + if (source == Py_None) { + **obj = wxGBSpan(-1,-1); + return True; + } return wxPyTwoIntItem_helper(source, obj, wxT("wxGBSpan")); } @@ -64,10 +72,15 @@ public: int GetCol() const; void SetRow(int row); void SetCol(int col); - - bool operator==(const wxGBPosition& p) const; - bool operator!=(const wxGBPosition& p) const; +// %extend { +// bool __eq__(const wxGBPosition* other) { return other ? (*self == *other) : False; } +// bool __ne__(const wxGBPosition* other) { return other ? (*self != *other) : True; } +// } + + bool operator==(const wxGBPosition& other); + bool operator!=(const wxGBPosition& other); + %extend { void Set(int row=0, int col=0) { self->SetRow(row); @@ -75,11 +88,11 @@ public: } PyObject* Get() { - wxPyBeginBlockThreads(); + bool 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())); - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); return tup; } } @@ -117,8 +130,13 @@ public: void SetRowspan(int rowspan); void SetColspan(int colspan); - bool operator==(const wxGBSpan& o) const; - bool operator!=(const wxGBSpan& o) const; +// %extend { +// bool __eq__(const wxGBSpan* other) { return other ? (*self == *other) : False; } +// bool __ne__(const wxGBSpan* other) { return other ? (*self != *other) : True; } +// } + bool operator==(const wxGBSpan& other); + bool operator!=(const wxGBSpan& other); + %extend { void Set(int rowspan=1, int colspan=1) { @@ -127,11 +145,11 @@ public: } PyObject* Get() { - wxPyBeginBlockThreads(); + bool 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())); - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); return tup; } } @@ -250,11 +268,11 @@ public: PyObject* userData = NULL ) { wxPyUserData* data = NULL; - wxPyBeginBlockThreads(); + 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 )