#include "wx/fontdlg.h"
#include "wx/choicdlg.h"
#include "wx/tipdlg.h"
-#include "wx/extdlg.h"
#define wxTEST_GENERIC_DIALOGS_IN_MSW 0
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();
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;
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",
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);
void MyFrame::ShowTip(wxCommandEvent& event)
{
+#if wxUSE_STARTUP_TIPS
static size_t s_index = (size_t)-1;
if ( s_index == (size_t)-1 )
s_index = tipProvider->GetCurrentTip();
delete tipProvider;
+#endif
}
void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event) )
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)