]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_sizers.i
added missing button state
[wxWidgets.git] / wxPython / src / _sizers.i
index dfe3c191c1731b0c89659391d7ba27172838b4f7..2b1e26a76cc7de76a3cd55b36157cf176d4bcf14 100644 (file)
 
 DocStr(wxSizerItem,
 "The wx.SizerItem class is used to track the position, size and other
 
 DocStr(wxSizerItem,
 "The wx.SizerItem class is used to track the position, size and other
-attributes of each item managed by a `wx.Sizer`. In normal usage user
-code should never need to deal directly with a wx.SizerItem, but
-custom classes derived from `wx.PySizer` will probably need to use the
-collection of wx.SizerItems held by wx.Sizer when calculating layout.
+attributes of each item managed by a `wx.Sizer`. It is not usually
+necessary to use this class because the sizer elements can also be
+identified by their positions or window or sizer references but
+sometimes it may be more convenient to use wx.SizerItem directly.
+Also, custom classes derived from `wx.PySizer` will probably need to
+use the collection of wx.SizerItems held by wx.Sizer when calculating
+layout.
 
 :see: `wx.Sizer`, `wx.GBSizerItem`", "");
 
 
 :see: `wx.Sizer`, `wx.GBSizerItem`", "");
 
@@ -226,7 +229,7 @@ added, if needed.", "");
 
 
     DocDeclStr(
 
 
     DocDeclStr(
-        const wxSize& , GetSpacer(),
+        wxSize , GetSpacer(),
         "Get the size of the spacer managed by this sizer item.", "");
 
     DocDeclStr(
         "Get the size of the spacer managed by this sizer item.", "");
 
     DocDeclStr(
@@ -280,6 +283,20 @@ isn't any.", "");
             self->SetUserData(data);
         }
     }
             self->SetUserData(data);
         }
     }
+
+    %property(Border, GetBorder, SetBorder, doc="See `GetBorder` and `SetBorder`");
+    %property(Flag, GetFlag, SetFlag, doc="See `GetFlag` and `SetFlag`");
+    %property(MinSize, GetMinSize, doc="See `GetMinSize`");
+    %property(MinSizeWithBorder, GetMinSizeWithBorder, doc="See `GetMinSizeWithBorder`");
+    %property(Position, GetPosition, doc="See `GetPosition`");
+    %property(Proportion, GetProportion, SetProportion, doc="See `GetProportion` and `SetProportion`");
+    %property(Ratio, GetRatio, SetRatio, doc="See `GetRatio` and `SetRatio`");
+    %property(Rect, GetRect, doc="See `GetRect`");
+    %property(Size, GetSize, doc="See `GetSize`");
+    %property(Sizer, GetSizer, SetSizer, doc="See `GetSizer` and `SetSizer`");
+    %property(Spacer, GetSpacer, SetSpacer, doc="See `GetSpacer` and `SetSpacer`");
+    %property(UserData, GetUserData, SetUserData, doc="See `GetUserData` and `SetUserData`");
+    %property(Window, GetWindow, SetWindow, doc="See `GetWindow` and `SetWindow`");
 };
 
 
 };
 
 
@@ -357,8 +374,8 @@ DocStr(wxSizer,
 "wx.Sizer is the abstract base class used for laying out subwindows in
 a window.  You cannot use wx.Sizer directly; instead, you will have to
 use one of the sizer classes derived from it such as `wx.BoxSizer`,
 "wx.Sizer is the abstract base class used for laying out subwindows in
 a window.  You cannot use wx.Sizer directly; instead, you will have to
 use one of the sizer classes derived from it such as `wx.BoxSizer`,
-`wx.StaticBoxSizer`, `wx.NotebookSizer`, `wx.GridSizer`,  `wx.FlexGridSizer`
-and `wx.GridBagSizer`.
+`wx.StaticBoxSizer`, `wx.GridSizer`, `wx.FlexGridSizer` and
+`wx.GridBagSizer`.
 
 The concept implemented by sizers in wxWidgets is closely related to
 layout tools in other GUI toolkits, such as Java's AWT, the GTK
 
 The concept implemented by sizers in wxWidgets is closely related to
 layout tools in other GUI toolkits, such as Java's AWT, the GTK
@@ -605,6 +622,7 @@ this sizer.  See `Add` for a description of the parameters.", "");
 //    virtual wxSizerItem* PrependSpacer(int size);
 //    virtual wxSizerItem* PrependStretchSpacer(int prop = 1);
 
 //    virtual wxSizerItem* PrependSpacer(int size);
 //    virtual wxSizerItem* PrependStretchSpacer(int prop = 1);
 
+        
         DocAStr(Remove,
                 "Remove(self, item) -> bool",
                 "Removes an item from the sizer and destroys it.  This method does not
         DocAStr(Remove,
                 "Remove(self, item) -> bool",
                 "Removes an item from the sizer and destroys it.  This method does not
@@ -689,6 +707,48 @@ the item to be found.", "");
         }
     }
 
         }
     }
 
