in other GUI toolkits, such as Java's AWT, the GTK toolkit or the Qt toolkit. It is
based upon the idea of the individual subwindows reporting their minimal required
size and their ability to get stretched if the size of the parent window has changed.
-This will most often mean, that the programmer does not set the original size of
-a dialog in the beginning, rather the dialog will assigned a sizer and this sizer
+This will most often mean that the programmer does not set the original size of
+a dialog in the beginning, rather the dialog will be assigned a sizer and this sizer
will be queried about the recommended size. The sizer in turn will query its
children, which can be normal windows, empty space or other sizers, so that
a hierarchy of sizers can be constructed. Note that wxSizer does not derive from wxWindow
-and thus do not interfere with tab ordering and requires very little resources compared
+and thus does not interfere with tab ordering and requires very little resources compared
to a real window on screen.
What makes sizers so well fitted for use in wxWidgets is the fact that every control
\wxheading{Derived from}
-\helpref{wxObject}{wxobject}
+\helpref{wxObject}{wxobject}\\
+\helpref{wxClientDataContainer}{wxclientdatacontainer}
\wxheading{See also}
complex than the {\it proportion} and {\it flag} will allow for.}
+\membersection{wxSizer::AddSpacer}\label{wxsizeraddspacer}
+
+\func{void}{AddSpacer}{\param{int }{size}}
+
+Adds non-stretchable space to the sizer. More readable way of calling
+\helpref{Add}{wxsizeradd}(size, size, 0).
+
+
+\membersection{wxSizer::AddStretchSpacer}\label{wxsizeraddstretchspacer}
+
+\func{void}{AddStretchSpacer}{\param{int }{prop = 1}}
+
+Adds stretchable space to the sizer. More readable way of calling
+\helpref{Add}{wxsizeradd}(0, 0, prop).
+
+
\membersection{wxSizer::CalcMin}\label{wxsizercalcmin}
\func{wxSize}{CalcMin}{\void}
See \helpref{wxSizer::Add}{wxsizeradd} for the meaning of the other parameters.
+\membersection{wxSizer::InsertSpacer}\label{wxsizerinsertspacer}
+
+\func{void}{InsertSpacer}{\param{size\_t }{index}, \param{int }{size}}
+
+Inserts non-stretchable space to the sizer. More readable way of calling
+\helpref{Insert}{wxsizerinsert}(size, size, 0).
+
+
+\membersection{wxSizer::InsertStretchSpacer}\label{wxsizerinsertstretchspacer}
+
+\func{void}{InsertStretchSpacer}{\param{size\_t }{index}, \param{int }{prop = 1}}
+
+Inserts stretchable space to the sizer. More readable way of calling
+\helpref{Insert}{wxsizerinsert}(0, 0, prop).
+
+
\membersection{wxSizer::Layout}\label{wxsizerlayout}
\func{void}{Layout}{\void}
list of items (windows, subsizers or spaces) owned by this sizer.
+\membersection{wxSizer::PrependSpacer}\label{wxsizerprependspacer}
+
+\func{void}{PrependSpacer}{\param{int }{size}}
+
+Prepends non-stretchable space to the sizer. More readable way of calling
+\helpref{Prepend}{wxsizerprepend}(size, size, 0).
+
+
+\membersection{wxSizer::PrependStretchSpacer}\label{wxsizerprependstretchspacer}
+
+\func{void}{PrepentStretchSpacer}{\param{int }{prop = 1}}
+
+Prepends stretchable space to the sizer. More readable way of calling
+\helpref{Prepend}{wxsizerprepend}(0, 0, prop).
+
+
\membersection{wxSizer::RecalcSizes}\label{wxsizerrecalcsizes}
\func{void}{RecalcSizes}{\void}
wxObject* userData = NULL );
virtual void Add( wxSizerItem *item );
+ virtual void AddSpacer(int size);
+ virtual void AddStretchSpacer(int prop = 1);
+
virtual void Insert( size_t index,
wxWindow *window,
int proportion = 0,
virtual void Insert( size_t index,
wxSizerItem *item );
+ virtual void InsertSpacer(size_t index, int size);
+ virtual void InsertStretchSpacer(size_t index, int prop = 1);
+
virtual void Prepend( wxWindow *window,
int proportion = 0,
int flag = 0,
wxObject* userData = NULL );
virtual void Prepend( wxSizerItem *item );
+ virtual void PrependSpacer(int size);
+ virtual void PrependStretchSpacer(int prop = 1);
+
// Deprecated in 2.6 since historically it does not delete the window,
// use Detach instead.
wxDEPRECATED( virtual bool Remove( wxWindow *window ) );
protected:
// this protected ctor lets us mark the real one above as deprecated
- // and still has warning-free build of the library itself:
+ // and still have warning-free build of the library itself:
wxBookCtrlSizer() {}
wxBookCtrl *m_bookctrl;
item->GetWindow()->SetContainingSizer( this );
}
+void wxSizer::AddSpacer(int size)
+{
+ Add(size, size);
+}
+
+void wxSizer::AddStretchSpacer(int prop)
+{
+ Add(0, 0, prop);
+}
+
void wxSizer::Prepend( wxWindow *window, int proportion, int flag, int border, wxObject* userData )
{
m_children.Insert( new wxSizerItem( window, proportion, flag, border, userData ) );
item->GetWindow()->SetContainingSizer( this );
}
+void wxSizer::PrependSpacer(int size)
+{
+ Prepend(size, size);
+}
+
+void wxSizer::PrependStretchSpacer(int prop)
+{
+ Prepend(0, 0, prop);
+}
+
void wxSizer::Insert( size_t index,
wxWindow *window,
int proportion,
item->GetWindow()->SetContainingSizer( this );
}
+void wxSizer::InsertSpacer(size_t index, int size)
+{
+ Insert(index, size, size);
+}
+
+void wxSizer::InsertStretchSpacer(size_t index, int prop)
+{
+ Insert(index, 0, 0, prop);
+}
+
bool wxSizer::Remove( wxWindow *window )
{
return Detach( window );