]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_sizers.i
Added some info panels that show size and colour attributes about the widget
[wxWidgets.git] / wxPython / src / _sizers.i
index 5084609c1e3ab71d9b85690b73691b95aa0dd300..6940696e43fbcf0c9e850cea1e2e8c7b863515f9 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 )
@@ -269,16 +271,30 @@ public:
 
     %pythoncode {
     def AddMany(self, widgets):
+        """
+        AddMany is a convenience method for adding several items
+        to a sizer at one time.  Simply pass it a list of tuples,
+        where each tuple consists of the parameters that you
+        would normally pass to the `Add` method.
+        """
         for childinfo in widgets:
             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
-    AddWindow = AddSizer = AddSpacer = Add
-    PrependWindow = PrependSizer = PrependSpacer = Prepend
-    InsertWindow = InsertSizer = InsertSpacer = Insert
-    RemoveWindow = RemoveSizer = RemovePos = Remove
+    %# for backwards compatibility only, please do not use in new code
+    AddWindow     = wx._deprecated(Add, "AddWindow is deprecated, use `Add` instead.")
+    AddSizer      = wx._deprecated(Add, "AddSizer is deprecated, use `Add` instead.")
+    AddSpacer     = wx._deprecated(Add, "AddSpacer is deprecated, use `Add` instead.")
+    PrependWindow = wx._deprecated(Prepend, "PrependWindow is deprecated, use `Prepend` instead.")
+    PrependSizer  = wx._deprecated(Prepend, "PrependSizer is deprecated, use `Prepend` instead.")
+    PrependSpacer = wx._deprecated(Prepend, "PrependSpacer is deprecated, use `Prepend` instead.")
+    InsertWindow  = wx._deprecated(Insert, "InsertWindow is deprecated, use `Insert` instead.")
+    InsertSizer   = wx._deprecated(Insert, "InsertSizer is deprecated, use `Insert` instead.")
+    InsertSpacer  = wx._deprecated(Insert, "InsertSpacer is deprecated, use `Insert` instead.")
+    RemoveWindow  = wx._deprecated(Remove, "RemoveWindow is deprecated, use `Remove` instead.")
+    RemoveSizer   = wx._deprecated(Remove, "RemoveSizer is deprecated, use `Remove` instead.")
+    RemovePos     = wx._deprecated(Remove, "RemovePos is deprecated, use `Remove` instead.")
 
 
     def SetItemMinSize(self, item, *args):
@@ -290,7 +306,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();
@@ -334,7 +350,9 @@ public:
 
     %extend {
         void Show(PyObject* item, bool show = True) {
+            bool blocked = wxPyBeginBlockThreads();
             wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, False, False);
+            wxPyEndBlockThreads(blocked);
             if ( info.window )
                 self->Show(info.window, show);
             else if ( info.sizer )
@@ -343,7 +361,9 @@ public:
 
         
         void Hide(PyObject* item) {
+            bool blocked = wxPyBeginBlockThreads();
             wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, False, False);
+            wxPyEndBlockThreads(blocked);
             if ( info.window )
                 self->Hide(info.window);
             else if ( info.sizer )
@@ -352,7 +372,9 @@ public:
 
         
         bool IsShown(PyObject* item) {
+            bool blocked = wxPyBeginBlockThreads();
             wxPySizerItemInfo info = wxPySizerItemTypeHelper(item, False, False);
+            wxPyEndBlockThreads(blocked);
             if ( info.window ) 
                 return self->IsShown(info.window);
             else if ( info.sizer ) 
@@ -382,7 +404,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 +416,7 @@ public:
 
 class  wxBoxSizer : public wxSizer {
 public:
-    %addtofunc wxBoxSizer "self._setOORInfo(self)"
+    %pythonAppend wxBoxSizer "self._setOORInfo(self)"
 
     wxBoxSizer(int orient = wxHORIZONTAL);
 
@@ -409,7 +431,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 +446,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 +482,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 );