Parts of wxSizer::Show() extracted into wxSizer::GetItem() (together with documentation).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -205,6 +205,7 @@ OTHER CHANGES
|
|||||||
All:
|
All:
|
||||||
|
|
||||||
- Norvegian (Bokm<6B>l) translation added (Hans F. Nordhaug)
|
- Norvegian (Bokm<6B>l) translation added (Hans F. Nordhaug)
|
||||||
|
- recursive wxSizer::GetItem returns item of given window, sizer or nth index
|
||||||
|
|
||||||
Unix:
|
Unix:
|
||||||
|
|
||||||
|
@@ -214,6 +214,21 @@ windows which manage it.
|
|||||||
\helpref{wxSizer::SetVirtualSizeHints}{wxsizersetvirtualsizehints}
|
\helpref{wxSizer::SetVirtualSizeHints}{wxsizersetvirtualsizehints}
|
||||||
|
|
||||||
|
|
||||||
|
\membersection{wxSizer::GetItem}\label{wxsizergetitem}
|
||||||
|
|
||||||
|
\func{wxSizerItem *}{GetItem}{\param{wxWindow* }{window}, \param{bool }{recursive = false}}
|
||||||
|
|
||||||
|
\func{wxSizerItem *}{GetItem}{\param{wxSizer* }{sizer}, \param{bool }{recursive = false}}
|
||||||
|
|
||||||
|
\func{wxSizerItem *}{GetItem}{\param{size\_t }{index}}
|
||||||
|
|
||||||
|
Finds item of the sizer which holds given {\it window}, {\it sizer} or is located
|
||||||
|
in sizer at position {\it index}.
|
||||||
|
Use parameter {\it recursive} to search in subsizers too.
|
||||||
|
|
||||||
|
Returns pointer to item or NULL.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxSizer::GetSize}\label{wxsizergetsize}
|
\membersection{wxSizer::GetSize}\label{wxsizergetsize}
|
||||||
|
|
||||||
\func{wxSize}{GetSize}{\void}
|
\func{wxSize}{GetSize}{\void}
|
||||||
|
@@ -408,6 +408,10 @@ public:
|
|||||||
|
|
||||||
void SetDimension( int x, int y, int width, int height );
|
void SetDimension( int x, int y, int width, int height );
|
||||||
|
|
||||||
|
wxSizerItem* GetItem( wxWindow *window, bool recursive = false );
|
||||||
|
wxSizerItem* GetItem( wxSizer *sizer, bool recursive = false );
|
||||||
|
wxSizerItem* GetItem( size_t index );
|
||||||
|
|
||||||
// Manage whether individual scene items are considered
|
// Manage whether individual scene items are considered
|
||||||
// in the layout calculations or not.
|
// in the layout calculations or not.
|
||||||
bool Show( wxWindow *window, bool show = true, bool recursive = false );
|
bool Show( wxWindow *window, bool show = true, bool recursive = false );
|
||||||
|
@@ -760,9 +760,9 @@ bool wxSizer::DoSetItemMinSize( size_t index, int width, int height )
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxSizer::Show( wxWindow *window, bool show, bool recursive )
|
wxSizerItem* wxSizer::GetItem( wxWindow *window, bool recursive )
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( window, _T("Show for NULL window") );
|
wxASSERT_MSG( window, _T("GetItem for NULL window") );
|
||||||
|
|
||||||
wxSizerItemList::compatibility_iterator node = m_children.GetFirst();
|
wxSizerItemList::compatibility_iterator node = m_children.GetFirst();
|
||||||
while (node)
|
while (node)
|
||||||
@@ -771,44 +771,77 @@ bool wxSizer::Show( wxWindow *window, bool show, bool recursive )
|
|||||||
|
|
||||||
if (item->GetWindow() == window)
|
if (item->GetWindow() == window)
|
||||||
{
|
{
|
||||||
item->Show( show );
|
return item;
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
else if (recursive && item->IsSizer())
|
else if (recursive && item->IsSizer())
|
||||||
{
|
{
|
||||||
if (item->GetSizer()->Show(window, show, recursive))
|
wxSizerItem *subitem = item->GetSizer()->GetItem( window, true );
|
||||||
return true;
|
if (subitem)
|
||||||
|
return subitem;
|
||||||
}
|
}
|
||||||
|
|
||||||
node = node->GetNext();
|
node = node->GetNext();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxSizerItem* wxSizer::GetItem( wxSizer *sizer, bool recursive )
|
||||||
|
{
|
||||||
|
wxASSERT_MSG( sizer, _T("GetItem for NULL sizer") );
|
||||||
|
|
||||||
|
wxSizerItemList::compatibility_iterator node = m_children.GetFirst();
|
||||||
|
while (node)
|
||||||
|
{
|
||||||
|
wxSizerItem *item = node->GetData();
|
||||||
|
|
||||||
|
if (item->GetSizer() == sizer)
|
||||||
|
{
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
else if (recursive && item->IsSizer())
|
||||||
|
{
|
||||||
|
wxSizerItem *subitem = item->GetSizer()->GetItem( sizer, true );
|
||||||
|
if (subitem)
|
||||||
|
return subitem;
|
||||||
|
}
|
||||||
|
|
||||||
|
node = node->GetNext();
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxSizerItem* wxSizer::GetItem( size_t index )
|
||||||
|
{
|
||||||
|
wxCHECK_MSG( index < m_children.GetCount(),
|
||||||
|
NULL,
|
||||||
|
_T("GetItem index is out of range") );
|
||||||
|
|
||||||
|
return m_children.Item( index )->GetData();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxSizer::Show( wxWindow *window, bool show, bool recursive )
|
||||||
|
{
|
||||||
|
wxSizerItem *item = GetItem( window, recursive );
|
||||||
|
|
||||||
|
if ( item )
|
||||||
|
{
|
||||||
|
item->Show( show );
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxSizer::Show( wxSizer *sizer, bool show, bool recursive )
|
bool wxSizer::Show( wxSizer *sizer, bool show, bool recursive )
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( sizer, _T("Show for NULL sizer") );
|
wxSizerItem *item = GetItem( sizer, recursive );
|
||||||
|
|
||||||
wxSizerItemList::compatibility_iterator node = m_children.GetFirst();
|
if ( item )
|
||||||
while (node)
|
|
||||||
{
|
{
|
||||||
wxSizerItem *item = node->GetData();
|
item->Show( show );
|
||||||
|
return true;
|
||||||
if (item->GetSizer() == sizer)
|
|
||||||
{
|
|
||||||
item->Show( show );
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else if (recursive && item->IsSizer())
|
|
||||||
{
|
|
||||||
if (item->GetSizer()->Show(sizer, show, recursive))
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
node = node->GetNext();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@@ -816,13 +849,15 @@ bool wxSizer::Show( wxSizer *sizer, bool show, bool recursive )
|
|||||||
|
|
||||||
bool wxSizer::Show( size_t index, bool show)
|
bool wxSizer::Show( size_t index, bool show)
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( index < m_children.GetCount(),
|
wxSizerItem *item = GetItem( index );
|
||||||
false,
|
|
||||||
_T("Show index is out of range") );
|
|
||||||
|
|
||||||
m_children.Item( index )->GetData()->Show( show );
|
if ( item )
|
||||||
|
{
|
||||||
|
item->Show( show );
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxSizer::ShowItems( bool show )
|
void wxSizer::ShowItems( bool show )
|
||||||
|
Reference in New Issue
Block a user