window, the library wouldn't be able to delete such an orphan sizer and in
this, and only this, case it should be deleted explicitly.
- @beginWxPythonOnly
- If you wish to create a sizer class in wxPython you should
- derive the class from @c wxPySizer in order to get Python-aware
- capabilities for the various virtual methods.
- @endWxPythonOnly
-
@section wxsizer_flags wxSizer flags
The "flag" argument accepted by wxSizeItem constructors and other
int flag = 0,
int border = 0,
wxObject* userData = NULL);
+
+ /**
+ Appends a spacer child to the sizer.
+ @param width
+ Width of the spacer.
+ @param height
+ Height of the spacer.
+ @param flags
+ A wxSizerFlags object that enables you to specify most of the other
+ parameters more conveniently.
+ */
+ wxSizerItem* Add( int width, int height, const wxSizerFlags& flags);
+
+ wxSizerItem* Add(wxSizerItem* item);
+
/**
This base function adds non-stretchable space to both the horizontal
and vertical orientation of the sizer.
*/
void FitInside(wxWindow* window);
+ /**
+ Inform sizer about the first direction that has been decided (by
+ parent item). Returns true if it made use of the information (and
+ recalculated min size).
+ */
+ virtual bool InformFirstDirection(int direction, int size, int availableOtherDir);
+
+
//@{
/**
Returns the list of the items in this sizer.
*/
wxWindow* GetContainingWindow() const;
+ /**
+ Set the window this sizer is used in.
+ */
+ void SetContainingWindow(wxWindow *window);
+
/**
Returns the number of items in the sizer.
int flag = 0,
int border = 0,
wxObject* userData = NULL);
+ /**
+ Insert a child into the sizer before any existing item at @a index.
+
+ See Add() for the meaning of the other parameters.
+ */
+ wxSizerItem* Insert(size_t index,
+ int width,
+ int height,
+ const wxSizerFlags& flags);
+ wxSizerItem* Insert(size_t index, wxSizerItem* item);
+
/**
Inserts non-stretchable space to the sizer.
More readable way of calling wxSizer::Insert(index, size, size).
bool IsShown(size_t index) const;
/**
- Call this to force layout of the children anew, e.g. after having added a child
+ Call this to force layout of the children anew, e.g.\ after having added a child
to or removed a child (window, other sizer or space) from the sizer while
keeping the current dimension.
*/
int border = 0,
wxObject* userData = NULL);
+ /**
+ Same as Add(), but prepends the items to the beginning of the
+ list of items (windows, subsizers or spaces) owned by this sizer.
+ */
+ wxSizerItem* Prepend(int width, int height, const wxSizerFlags& flags);
+
+ wxSizerItem* Prepend(wxSizerItem* item);
+
/**
Prepends non-stretchable space to the sizer.
More readable way of calling wxSizer::Prepend(size, size, 0).
@see Hide(), IsShown()
*/
bool Show(size_t index, bool show = true);
+
+
+ /**
+ Show or hide all items managed by the sizer.
+ */
+ virtual void ShowItems(bool show);
+
};
outlined above.
*/
void SetNegativeButton(wxButton* button);
+
+ virtual void RecalcSizes();
+ virtual wxSize CalcMin();
};
/**
Construct a sizer item for tracking a spacer.
*/
- wxSizerItem(int width, int height, int proportion, int flag,
- int border, wxObject* userData);
+ wxSizerItem(int width, int height, int proportion=0, int flag=0,
+ int border=0, wxObject* userData=NULL);
//@{
/**
Construct a sizer item for tracking a window.
*/
wxSizerItem(wxWindow* window, const wxSizerFlags& flags);
- wxSizerItem(wxWindow* window, int proportion, int flag,
- int border,
- wxObject* userData);
+ wxSizerItem(wxWindow* window, int proportion=0, int flag=0,
+ int border=0,
+ wxObject* userData=NULL);
//@}
//@{
/**
Construct a sizer item for tracking a subsizer.
*/
- wxSizerItem(wxSizer* window, const wxSizerFlags& flags);
- wxSizerItem(wxSizer* sizer, int proportion, int flag,
- int border,
- wxObject* userData);
+ wxSizerItem(wxSizer* sizer, const wxSizerFlags& flags);
+ wxSizerItem(wxSizer* sizer, int proportion=0, int flag=0,
+ int border=0,
+ wxObject* userData=NULL);
//@}
/**
Old spacer, if any, is deleted.
*/
void AssignSpacer(const wxSize& size);
- void AssignSpacer(int w, int h) { AssignSpacer(wxSize(w, h)); }
+ void AssignSpacer(int w, int h);
//@}
/**
*/
void SetSpacer(const wxSize& size);
+ void SetUserData(wxObject* userData);
+
/**
Set the window to be tracked by this item.
@deprecated @todo provide deprecation description
Note that this method does not trigger relayout.
*/
void SetNonFlexibleGrowMode(wxFlexSizerGrowMode mode);
+
+ virtual void RecalcSizes();
+ virtual wxSize CalcMin();
+
};
Sets the vertical gap (in pixels) between the cells in the sizer.
*/
void SetVGap(int gap);
+
+ virtual wxSize CalcMin();
+ virtual void RecalcSizes();
};
Returns the static box associated with the sizer.
*/
wxStaticBox* GetStaticBox() const;
+
+ virtual wxSize CalcMin();
+ virtual void RecalcSizes();
};
*/
int GetOrientation() const;
+ /**
+ Sets the orientation of the box sizer, either wxVERTICAL
+ or wxHORIZONTAL.
+ */
+ void SetOrientation(int orient);
+
/**
Implements the calculation of a box sizer's dimensions and then sets
the size of its children (calling wxWindow::SetSize if the child is a window).
It is used internally only and must not be called by the user
(call Layout() if you want to resize). Documented for information.
*/
- void RecalcSizes();
+ virtual void RecalcSizes();
};