Add test for SetItemMinSize()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling 2006-10-10 08:57:46 +00:00
parent 6ae7410f55
commit 92c0c17272
2 changed files with 79 additions and 0 deletions

View 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 );
}

View 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
};