+    
+    %Rename(_ReplaceWin,
+            bool, Replace( wxWindow *oldwin, wxWindow *newwin, bool recursive = false ));
+    %Rename(_ReplaceSizer,
+            bool, Replace( wxSizer *oldsz, wxSizer *newsz, bool recursive = false ));
+    %Rename(_ReplaceItem,
+            bool, Replace( size_t index, wxSizerItem *newitem ));
+    %pythoncode {
+        def Replace(self, olditem, item, recursive=False):
+            """
+            Detaches the given ``olditem`` from the sizer and replaces it with
+            ``item`` which can be a window, sizer, or `wx.SizerItem`.  The
+            detached child is destroyed only if it is not a window, (because
+            windows are owned by their parent, not the sizer.)  The
+            ``recursive`` parameter can be used to search for the given
+            element recursivly in subsizers.
+
+            This method does not cause any layout or resizing to take place,
+            call `Layout` to do so.
+
+            Returns ``True`` if the child item was found and removed.
+            """
+            if isinstance(olditem, wx.Window):
+                return self._ReplaceWin(olditem, item, recursive)
+            elif isinstnace(olditem, wx.Sizer):
+                return self._ReplaceSizer(olditem, item, recursive)
+            elif isinstnace(olditem, int):
+                return self._ReplaceItem(olditem, item)
+            else:
+                raise TypeError("Expected Window, Sizer, or integer for first parameter.")
+    }
+    
+    
+    DocDeclStr(
+        void , SetContainingWindow(wxWindow *window),
+        "Set (or unset) the window this sizer is used in.", "");
+    
+    DocDeclStr(
+        wxWindow *, GetContainingWindow() const,
+        "Get the window this sizer is used in.", "");
+        
+
     %pythoncode {
     def SetItemMinSize(self, item, *args):
         """
     %pythoncode {
     def SetItemMinSize(self, item, *args):
         """
@@ -743,6 +803,50 @@ the item to be found.", "");
                 item = (item, )
             self.Add(*item)
 
                 item = (item, )
             self.Add(*item)
 
+    def AddSpacer(self, *args, **kw):
+        """AddSpacer(int size) --> SizerItem
+
+        Add a spacer that is (size,size) pixels.
+        """
+        if args and type(args[0]) == int:
+            return self.Add( (args[0],args[0] ), 0)
+        else: %# otherwise stay compatible with old AddSpacer
+            return self.Add(*args, **kw)
+    def PrependSpacer(self, *args, **kw):
+        """PrependSpacer(int size) --> SizerItem
+
+        Prepend a spacer that is (size, size) pixels."""
+        if args and type(args[0]) == int:
+            return self.Prepend( (args[0],args[0] ), 0)
+        else: %# otherwise stay compatible with old PrependSpacer
+            return self.Prepend(*args, **kw)
+    def InsertSpacer(self, index, *args, **kw):
+        """InsertSpacer(int index, int size) --> SizerItem
+
+        Insert a spacer at position index that is (size, size) pixels."""
+        if args and type(args[0]) == int:
+            return self.Insert( index, (args[0],args[0] ), 0)
+        else: %# otherwise stay compatible with old InsertSpacer
+            return self.Insert(index, *args, **kw)
+
+                   
+    def AddStretchSpacer(self, prop=1):
+        """AddStretchSpacer(int prop=1) --> SizerItem
+
+        Add a stretchable spacer."""
+        return self.Add((0,0), prop)
+    def PrependStretchSpacer(self, prop=1):
+        """PrependStretchSpacer(int prop=1) --> SizerItem
+
+        Prepend a stretchable spacer."""
+        return self.Prepend((0,0), prop)
+    def InsertStretchSpacer(self, index, prop=1):
+        """InsertStretchSpacer(int index, int prop=1) --> SizerItem
+
+        Insert a stretchable spacer."""
+        return self.Insert(index, (0,0), prop)
+
+            
     %# for backwards compatibility only, please do not use in new code
     def AddWindow(self, *args, **kw):
         """Compatibility alias for `Add`."""
     %# for backwards compatibility only, please do not use in new code
     def AddWindow(self, *args, **kw):
         """Compatibility alias for `Add`."""
@@ -750,9 +854,6 @@ the item to be found.", "");
     def AddSizer(self, *args, **kw):
         """Compatibility alias for `Add`."""
         return self.Add(*args, **kw)
     def AddSizer(self, *args, **kw):
         """Compatibility alias for `Add`."""
         return self.Add(*args, **kw)
-    def AddSpacer(self, *args, **kw):
-        """Compatibility alias for `Add`."""
-        return self.Add(*args, **kw)
 
     def PrependWindow(self, *args, **kw):
         """Compatibility alias for `Prepend`."""
 
     def PrependWindow(self, *args, **kw):
         """Compatibility alias for `Prepend`."""
@@ -760,9 +861,6 @@ the item to be found.", "");
     def PrependSizer(self, *args, **kw):
         """Compatibility alias for `Prepend`."""
         return self.Prepend(*args, **kw)
     def PrependSizer(self, *args, **kw):
         """Compatibility alias for `Prepend`."""
         return self.Prepend(*args, **kw)
-    def PrependSpacer(self, *args, **kw):
-        """Compatibility alias for `Prepend`."""
-        return self.Prepend(*args, **kw)
 
     def InsertWindow(self, *args, **kw):
         """Compatibility alias for `Insert`."""
 
     def InsertWindow(self, *args, **kw):
         """Compatibility alias for `Insert`."""
@@ -770,9 +868,6 @@ the item to be found.", "");
     def InsertSizer(self, *args, **kw):
         """Compatibility alias for `Insert`."""
         return self.Insert(*args, **kw)
     def InsertSizer(self, *args, **kw):
         """Compatibility alias for `Insert`."""
         return self.Insert(*args, **kw)
-    def InsertSpacer(self, *args, **kw):
-        """Compatibility alias for `Insert`."""
-        return self.Insert(*args, **kw)
 
     def RemoveWindow(self, *args, **kw):
         """Compatibility alias for `Remove`."""
 
     def RemoveWindow(self, *args, **kw):
         """Compatibility alias for `Remove`."""
@@ -971,6 +1066,11 @@ the item.", "");
         void , ShowItems(bool show),
         "Recursively call `wx.SizerItem.Show` on all sizer items.", "");
 
         void , ShowItems(bool show),
         "Recursively call `wx.SizerItem.Show` on all sizer items.", "");
 
