X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/868741e9d30e1b62e8ee27614543e8ae820fd15d..8721cada6f4233f23ad90309093c971022aad0af:/samples/dialogs/dialogs.cpp diff --git a/samples/dialogs/dialogs.cpp b/samples/dialogs/dialogs.cpp index 5f883f69df..e8df89afe6 100644 --- a/samples/dialogs/dialogs.cpp +++ b/samples/dialogs/dialogs.cpp @@ -71,7 +71,9 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(DIALOGS_FILES_OPEN, MyFrame::FilesOpen) EVT_MENU(DIALOGS_FILE_SAVE, MyFrame::FileSave) EVT_MENU(DIALOGS_DIR_CHOOSE, MyFrame::DirChoose) +#if defined(__WXMSW__) || defined(__WXMAC__) EVT_MENU(DIALOGS_GENERIC_DIR_CHOOSE, MyFrame::GenericDirChoose) +#endif // wxMSW || wxMAC EVT_MENU(DIALOGS_MODAL, MyFrame::ModalDlg) EVT_MENU(DIALOGS_MODELESS, MyFrame::ModelessDlg) EVT_MENU(DIALOGS_TIP, MyFrame::ShowTip) @@ -158,7 +160,9 @@ bool MyApp::OnInit() file_menu->Append(DIALOGS_FILES_OPEN, "Open &files\tCtrl-Q"); file_menu->Append(DIALOGS_FILE_SAVE, "Sa&ve file\tCtrl-S"); file_menu->Append(DIALOGS_DIR_CHOOSE, "&Choose a directory\tCtrl-D"); +#if defined(__WXMSW__) || defined(__WXMAC__) file_menu->Append(DIALOGS_GENERIC_DIR_CHOOSE, "&Choose a directory (generic implementation)"); +#endif // wxMSW || wxMAC #if wxUSE_PROGRESSDLG file_menu->Append(DIALOGS_PROGRESS, "Pro&gress dialog\tCtrl-G"); #endif // wxUSE_PROGRESSDLG @@ -235,19 +239,25 @@ void MyFrame::ChooseColour(wxCommandEvent& WXUNUSED(event) ) void MyFrame::ChooseFont(wxCommandEvent& WXUNUSED(event) ) { - wxFontData data; - data.SetInitialFont(wxGetApp().m_canvasFont); - data.SetColour(wxGetApp().m_canvasTextColour); + wxFontData data; + data.SetInitialFont(wxGetApp().m_canvasFont); + data.SetColour(wxGetApp().m_canvasTextColour); - wxFontDialog *dialog = new wxFontDialog(this, &data); - if (dialog->ShowModal() == wxID_OK) - { - wxFontData retData = dialog->GetFontData(); + // you might also do this: + // + // wxFontDialog dialog; + // if ( !dialog.Create(this, data) { ... error ... } + // + wxFontDialog dialog(this, data); + + if (dialog.ShowModal() == wxID_OK) + { + wxFontData retData = dialog.GetFontData(); wxGetApp().m_canvasFont = retData.GetChosenFont(); wxGetApp().m_canvasTextColour = retData.GetColour(); myCanvas->Refresh(); - } - dialog->Destroy(); + } + //else: cancelled by the user, don't change the font } #if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW @@ -317,9 +327,25 @@ void MyFrame::LogDialog(wxCommandEvent& event) void MyFrame::MessageBox(wxCommandEvent& WXUNUSED(event) ) { wxMessageDialog dialog( NULL, "This is a message box\nA long, long string to test out the message box properly", - "Message box text", wxYES_NO|wxCANCEL|wxICON_INFORMATION); + "Message box text", wxNO_DEFAULT|wxYES_NO|wxCANCEL|wxICON_INFORMATION); + + switch ( dialog.ShowModal() ) + { + case wxID_YES: + wxLogStatus(wxT("You pressed \"Yes\"")); + break; + + case wxID_NO: + wxLogStatus(wxT("You pressed \"No\"")); + break; - dialog.ShowModal(); + case wxID_CANCEL: + wxLogStatus(wxT("You pressed \"Cancel\"")); + break; + + default: + wxLogError(wxT("Unexpected wxMessageDialog return code!")); + } } void MyFrame::NumericEntry(wxCommandEvent& WXUNUSED(event) ) @@ -531,6 +557,8 @@ void MyFrame::DirChoose(wxCommandEvent& WXUNUSED(event) ) } } +#if defined(__WXMSW__) || defined(__WXMAC__) + void MyFrame::GenericDirChoose(wxCommandEvent& WXUNUSED(event) ) { #if !defined(__WXMSW__) || defined(wxUSE_DIRDLGG) && wxUSE_DIRDLGG @@ -551,6 +579,8 @@ void MyFrame::GenericDirChoose(wxCommandEvent& WXUNUSED(event) ) #endif } +#endif // wxMSW || wxMAC + void MyFrame::ModalDlg(wxCommandEvent& WXUNUSED(event)) { MyModalDialog dlg(this);