X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ed58dbeab64d18a0f869ea8e1610a0a88ad7b22c..ae80f83724464f0d178d85a60e1ba6e9a1c4ae8f:/samples/dialogs/dialogs.cpp diff --git a/samples/dialogs/dialogs.cpp b/samples/dialogs/dialogs.cpp index bf92673cbe..59873ce715 100644 --- a/samples/dialogs/dialogs.cpp +++ b/samples/dialogs/dialogs.cpp @@ -56,7 +56,7 @@ bool MyApp::OnInit(void) m_canvasFont = *wxNORMAL_FONT; // Create the main frame window - MyFrame *frame = new MyFrame((wxFrame *) NULL, (char *) "wxWindows dialogs example", wxPoint(50, 50), wxSize(400, 300)); + MyFrame *frame = new MyFrame((wxFrame *) NULL, (char *) "wxWindows dialogs example", wxPoint(20, 20), wxSize(400, 300)); // Make a menubar wxMenu *file_menu = new wxMenu; @@ -75,18 +75,20 @@ bool MyApp::OnInit(void) #endif file_menu->AppendSeparator(); - file_menu->Append(DIALOGS_MESSAGE_BOX, "&Message box"); - file_menu->Append(DIALOGS_TEXT_ENTRY, "Text &entry"); + file_menu->Append(DIALOGS_LOG_DIALOG, "&Log dialog\tCtrl-L"); + file_menu->Append(DIALOGS_MESSAGE_BOX, "&Message box\tCtrl-M"); + file_menu->Append(DIALOGS_TEXT_ENTRY, "Text &entry\tCtrl-E"); file_menu->Append(DIALOGS_NUM_ENTRY, "&Numeric entry\tCtrl-N"); - file_menu->Append(DIALOGS_SINGLE_CHOICE, "&Single choice"); + file_menu->Append(DIALOGS_SINGLE_CHOICE, "&Single choice\tCtrl-S"); file_menu->AppendSeparator(); - file_menu->Append(DIALOGS_TIP, "&Tip of the day"); + file_menu->Append(DIALOGS_TIP, "&Tip of the day\tCtrl-T"); file_menu->AppendSeparator(); - file_menu->Append(DIALOGS_FILE_OPEN, "&Open file"); + file_menu->Append(DIALOGS_FILE_OPEN, "&Open file\tCtrl-O"); + file_menu->Append(DIALOGS_FILES_OPEN, "&Open files\tCtrl-Q"); file_menu->Append(DIALOGS_FILE_SAVE, "Sa&ve file"); - file_menu->Append(DIALOGS_DIR_CHOOSE, "&Choose a directory"); + file_menu->Append(DIALOGS_DIR_CHOOSE, "&Choose a directory\tCtrl-D"); file_menu->AppendSeparator(); - file_menu->Append(wxID_EXIT, "E&xit"); + file_menu->Append(wxID_EXIT, "E&xit\tAlt-X"); wxMenuBar *menu_bar = new wxMenuBar; menu_bar->Append(file_menu, "&File"); frame->SetMenuBar(menu_bar); @@ -95,7 +97,7 @@ bool MyApp::OnInit(void) myCanvas->SetBackgroundColour(*wxWHITE); frame->Centre(wxBOTH); - + // Show the frame frame->Show(TRUE); @@ -118,7 +120,7 @@ void MyFrame::ChooseColour(wxCommandEvent& WXUNUSED(event) ) wxColour colour(i*16, i*16, i*16); data.SetCustomColour(i, colour); } - + wxColourDialog *dialog = new wxColourDialog(this, &data); if (dialog->ShowModal() == wxID_OK) { @@ -137,7 +139,7 @@ void MyFrame::ChooseFont(wxCommandEvent& WXUNUSED(event) ) wxFontData data; data.SetInitialFont(wxGetApp().m_canvasFont); data.SetColour(wxGetApp().m_canvasTextColour); - + wxFontDialog *dialog = new wxFontDialog(this, &data); if (dialog->ShowModal() == wxID_OK) { @@ -159,7 +161,7 @@ void MyFrame::ChooseColourGeneric(wxCommandEvent& WXUNUSED(event)) wxColour colour(i*16, i*16, i*16); data.SetCustomColour(i, colour); } - + wxGenericColourDialog *dialog = new wxGenericColourDialog(this, &data); if (dialog->ShowModal() == wxID_OK) { @@ -189,11 +191,20 @@ void MyFrame::ChooseFontGeneric(wxCommandEvent& WXUNUSED(event) ) } dialog->Destroy(); } -#endif +#endif // wxTEST_GENERIC_DIALOGS_IN_MSW + +void MyFrame::LogDialog(wxCommandEvent& event) +{ + wxLogMessage("This is some message - everything is ok so far."); + wxLogMessage("Another message..."); + wxLogWarning("And then something went wrong!"); + wxLogError("Intermediary error handler decided to abort."); + wxLogError("The top level caller detected an error."); +} 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", + wxMessageDialog dialog( this, "This is a message box\nA long, long string to test out the message box properly", "Message box text", wxYES_NO|wxCANCEL|wxICON_INFORMATION); dialog.ShowModal(); @@ -203,7 +214,7 @@ void MyFrame::NumericEntry(wxCommandEvent& WXUNUSED(event) ) { long res = wxGetNumberFromUser( "This is some text, actually a lot of text.\n" "Even two rows of text.", - "Enter a number:", "Numeric input test", + "Enter a number:", "Numeric input test", 50, 0, 100, this ); wxString msg; @@ -214,8 +225,8 @@ void MyFrame::NumericEntry(wxCommandEvent& WXUNUSED(event) ) icon = wxICON_HAND; } else - { - msg.Printf(_T("You've entered %lu"), res ); + { + msg.Printf(_T("You've entered %lu"), res ); icon = wxICON_INFORMATION; } @@ -269,6 +280,34 @@ void MyFrame::FileOpen(wxCommandEvent& WXUNUSED(event) ) } } +void MyFrame::FilesOpen(wxCommandEvent& WXUNUSED(event) ) +{ + wxFileDialog dialog(this, "Testing open multiple file dialog", + "", "", wxFileSelectorDefaultWildcardStr, + wxMULTIPLE); + + if (dialog.ShowModal() == wxID_OK) + { + wxArrayString paths, filenames; + + dialog.GetPaths(paths); + dialog.GetFilenames(filenames); + + wxString msg, s; + size_t count = paths.GetCount(); + for ( size_t n = 0; n < count; n++ ) + { + s.Printf(_T("File %d: %s (%s)\n"), + n, paths[n].c_str(), filenames[n].c_str()); + + msg += s; + } + + wxMessageDialog dialog2(this, msg, "Selected files"); + dialog2.ShowModal(); + } +} + void MyFrame::FileSave(wxCommandEvent& WXUNUSED(event) ) { wxFileDialog dialog(this, "Testing save file dialog", "", "myletter.txt", @@ -286,7 +325,11 @@ void MyFrame::FileSave(wxCommandEvent& WXUNUSED(event) ) void MyFrame::DirChoose(wxCommandEvent& WXUNUSED(event) ) { - wxDirDialog dialog(this, "Testing directory picker", ""); + // pass some initial dir to wxDirDialog + wxString dirHome; + wxGetHomeDir(&dirHome); + + wxDirDialog dialog(this, "Testing directory picker", dirHome); if (dialog.ShowModal() == wxID_OK) { @@ -345,11 +388,13 @@ END_EVENT_TABLE() BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(DIALOGS_CHOOSE_COLOUR, MyFrame::ChooseColour) EVT_MENU(DIALOGS_CHOOSE_FONT, MyFrame::ChooseFont) + EVT_MENU(DIALOGS_LOG_DIALOG, MyFrame::LogDialog) EVT_MENU(DIALOGS_MESSAGE_BOX, MyFrame::MessageBox) EVT_MENU(DIALOGS_TEXT_ENTRY, MyFrame::TextEntry) EVT_MENU(DIALOGS_NUM_ENTRY, MyFrame::NumericEntry) EVT_MENU(DIALOGS_SINGLE_CHOICE, MyFrame::SingleChoice) EVT_MENU(DIALOGS_FILE_OPEN, MyFrame::FileOpen) + EVT_MENU(DIALOGS_FILES_OPEN, MyFrame::FilesOpen) EVT_MENU(DIALOGS_FILE_SAVE, MyFrame::FileSave) EVT_MENU(DIALOGS_DIR_CHOOSE, MyFrame::DirChoose) EVT_MENU(DIALOGS_TIP, MyFrame::ShowTip)