+    %property(Children, GetChildren, doc="See `GetChildren`");
+    %property(ContainingWindow, GetContainingWindow, SetContainingWindow, doc="See `GetContainingWindow` and `SetContainingWindow`");
+    %property(MinSize, GetMinSize, SetMinSize, doc="See `GetMinSize` and `SetMinSize`");
+    %property(Position, GetPosition, doc="See `GetPosition`");
+    %property(Size, GetSize, doc="See `GetSize`");
 };
 
 
 };
 
 
@@ -1026,7 +1126,7 @@ When `Layout` is called it first calls `CalcMin` followed by
 ", "");
 class wxPySizer : public wxSizer {
 public:
 ", "");
 class wxPySizer : public wxSizer {
 public:
-    %pythonAppend wxPySizer "self._setCallbackInfo(self, PySizer);self._setOORInfo(self)"
+    %pythonAppend wxPySizer "self._setOORInfo(self);" setCallbackInfo(PySizer)
 
     DocCtorStr(
         wxPySizer(),
 
     DocCtorStr(
         wxPySizer(),
@@ -1084,6 +1184,7 @@ sizer.", "");
         void , SetOrientation(int orient),
         "Resets the orientation of the sizer.", "");
 
         void , SetOrientation(int orient),
         "Resets the orientation of the sizer.", "");
 
+    %property(Orientation, GetOrientation, SetOrientation, doc="See `GetOrientation` and `SetOrientation`");
 };
 
 //---------------------------------------------------------------------------
 };
 
 //---------------------------------------------------------------------------
