X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/329e86bfdedacf2736fa77eea1ae171c3c732355..0b0ca94c89cd157b6014e987f631610ecbf623a8:/samples/dialogs/dialogs.cpp?ds=sidebyside diff --git a/samples/dialogs/dialogs.cpp b/samples/dialogs/dialogs.cpp index a3efceb355..06adc34fb2 100644 --- a/samples/dialogs/dialogs.cpp +++ b/samples/dialogs/dialogs.cpp @@ -31,7 +31,6 @@ #include "wx/fontdlg.h" #include "wx/choicdlg.h" #include "wx/tipdlg.h" -#include "wx/extdlg.h" #define wxTEST_GENERIC_DIALOGS_IN_MSW 0 @@ -57,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; @@ -78,8 +77,8 @@ bool MyApp::OnInit(void) file_menu->AppendSeparator(); file_menu->Append(DIALOGS_MESSAGE_BOX, "&Message box"); file_menu->Append(DIALOGS_TEXT_ENTRY, "Text &entry"); + file_menu->Append(DIALOGS_NUM_ENTRY, "&Numeric entry\tCtrl-N"); file_menu->Append(DIALOGS_SINGLE_CHOICE, "&Single choice"); - file_menu->Append(DIALOGS_EXT_DIALOG, "&Extended dialog"); file_menu->AppendSeparator(); file_menu->Append(DIALOGS_TIP, "&Tip of the day"); file_menu->AppendSeparator(); @@ -110,42 +109,6 @@ MyFrame::MyFrame(wxWindow *parent, const wxString& title, const wxPoint& pos, co wxFrame(parent, -1, title, pos, size) {} -void MyFrame::ExtDialog(wxCommandEvent& WXUNUSED(event) ) -{ - // The standard flags causes this dialog to display a - // wxStaticLine under wxMotif and wxGTK, but none under - // other platforms. Also, it will not be resizable - // anywhere. - - wxExtDialog dialog( this, -1, "Test 1 for wxExtDialog", - wxOK|wxFORWARD|wxBACKWARD ); - - dialog.SetClientWindow( new wxTextCtrl( &dialog, -1, "Test", wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE ) ); - - // query minimal recommended size from the buttons - dialog.SetSize( dialog.GetButtonAreaSize().x, 170 ); - - dialog.Centre( wxBOTH ); - dialog.ShowModal(); - - // This dialog uses the standard dialog styles but is also - // resizable on all platforms and shows a wxStaticLine on - // all platforms. - - wxExtDialog dialog2( this, -1, "Test 2 for wxExtDialog", - wxOK|wxFORWARD|wxBACKWARD|wxCANCEL, wxDefaultPosition, wxSize(400,170), - wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxED_BUTTONS_RIGHT | wxED_STATIC_LINE | wxED_CLIENT_MARGIN ); - - dialog2.SetClientWindow( new wxTextCtrl( &dialog2, -1, "Test", wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE ) ); - - // query minimal recommended size from the buttons - wxSize min_size( dialog2.GetButtonAreaSize() ); - dialog2.SetSizeHints( min_size.x + 200, min_size.y ); - - dialog2.Centre( wxBOTH ); - dialog2.ShowModal(); -} - void MyFrame::ChooseColour(wxCommandEvent& WXUNUSED(event) ) { wxColourData data; @@ -230,12 +193,35 @@ void MyFrame::ChooseFontGeneric(wxCommandEvent& WXUNUSED(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", + 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(); } +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", + 50, 0, 100, this ); + + wxString msg; + int icon; + if ( res == -1 ) + { + msg = "Invalid number entered or dialog cancelled."; + icon = wxICON_HAND; + } + else + { + msg.Printf(_T("You've entered %lu"), res ); + icon = wxICON_INFORMATION; + } + + wxMessageBox(msg, "Numeric test result", wxOK | icon, this); +} + void MyFrame::TextEntry(wxCommandEvent& WXUNUSED(event) ) { wxTextEntryDialog dialog(this, "This is a small sample\nA long, long string to test out the text entrybox", @@ -285,7 +271,7 @@ void MyFrame::FileOpen(wxCommandEvent& WXUNUSED(event) ) void MyFrame::FileSave(wxCommandEvent& WXUNUSED(event) ) { - wxFileDialog dialog(this, "Testing save file dialog", "", "", + wxFileDialog dialog(this, "Testing save file dialog", "", "myletter.txt", "Text files (*.txt)|*.txt|Document files (*.doc)|*.doc", wxSAVE|wxOVERWRITE_PROMPT); @@ -300,7 +286,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) { @@ -311,6 +301,7 @@ void MyFrame::DirChoose(wxCommandEvent& WXUNUSED(event) ) void MyFrame::ShowTip(wxCommandEvent& event) { +#if wxUSE_STARTUP_TIPS static size_t s_index = (size_t)-1; if ( s_index == (size_t)-1 ) @@ -334,6 +325,7 @@ void MyFrame::ShowTip(wxCommandEvent& event) s_index = tipProvider->GetCurrentTip(); delete tipProvider; +#endif } void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event) ) @@ -359,12 +351,12 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(DIALOGS_CHOOSE_FONT, MyFrame::ChooseFont) 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_FILE_SAVE, MyFrame::FileSave) EVT_MENU(DIALOGS_DIR_CHOOSE, MyFrame::DirChoose) EVT_MENU(DIALOGS_TIP, MyFrame::ShowTip) - EVT_MENU(DIALOGS_EXT_DIALOG, MyFrame::ExtDialog) #if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW EVT_MENU(DIALOGS_CHOOSE_COLOUR_GENERIC, MyFrame::ChooseColourGeneric) EVT_MENU(DIALOGS_CHOOSE_FONT_GENERIC, MyFrame::ChooseFontGeneric)