]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_sizers.i
Patches from KevinO that work around issues where the widget isn't
[wxWidgets.git] / wxPython / src / _sizers.i
index 9263606e546608c11b450abb586d859ef9ba27f2..f6c73d0b76921913a91a5ec5a73be0e5e642d89b 100644 (file)
@@ -51,6 +51,8 @@ public:
 
     void SetProportion( int proportion );
     int GetProportion();
+    %pythoncode { SetOption = SetProportion}
+    %pythoncode { GetOption = GetProportion}
     
     void SetFlag( int flag );
     int GetFlag();
@@ -174,11 +176,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 )
@@ -195,11 +197,11 @@ public:
                      int border=0, 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 Insert method if a valid item type was found
             if ( info.window )
@@ -217,11 +219,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 Prepend method if a valid item type was found
             if ( info.window )
@@ -235,9 +237,9 @@ public:
 
         
         bool Remove(PyObject* item) {
-            wxPyBeginBlockThreads();
+            bool blocked = wxPyBeginBlockThreads();
             wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, False, True);
-            wxPyEndBlockThreads();
+            wxPyEndBlockThreads(blocked);
             if ( info.window )
                 return self->Remove(info.window);
             else if ( info.sizer )
@@ -250,9 +252,9 @@ public:
 
         
         void _SetItemMinSize(PyObject* item, const wxSize& size) {
-            wxPyBeginBlockThreads();
+            bool blocked = wxPyBeginBlockThreads();
             wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, False, True);
-            wxPyEndBlockThreads();
+            wxPyEndBlockThreads(blocked);
             if ( info.window )
                 self->SetItemMinSize(info.window, size);
             else if ( info.sizer )