added shortcut functions AddSpacer and AddStretchSpacer (plus Prepend and Insert variants)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -11,12 +11,12 @@ The layout algorithm used by sizers in wxWidgets is closely related to layout
|
||||
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
|
||||
@@ -31,7 +31,8 @@ capabilities for the various virtual methods.}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
\helpref{wxObject}{wxobject}\\
|
||||
\helpref{wxClientDataContainer}{wxclientdatacontainer}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
@@ -138,6 +139,22 @@ item, for use in derived classes when sizing information is more
|
||||
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}
|
||||
@@ -231,6 +248,22 @@ Insert a child into the sizer before any existing item at {\it index}.
|
||||
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}
|
||||
@@ -252,6 +285,22 @@ Same as \helpref{wxSizer::Add}{wxsizeradd}, but prepends the items to the beginn
|
||||
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}
|
||||
|
@@ -198,6 +198,9 @@ public:
|
||||
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,
|
||||
@@ -220,6 +223,9 @@ public:
|
||||
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,
|
||||
@@ -238,6 +244,9 @@ public:
|
||||
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 ) );
|
||||
@@ -549,7 +558,7 @@ public:
|
||||
|
||||
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;
|
||||
|
@@ -366,6 +366,16 @@ void wxSizer::Add( wxSizerItem *item )
|
||||
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 ) );
|
||||
@@ -390,6 +400,16 @@ void wxSizer::Prepend( wxSizerItem *item )
|
||||
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,
|
||||
@@ -433,6 +453,16 @@ void wxSizer::Insert( size_t index, wxSizerItem *item )
|
||||
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 );
|
||||
|
Reference in New Issue
Block a user