Added simplistic test for nested sizer (in panel).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling 2006-10-29 18:10:32 +00:00
parent dd761d262a
commit a1a3bffc93
2 changed files with 68 additions and 0 deletions

View File

@ -62,6 +62,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(LAYOUT_TEST_NB_SIZER, MyFrame::TestNotebookSizers)
EVT_MENU(LAYOUT_TEST_GB_SIZER, MyFrame::TestGridBagSizer)
EVT_MENU(LAYOUT_TEST_SET_MINIMAL, MyFrame::TestSetMinimal)
EVT_MENU(LAYOUT_TEST_NESTED, MyFrame::TestNested)
END_EVENT_TABLE()
// Define my frame constructor
@ -78,6 +79,7 @@ MyFrame::MyFrame()
file_menu->Append(LAYOUT_TEST_NB_SIZER, _T("Test &notebook sizers...\tF3"));
file_menu->Append(LAYOUT_TEST_GB_SIZER, _T("Test &gridbag sizer...\tF4"));
file_menu->Append(LAYOUT_TEST_SET_MINIMAL, _T("Test Set&ItemMinSize...\tF5"));
file_menu->Append(LAYOUT_TEST_NESTED, _T("Test nested sizer in a wxPanel...\tF6"));
file_menu->AppendSeparator();
file_menu->Append(LAYOUT_QUIT, _T("E&xit"), _T("Quit program"));
@ -200,6 +202,12 @@ void MyFrame::TestSetMinimal(wxCommandEvent& WXUNUSED(event) )
newFrame->Show(true);
}
void MyFrame::TestNested(wxCommandEvent& WXUNUSED(event) )
{
MyNestedSizerFrame *newFrame = new MyNestedSizerFrame(_T("Nested Sizer Test Frame"), 50, 50);
newFrame->Show(true);
}
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event) )
{
@ -605,3 +613,48 @@ void MySimpleSizerFrame::OnSetBigSize( wxCommandEvent& WXUNUSED(event))
}
// ----------------------------------------------------------------------------
// MyNestedSizerFrame
// ----------------------------------------------------------------------------
MyNestedSizerFrame::MyNestedSizerFrame(const wxChar *title, int x, int y )
: wxFrame( NULL, wxID_ANY, title, wxPoint(x, y) )
{
wxMenu *menu = new wxMenu;
menu->Append(wxID_ABOUT, _T("Do nothing"));
wxMenuBar *menu_bar = new wxMenuBar;
menu_bar->Append(menu, _T("&File"));
SetMenuBar( menu_bar );
wxBoxSizer *main_sizer = new wxBoxSizer( wxVERTICAL );
main_sizer->Add( new wxStaticText( this, -1, wxT("Hello outside") ), 0, wxALIGN_CENTER );
main_sizer->Add( new wxStaticText( this, -1, wxT("Hello outside") ), 0, wxALIGN_CENTER );
main_sizer->Add( new wxStaticText( this, -1, wxT("Hello outside") ), 0, wxALIGN_CENTER );
main_sizer->Add( new wxStaticText( this, -1, wxT("Hello outside") ), 0, wxALIGN_CENTER );
wxPanel *panel = new wxPanel( this, -1, wxDefaultPosition, wxDefaultSize,
wxTAB_TRAVERSAL | wxSUNKEN_BORDER );
main_sizer->Add( panel, 0, wxALIGN_CENTER );
wxBoxSizer *panel_sizer = new wxBoxSizer( wxVERTICAL );
panel->SetSizer( panel_sizer );
panel_sizer->Add( new wxStaticText( panel, -1, wxT("Hello inside") ) );
panel_sizer->Add( new wxStaticText( panel, -1, wxT("Hello inside") ) );
panel_sizer->Add( new wxStaticText( panel, -1, wxT("Hello inside") ) );
main_sizer->Add( new wxStaticText( this, -1, wxT("Hello outside") ), 0, wxALIGN_CENTER );
m_target = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 80, wxDefaultCoord ) );
main_sizer->Add( m_target, 1, wxALL|wxGROW, 5 );
SetSizer( main_sizer);
Layout();
GetSizer()->Fit( this );
GetSizer()->SetSizeHints( this );
}

View File

@ -27,6 +27,7 @@ public:
void TestFlexSizers(wxCommandEvent& event);
void TestNotebookSizers(wxCommandEvent& event);
void TestGridBagSizer(wxCommandEvent& event);
void TestNested(wxCommandEvent& event);
void TestSetMinimal(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
@ -112,6 +113,19 @@ private:
};
// a frame for testing simple setting of a frame containing
// a sizer containing a panel containing a sizer containing
// controls
class MyNestedSizerFrame : public wxFrame
{
public:
MyNestedSizerFrame(const wxChar *title, int x, int y );
private:
wxTextCtrl *m_target;
};
// controls and menu constants
enum
{
@ -120,6 +134,7 @@ enum
LAYOUT_TEST_GB_SIZER,
LAYOUT_TEST_PROPORTIONS,
LAYOUT_TEST_SET_MINIMAL,
LAYOUT_TEST_NESTED,
LAYOUT_QUIT = wxID_EXIT,
LAYOUT_ABOUT = wxID_ABOUT
};