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
|
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
|
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.
|
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
|
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
|
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
|
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
|
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
|
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.
|
to a real window on screen.
|
||||||
|
|
||||||
What makes sizers so well fitted for use in wxWidgets is the fact that every control
|
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}
|
\wxheading{Derived from}
|
||||||
|
|
||||||
\helpref{wxObject}{wxobject}
|
\helpref{wxObject}{wxobject}\\
|
||||||
|
\helpref{wxClientDataContainer}{wxclientdatacontainer}
|
||||||
|
|
||||||
\wxheading{See also}
|
\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.}
|
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}
|
\membersection{wxSizer::CalcMin}\label{wxsizercalcmin}
|
||||||
|
|
||||||
\func{wxSize}{CalcMin}{\void}
|
\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.
|
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}
|
\membersection{wxSizer::Layout}\label{wxsizerlayout}
|
||||||
|
|
||||||
\func{void}{Layout}{\void}
|
\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.
|
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}
|
\membersection{wxSizer::RecalcSizes}\label{wxsizerrecalcsizes}
|
||||||
|
|
||||||
\func{void}{RecalcSizes}{\void}
|
\func{void}{RecalcSizes}{\void}
|
||||||
|
@@ -198,6 +198,9 @@ public:
|
|||||||
wxObject* userData = NULL );
|
wxObject* userData = NULL );
|
||||||
virtual void Add( wxSizerItem *item );
|
virtual void Add( wxSizerItem *item );
|
||||||
|
|
||||||
|
virtual void AddSpacer(int size);
|
||||||
|
virtual void AddStretchSpacer(int prop = 1);
|
||||||
|
|
||||||
virtual void Insert( size_t index,
|
virtual void Insert( size_t index,
|
||||||
wxWindow *window,
|
wxWindow *window,
|
||||||
int proportion = 0,
|
int proportion = 0,
|
||||||
@@ -220,6 +223,9 @@ public:
|
|||||||
virtual void Insert( size_t index,
|
virtual void Insert( size_t index,
|
||||||
wxSizerItem *item );
|
wxSizerItem *item );
|
||||||
|
|
||||||
|
virtual void InsertSpacer(size_t index, int size);
|
||||||
|
virtual void InsertStretchSpacer(size_t index, int prop = 1);
|
||||||
|
|
||||||
virtual void Prepend( wxWindow *window,
|
virtual void Prepend( wxWindow *window,
|
||||||
int proportion = 0,
|
int proportion = 0,
|
||||||
int flag = 0,
|
int flag = 0,
|
||||||
@@ -238,6 +244,9 @@ public:
|
|||||||
wxObject* userData = NULL );
|
wxObject* userData = NULL );
|
||||||
virtual void Prepend( wxSizerItem *item );
|
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,
|
// Deprecated in 2.6 since historically it does not delete the window,
|
||||||
// use Detach instead.
|
// use Detach instead.
|
||||||
wxDEPRECATED( virtual bool Remove( wxWindow *window ) );
|
wxDEPRECATED( virtual bool Remove( wxWindow *window ) );
|
||||||
@@ -549,7 +558,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
// this protected ctor lets us mark the real one above as deprecated
|
// 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() {}
|
wxBookCtrlSizer() {}
|
||||||
|
|
||||||
wxBookCtrl *m_bookctrl;
|
wxBookCtrl *m_bookctrl;
|
||||||
|
@@ -366,6 +366,16 @@ void wxSizer::Add( wxSizerItem *item )
|
|||||||
item->GetWindow()->SetContainingSizer( this );
|
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 )
|
void wxSizer::Prepend( wxWindow *window, int proportion, int flag, int border, wxObject* userData )
|
||||||
{
|
{
|
||||||
m_children.Insert( new wxSizerItem( window, proportion, flag, border, userData ) );
|
m_children.Insert( new wxSizerItem( window, proportion, flag, border, userData ) );
|
||||||
@@ -390,6 +400,16 @@ void wxSizer::Prepend( wxSizerItem *item )
|
|||||||
item->GetWindow()->SetContainingSizer( this );
|
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,
|
void wxSizer::Insert( size_t index,
|
||||||
wxWindow *window,
|
wxWindow *window,
|
||||||
int proportion,
|
int proportion,
|
||||||
@@ -433,6 +453,16 @@ void wxSizer::Insert( size_t index, wxSizerItem *item )
|
|||||||
item->GetWindow()->SetContainingSizer( this );
|
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 )
|
bool wxSizer::Remove( wxWindow *window )
|
||||||
{
|
{
|
||||||
return Detach( window );
|
return Detach( window );
|
||||||
|
Reference in New Issue
Block a user