]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_gbsizer.i
Add a set for wxMac too
[wxWidgets.git] / wxPython / src / _gbsizer.i
index a87e92eef492089c3212afcdc8cbb9a9e8cd25ec..812b9ac820a2b267d46f3c54446ea50012960a1c 100644 (file)
 %{
 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,12 +72,15 @@ public:
     int GetCol() const;
     void SetRow(int row);
     void SetCol(int col);
-    
-    %extend {
-        bool __eq__(const wxGBPosition* other) { return other ? (*self == *other) : False; }
-        bool __ne__(const wxGBPosition* other) { return other ? (*self != *other) : True;  }
-    }
 
+//     %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);
@@ -77,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;
         }
     }
@@ -119,10 +130,13 @@ public:
     void SetRowspan(int rowspan);
     void SetColspan(int colspan);
     
-    %extend {
-        bool __eq__(const wxGBSpan* other) { return other ? (*self == *other) : False; }
-        bool __ne__(const wxGBSpan* other) { return other ? (*self != *other) : True;  }
-    }
+//     %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) {
@@ -131,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;
         }
     }
@@ -254,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 )