@@ -1112,6 +1213,7 @@ public:
         wxStaticBox *, GetStaticBox(),
         "Returns the static box associated with this sizer.", "");
 
         wxStaticBox *, GetStaticBox(),
         "Returns the static box associated with this sizer.", "");
 
+    %property(StaticBox, GetStaticBox, doc="See `GetStaticBox`");
 };
 
 //---------------------------------------------------------------------------
 };
 
 //---------------------------------------------------------------------------
@@ -1198,6 +1300,11 @@ define extra space between all children.", "");
                 cols = (nitems + rows - 1) / rows
             return (rows, cols)
     }
                 cols = (nitems + rows - 1) / rows
             return (rows, cols)
     }
+    
+    %property(Cols, GetCols, SetCols, doc="See `GetCols` and `SetCols`");
+    %property(HGap, GetHGap, SetHGap, doc="See `GetHGap` and `SetHGap`");
+    %property(Rows, GetRows, SetRows, doc="See `GetRows` and `SetRows`");
+    %property(VGap, GetVGap, SetVGap, doc="See `GetVGap` and `SetVGap`");
 };
 
 //---------------------------------------------------------------------------
 };
 
 //---------------------------------------------------------------------------
@@ -1318,9 +1425,7 @@ previously). Argument *mode* can be one of the following values:
                                 growable or not in the flexbile direction.
     ==========================  =================================================
 
                                 growable or not in the flexbile direction.
     ==========================  =================================================
 
-Note that this method does not trigger relayout.
-
-", "");
+Note that this method does not trigger relayout.", "");
 
     DocDeclStr(
         wxFlexSizerGrowMode , GetNonFlexibleGrowMode(),
 
     DocDeclStr(
         wxFlexSizerGrowMode , GetNonFlexibleGrowMode(),
@@ -1343,6 +1448,12 @@ rows in the sizer.", "");
         "Returns a list of integers representing the widths of each of the
 columns in the sizer.", "");
 
         "Returns a list of integers representing the widths of each of the
 columns in the sizer.", "");
 
+
+    %property(ColWidths, GetColWidths, doc="See `GetColWidths`");
+    %property(FlexibleDirection, GetFlexibleDirection, SetFlexibleDirection, doc="See `GetFlexibleDirection` and `SetFlexibleDirection`");
+    %property(NonFlexibleGrowMode, GetNonFlexibleGrowMode, SetNonFlexibleGrowMode, doc="See `GetNonFlexibleGrowMode` and `SetNonFlexibleGrowMode`");
+    %property(RowHeights, GetRowHeights, doc="See `GetRowHeights`");
+    
 };
 
 //---------------------------------------------------------------------------
 };
 
 //---------------------------------------------------------------------------
@@ -1382,6 +1493,12 @@ specifc manner.", "");
     wxButton* GetNegativeButton() const;
     wxButton* GetCancelButton() const;
     wxButton* GetHelpButton() const;
     wxButton* GetNegativeButton() const;
     wxButton* GetCancelButton() const;
     wxButton* GetHelpButton() const;
+
+    %property(AffirmativeButton, GetAffirmativeButton, SetAffirmativeButton, doc="See `GetAffirmativeButton` and `SetAffirmativeButton`");
+    %property(ApplyButton, GetApplyButton, doc="See `GetApplyButton`");
+    %property(CancelButton, GetCancelButton, SetCancelButton, doc="See `GetCancelButton` and `SetCancelButton`");
+    %property(HelpButton, GetHelpButton, doc="See `GetHelpButton`");
+    %property(NegativeButton, GetNegativeButton, SetNegativeButton, doc="See `GetNegativeButton` and `SetNegativeButton`");
 };
 
 
 };