X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4080c40a71a40c54798f2681e22c7cc4701ace07..a3c1786def55bcc233f9606acb1aceee956d184f:/samples/controls/controls.cpp diff --git a/samples/controls/controls.cpp b/samples/controls/controls.cpp index 4df2c078f7..bd43837570 100644 --- a/samples/controls/controls.cpp +++ b/samples/controls/controls.cpp @@ -164,18 +164,11 @@ bool MyApp::OnInit() frame->SetIcon( wxICON(mondrian) ); - // submenu - wxMenu *sub_menu = new wxMenu( wxMENU_TEAROFF ); - sub_menu->Append(MINIMAL_ABOUT, "&About", "About this sample"); - sub_menu->Append(MINIMAL_ABOUT, "&About", "About this sample"); - sub_menu->Append(MINIMAL_ABOUT, "&About", "About this sample"); - - wxMenu *file_menu = new wxMenu; + wxMenu *file_menu = new wxMenu("", wxMENU_TEAROFF ); file_menu->Append(MINIMAL_ABOUT, "&About\tF1"); file_menu->Append(MINIMAL_QUIT, "E&xit\tAlt-X", "Quit controls sample"); - file_menu->Append( 0, "&Submenu", sub_menu ); - wxMenuBar *menu_bar = new wxMenuBar( wxMB_DOCKABLE ); + wxMenuBar *menu_bar = new wxMenuBar; menu_bar->Append(file_menu, "&File"); #if wxUSE_TOOLTIPS @@ -404,6 +397,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) (void)new wxButton( panel, ID_CHOICE_DELETE, "Delete selected item", wxPoint(180,130), wxSize(140,30) ); (void)new wxButton( panel, ID_CHOICE_FONT, "Set Italic font", wxPoint(340,130), wxSize(140,30) ); (void)new wxCheckBox( panel, ID_CHOICE_ENABLE, "Disable", wxPoint(20,130), wxSize(140,30) ); + m_notebook->AddPage(panel, "wxChoice", FALSE, Image_Choice); panel = new wxPanel(m_notebook); @@ -433,7 +427,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) m_fontButton = new wxButton( panel, ID_SET_FONT, "Set more Italic font", wxPoint(340,30), wxSize(140,30) ); (void)new wxButton( panel, ID_RADIOBOX_FONT, "Set Italic font", wxPoint(340,80), wxSize(140,30) ); (void)new wxCheckBox( panel, ID_RADIOBOX_ENABLE, "Disable", wxPoint(340,130), wxSize(140,30) ); - wxRadioButton *rb = new wxRadioButton( panel, ID_RADIOBUTTON_1, "Radiobutton1", wxPoint(210,170), wxSize(110,30) ); + wxRadioButton *rb = new wxRadioButton( panel, ID_RADIOBUTTON_1, "Radiobutton1", wxPoint(210,170), wxSize(110,30), wxRB_GROUP ); rb->SetValue( FALSE ); (void)new wxRadioButton( panel, ID_RADIOBUTTON_2, "Radiobutton2", wxPoint(340,170), wxSize(110,30) ); m_notebook->AddPage(panel, "wxRadioBox", FALSE, Image_Radio); @@ -472,6 +466,34 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) wxPoint(208, 159) ); #endif m_notebook->AddPage(panel, "wxGauge", FALSE, Image_Gauge); + + panel = new wxPanel(m_notebook); + wxIcon icon = wxTheApp->GetStdIcon(wxICON_INFORMATION); + wxStaticBitmap *bmpStatic = new wxStaticBitmap(panel, -1, icon, wxPoint(10, 10)); + + bmpStatic = new wxStaticBitmap(panel, -1, wxNullIcon, wxPoint(50, 10)); + bmpStatic->SetIcon(wxTheApp->GetStdIcon(wxICON_QUESTION)); + + wxBitmap bitmap( 100, 100 ); + wxMemoryDC dc; + dc.SelectObject( bitmap ); + dc.SetPen(*wxGREEN_PEN); + dc.DrawEllipse(5, 5, 90, 90); + dc.DrawText("Bitmap", 20, 20); + dc.SelectObject( wxNullBitmap ); + + wxBitmapButton *bmpBtn = new wxBitmapButton + ( + panel, + -1, + bitmap, + wxPoint(100, 20) + ); + bmpBtn = NULL; // suppress warning + + new wxButton(panel, -1, "Another button", wxPoint(250, 20)); + + m_notebook->AddPage(panel, "wxBitmapXXX"); } void MyPanel::OnSize( wxSizeEvent& WXUNUSED(event) ) @@ -486,22 +508,20 @@ void MyPanel::OnSize( wxSizeEvent& WXUNUSED(event) ) void MyPanel::OnPageChanging( wxNotebookEvent &event ) { - int selNew = event.GetSelection(), - selOld = event.GetOldSelection(); - if ( selOld == 2 && selNew == 4 ) + int selOld = event.GetOldSelection(); + if ( selOld == 2 ) { wxMessageBox("This demonstrates how a program may prevent the " - "page change from taking place - the current page will " - "stay the third one", "Conntrol sample", + "page change from taking place - \n the current page will " + "stay the third one", "Control sample", wxICON_INFORMATION | wxOK); event.Veto(); + + return; } - else - { - *m_text << "Notebook selection is being changed from " - << selOld << " to " << selNew << "\n"; - } + + *m_text << "Notebook selection is being changed from " << selOld << "\n"; } void MyPanel::OnPageChanged( wxNotebookEvent &event ) @@ -757,8 +777,8 @@ void MyPanel::OnShowProgress( wxCommandEvent& WXUNUSED(event) ) "An informative message", max, // range this, // parent - wxPD_CAN_ABORT | wxPD_APP_MODAL); - + wxPD_CAN_ABORT | wxPD_APP_MODAL | wxPD_ELAPSED_TIME | wxPD_ESTIMATED_TIME | wxPD_REMAINING_TIME); + bool cont = TRUE; for ( int i = 0; i < max && cont; i++ ) @@ -776,7 +796,6 @@ void MyPanel::OnShowProgress( wxCommandEvent& WXUNUSED(event) ) { cont = dialog.Update(i); } - wxYield(); } if ( !cont )