X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c86fa5a1fa18ea1cd4c706e69f879d0928b92f07..0a5bb138a71dfc1c706fc0858fb2801500e2c2e8:/wxPython/src/_sizers.i diff --git a/wxPython/src/_sizers.i b/wxPython/src/_sizers.i index dfe3c191c1..2b1e26a76c 100644 --- a/wxPython/src/_sizers.i +++ b/wxPython/src/_sizers.i @@ -23,10 +23,13 @@ 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`", ""); @@ -226,7 +229,7 @@ added, if needed.", ""); DocDeclStr( - const wxSize& , GetSpacer(), + wxSize , GetSpacer(), "Get the size of the spacer managed by this sizer item.", ""); DocDeclStr( @@ -280,6 +283,20 @@ isn't any.", ""); 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.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 @@ -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); + 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): """ @@ -743,6 +803,50 @@ the item to be found.", ""); 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`.""" @@ -750,9 +854,6 @@ the item to be found.", ""); 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`.""" @@ -760,9 +861,6 @@ the item to be found.", ""); 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`.""" @@ -770,9 +868,6 @@ the item to be found.", ""); 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`.""" @@ -971,6 +1066,11 @@ the item.", ""); 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: - %pythonAppend wxPySizer "self._setCallbackInfo(self, PySizer);self._setOORInfo(self)" + %pythonAppend wxPySizer "self._setOORInfo(self);" setCallbackInfo(PySizer) DocCtorStr( wxPySizer(), @@ -1084,6 +1184,7 @@ 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.", ""); + %property(StaticBox, GetStaticBox, doc="See `GetStaticBox`"); }; //--------------------------------------------------------------------------- @@ -1198,6 +1300,11 @@ define extra space between all children.", ""); 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. ========================== ================================================= -Note that this method does not trigger relayout. - -", ""); +Note that this method does not trigger relayout.", ""); 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.", ""); + + %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; + + %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`"); };