]> git.saurik.com Git - wxWidgets.git/commitdiff
Add test for SetItemMinSize()
authorRobert Roebling <robert@roebling.de>
Tue, 10 Oct 2006 08:57:46 +0000 (08:57 +0000)
committerRobert Roebling <robert@roebling.de>
Tue, 10 Oct 2006 08:57:46 +0000 (08:57 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

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

index 58762c05fe2a7edb09d85486700ea0ec814b1721..a732022995a7d53aabe84c66ce47b9486e4f1cd1 100644 (file)
@@ -61,6 +61,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
   EVT_MENU(LAYOUT_TEST_SIZER, MyFrame::TestFlexSizers)
   EVT_MENU(LAYOUT_TEST_NB_SIZER, MyFrame::TestNotebookSizers)
   EVT_MENU(LAYOUT_TEST_GB_SIZER, MyFrame::TestGridBagSizer)
+  EVT_MENU(LAYOUT_TEST_SET_MINIMAL, MyFrame::TestSetMinimal)
 END_EVENT_TABLE()
 
 // Define my frame constructor
@@ -76,6 +77,7 @@ MyFrame::MyFrame()
   file_menu->Append(LAYOUT_TEST_SIZER, _T("Test wx&FlexSizer...\tF2"));
   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->AppendSeparator();
   file_menu->Append(LAYOUT_QUIT, _T("E&xit"), _T("Quit program"));
@@ -192,6 +194,12 @@ void MyFrame::TestNotebookSizers(wxCommandEvent& WXUNUSED(event) )
     dialog.ShowModal();
 }
 
+void MyFrame::TestSetMinimal(wxCommandEvent& WXUNUSED(event) )
+{
+    MySimpleSizerFrame *newFrame = new MySimpleSizerFrame(_T("Simple Sizer Test Frame"), 50, 50);
+    newFrame->Show(true);
+}
+
 
 void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event) )
 {
@@ -540,3 +548,59 @@ when compiled in debug mode."), _T("Warning"), wxOK | wxICON_INFORMATION);
     }
     m_gbs->Layout();
 }
+
+// ----------------------------------------------------------------------------
+// MySimpleSizerFrame
+// ----------------------------------------------------------------------------
+
+// Some IDs
+enum {
+    ID_SET_SMALL = 1300,
+    ID_SET_BIG
+};
+
+BEGIN_EVENT_TABLE(MySimpleSizerFrame, wxFrame)
+    EVT_MENU( ID_SET_SMALL, MySimpleSizerFrame::OnSetSmallSize)
+    EVT_MENU( ID_SET_BIG, MySimpleSizerFrame::OnSetBigSize)
+END_EVENT_TABLE()
+
+MySimpleSizerFrame::MySimpleSizerFrame(const wxChar *title, int x, int y )
+    : wxFrame( NULL, wxID_ANY, title, wxPoint(x, y) )
+{
+    wxMenu *menu = new wxMenu;
+    menu->Append(ID_SET_SMALL, _T("Make text control small\tF4"));
+    menu->Append(ID_SET_BIG, _T("Make text control big\tF5"));
+    
+    wxMenuBar *menu_bar = new wxMenuBar;
+    menu_bar->Append(menu, _T("&File"));
+
+    SetMenuBar( menu_bar );
+
+    wxBoxSizer *main_sizer = new wxBoxSizer( wxHORIZONTAL );
+
+    m_target = new wxTextCtrl( this, -1, wxEmptyString, wxDefaultPosition, wxSize( 80, -1 ) );
+    main_sizer->Add( m_target, 1, wxALL, 5 );
+    
+    main_sizer->Add( new wxStaticText( this, -1, wxT("Set alternating sizes using F4 and F5") ), 0, wxALL, 5 );
+    
+    SetSizer( main_sizer);
+    
+    Layout();
+    GetSizer()->Fit( this );
+}
+
+void MySimpleSizerFrame::OnSetSmallSize( wxCommandEvent &event)
+{
+    GetSizer()->SetItemMinSize( m_target, 40, -1 );
+    Layout();
+    GetSizer()->Fit( this );
+}
+
+void MySimpleSizerFrame::OnSetBigSize( wxCommandEvent &event)
+{
+    GetSizer()->SetItemMinSize( m_target, 140, -1 );
+    Layout();
+    GetSizer()->Fit( this );
+}
+
+
index f66fbec37bb32e093581dbee42029fd3183233a3..965bcfc5ad7bc06375dccc91c8a48e564fa4b95a 100644 (file)
@@ -27,6 +27,7 @@ public:
     void TestFlexSizers(wxCommandEvent& event);
     void TestNotebookSizers(wxCommandEvent& event);
     void TestGridBagSizer(wxCommandEvent& event);
+    void TestSetMinimal(wxCommandEvent& event);
 
     void OnAbout(wxCommandEvent& event);
     void OnQuit(wxCommandEvent& event);
@@ -95,7 +96,20 @@ private:
 };
 
 
+// a frame for testing simple setting of "default size"
+class MySimpleSizerFrame : public wxFrame
+{
+public:
+    MySimpleSizerFrame(const wxChar *title, int x, int y );
+    
+    void OnSetSmallSize( wxCommandEvent &event);
+    void OnSetBigSize( wxCommandEvent &event);
+    
+private:
+    wxTextCtrl  *m_target;
 
+    DECLARE_EVENT_TABLE()
+};
 
 
 // controls and menu constants
@@ -105,6 +119,7 @@ enum
     LAYOUT_TEST_NB_SIZER,
     LAYOUT_TEST_GB_SIZER,
     LAYOUT_TEST_PROPORTIONS,
+    LAYOUT_TEST_SET_MINIMAL,
     LAYOUT_QUIT = wxID_EXIT,
     LAYOUT_ABOUT = wxID_ABOUT
 };