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:
@@ -62,6 +62,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
|||||||
EVT_MENU(LAYOUT_TEST_NB_SIZER, MyFrame::TestNotebookSizers)
|
EVT_MENU(LAYOUT_TEST_NB_SIZER, MyFrame::TestNotebookSizers)
|
||||||
EVT_MENU(LAYOUT_TEST_GB_SIZER, MyFrame::TestGridBagSizer)
|
EVT_MENU(LAYOUT_TEST_GB_SIZER, MyFrame::TestGridBagSizer)
|
||||||
EVT_MENU(LAYOUT_TEST_SET_MINIMAL, MyFrame::TestSetMinimal)
|
EVT_MENU(LAYOUT_TEST_SET_MINIMAL, MyFrame::TestSetMinimal)
|
||||||
|
EVT_MENU(LAYOUT_TEST_NESTED, MyFrame::TestNested)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
// Define my frame constructor
|
// Define my frame constructor
|
||||||
@@ -78,6 +79,7 @@ MyFrame::MyFrame()
|
|||||||
file_menu->Append(LAYOUT_TEST_NB_SIZER, _T("Test ¬ebook sizers...\tF3"));
|
file_menu->Append(LAYOUT_TEST_NB_SIZER, _T("Test ¬ebook sizers...\tF3"));
|
||||||
file_menu->Append(LAYOUT_TEST_GB_SIZER, _T("Test &gridbag sizer...\tF4"));
|
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_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->AppendSeparator();
|
||||||
file_menu->Append(LAYOUT_QUIT, _T("E&xit"), _T("Quit program"));
|
file_menu->Append(LAYOUT_QUIT, _T("E&xit"), _T("Quit program"));
|
||||||
@@ -200,6 +202,12 @@ void MyFrame::TestSetMinimal(wxCommandEvent& WXUNUSED(event) )
|
|||||||
newFrame->Show(true);
|
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) )
|
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 );
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -27,6 +27,7 @@ public:
|
|||||||
void TestFlexSizers(wxCommandEvent& event);
|
void TestFlexSizers(wxCommandEvent& event);
|
||||||
void TestNotebookSizers(wxCommandEvent& event);
|
void TestNotebookSizers(wxCommandEvent& event);
|
||||||
void TestGridBagSizer(wxCommandEvent& event);
|
void TestGridBagSizer(wxCommandEvent& event);
|
||||||
|
void TestNested(wxCommandEvent& event);
|
||||||
void TestSetMinimal(wxCommandEvent& event);
|
void TestSetMinimal(wxCommandEvent& event);
|
||||||
|
|
||||||
void OnAbout(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
|
// controls and menu constants
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
@@ -120,6 +134,7 @@ enum
|
|||||||
LAYOUT_TEST_GB_SIZER,
|
LAYOUT_TEST_GB_SIZER,
|
||||||
LAYOUT_TEST_PROPORTIONS,
|
LAYOUT_TEST_PROPORTIONS,
|
||||||
LAYOUT_TEST_SET_MINIMAL,
|
LAYOUT_TEST_SET_MINIMAL,
|
||||||
|
LAYOUT_TEST_NESTED,
|
||||||
LAYOUT_QUIT = wxID_EXIT,
|
LAYOUT_QUIT = wxID_EXIT,
|
||||||
LAYOUT_ABOUT = wxID_ABOUT
|
LAYOUT_ABOUT = wxID_ABOUT
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user