]> git.saurik.com Git - wxWidgets.git/commitdiff
Added simplistic test for nested sizer (in panel).
authorRobert Roebling <robert@roebling.de>
Sun, 29 Oct 2006 18:10:32 +0000 (18:10 +0000)
committerRobert Roebling <robert@roebling.de>
Sun, 29 Oct 2006 18:10:32 +0000 (18:10 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/layout/layout.cpp
samples/layout/layout.h

index dd3b080d7f0a73dc875d00f55bd7257278ddd1cf..a8d61512311d318ad45d579f0e4bb53145c089c2 100644 (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 );
+}
+
index 965bcfc5ad7bc06375dccc91c8a48e564fa4b95a..4c0aa56fa63fabd65b0862bf2f167685fc60810a 100644 (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
 };