X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d4638e6b36cb3d87b85481651284b592c7a15f52..f4f5d5697dc5e34a5582061dbd857d1cd4326f91:/samples/minifram/minifram.cpp diff --git a/samples/minifram/minifram.cpp b/samples/minifram/minifram.cpp index 1066f8eeb5..4b01ac159f 100644 --- a/samples/minifram/minifram.cpp +++ b/samples/minifram/minifram.cpp @@ -48,19 +48,44 @@ MyMiniFrame *mini_frame = (MyMiniFrame*) NULL; bool mini_frame_exists = false; wxButton *button = (wxButton*) NULL; +#define ID_SET_SIZE_TO_150_150 100 +#define ID_SET_SIZE_TO_200_200 101 +#define ID_SET_MAX_SIZE_TO_150_150 102 +#define ID_SET_MAX_SIZE_TO_300_300 103 + // The `main program' equivalent, creating the windows and returning the // main frame bool MyApp::OnInit() { + if ( !wxApp::OnInit() ) + return false; + // Create the main frame window main_frame = new MyMainFrame((wxFrame *) NULL, wxID_ANY, _T("wxFrame sample"), wxPoint(100, 100), wxSize(300, 200)); - - // main_frame->SetMinSize( wxSize(100,100) ); - // main_frame->SetMaxSize( wxSize(400,400) ); - // same as + main_frame->SetSizeHints( 100,100, 400,400 ); + wxMenu *file_menu = new wxMenu; + file_menu->Append(wxID_EXIT, _T("E&xit\tAlt-Q")); + file_menu->Append(ID_SET_SIZE_TO_150_150, _T("Set frame size to 150,150\tF2")); + file_menu->Append(ID_SET_SIZE_TO_200_200, _T("Set frame size to 200,200\tF3")); + file_menu->Append(ID_SET_MAX_SIZE_TO_150_150, _T("Set frame max size to 150,150\tF4")); + file_menu->Append(ID_SET_MAX_SIZE_TO_300_300, _T("Set frame max size to 300,300\tF5")); + + wxMenuBar *menu_bar = new wxMenuBar; + menu_bar->Append(file_menu, _T("&File")); + main_frame->SetMenuBar(menu_bar); + + main_frame->Connect( ID_SET_SIZE_TO_150_150, wxID_ANY, + wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MyMainFrame::OnSetSize_150_150) ); + main_frame->Connect( ID_SET_SIZE_TO_200_200, wxID_ANY, + wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MyMainFrame::OnSetSize_200_200) ); + main_frame->Connect( ID_SET_MAX_SIZE_TO_150_150, wxID_ANY, + wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MyMainFrame::OnSetMaxSize_150_150) ); + main_frame->Connect( ID_SET_MAX_SIZE_TO_300_300, wxID_ANY, + wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MyMainFrame::OnSetMaxSize_300_300) ); + main_frame->CreateToolBar(wxNO_BORDER|wxTB_VERTICAL, ID_TOOLBAR); InitToolbar(main_frame->GetToolBar()); @@ -200,3 +225,23 @@ void MyMainFrame::OnReparent(wxCommandEvent& WXUNUSED(event)) mini_frame->SendSizeEvent(); } } + +void MyMainFrame::OnSetSize_150_150(wxCommandEvent& WXUNUSED(event)) +{ + SetSize( 150, 150 ); +} + +void MyMainFrame::OnSetSize_200_200(wxCommandEvent& WXUNUSED(event)) +{ + SetSize( 200, 200 ); +} + +void MyMainFrame::OnSetMaxSize_150_150(wxCommandEvent& WXUNUSED(event)) +{ + SetSizeHints( -1, -1, 150, 150 ); +} + +void MyMainFrame::OnSetMaxSize_300_300(wxCommandEvent& WXUNUSED(event)) +{ + SetSizeHints( -1, -1, 300, 300 ); +}