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