2008-02-18 19:04:03 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
2008-02-27 13:37:48 -05:00
|
|
|
// Name: splitterwindow.h
|
2008-02-18 19:04:03 -05:00
|
|
|
// Purpose: topic overview
|
|
|
|
// Author: wxWidgets team
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Licence: wxWindows license
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/*!
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
@page overview_splitterwindow wxSplitterWindow Overview
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
Classes: wxSplitterWindow
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-03-02 10:33:26 -05:00
|
|
|
@li @ref overview_splitterwindow_appearance
|
|
|
|
@li @ref overview_splitterwindow_example
|
|
|
|
|
|
|
|
<hr>
|
|
|
|
|
|
|
|
|
|
|
|
@section overview_splitterwindow_appearance Appearance
|
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
The following screenshot shows the appearance of a splitter window with a
|
|
|
|
horizontal split.
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
The style wxSP_3D has been used to show a 3D border and 3D sash.
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
@image html splitter.bmp
|
2008-02-19 08:28:24 -05:00
|
|
|
|
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
@section overview_splitterwindow_example Example
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
The following fragment shows how to create a splitter window, creating two
|
|
|
|
subwindows and hiding one of them.
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
@code
|
|
|
|
splitter = new wxSplitterWindow(this, -1, wxPoint(0, 0),
|
|
|
|
wxSize(400, 400), wxSP_3D);
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
leftWindow = new MyWindow(splitter);
|
|
|
|
leftWindow->SetScrollbars(20, 20, 50, 50);
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
rightWindow = new MyWindow(splitter);
|
|
|
|
rightWindow->SetScrollbars(20, 20, 50, 50);
|
|
|
|
rightWindow->Show(false);
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
splitter->Initialize(leftWindow);
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
// Set this to prevent unsplitting
|
|
|
|
// splitter->SetMinimumPaneSize(20);
|
|
|
|
@endcode
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
The next fragment shows how the splitter window can be manipulated after
|
|
|
|
creation.
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
@code
|
|
|
|
void MyFrame::OnSplitVertical(wxCommandEvent& event)
|
|
|
|
{
|
|
|
|
if ( splitter->IsSplit() )
|
|
|
|
splitter->Unsplit();
|
|
|
|
leftWindow->Show(true);
|
|
|
|
rightWindow->Show(true);
|
|
|
|
splitter->SplitVertically( leftWindow, rightWindow );
|
|
|
|
}
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
void MyFrame::OnSplitHorizontal(wxCommandEvent& event)
|
|
|
|
{
|
|
|
|
if ( splitter->IsSplit() )
|
|
|
|
splitter->Unsplit();
|
|
|
|
leftWindow->Show(true);
|
|
|
|
rightWindow->Show(true);
|
|
|
|
splitter->SplitHorizontally( leftWindow, rightWindow );
|
|
|
|
}
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
void MyFrame::OnUnsplit(wxCommandEvent& event)
|
|
|
|
{
|
|
|
|
if ( splitter->IsSplit() )
|
|
|
|
splitter->Unsplit();
|
|
|
|
}
|
|
|
|
@endcode
|
2008-02-19 08:28:24 -05:00
|
|
|
|
2008-02-27 13:37:48 -05:00
|
|
|
*/
|
2008-02-19 08:28:24 -05:00
|
|
|
|