class WXDLLEXPORT wxTextCtrl;
-// Handy dialog functions (will be converted into classes at some point)
WXDLLEXPORT_DATA(extern const wxChar*) wxGetTextFromUserPromptStr;
WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString;
+#define wxTextEntryDialogStyle (wxOK | wxCANCEL | wxCENTRE)
+
+// ----------------------------------------------------------------------------
+// wxTextEntryDialog: a dialog with text control, [ok] and [cancel] buttons
+// ----------------------------------------------------------------------------
+
class WXDLLEXPORT wxTextEntryDialog : public wxDialog
{
- DECLARE_DYNAMIC_CLASS(wxTextEntryDialog)
-
public:
wxTextEntryDialog(wxWindow *parent,
const wxString& message,
const wxString& caption = wxGetTextFromUserPromptStr,
const wxString& value = wxEmptyString,
- long style = wxOK | wxCANCEL | wxCENTRE,
+ long style = wxTextEntryDialogStyle,
const wxPoint& pos = wxDefaultPosition);
void SetValue(const wxString& val) { m_value = val; }
private:
DECLARE_EVENT_TABLE()
+ DECLARE_DYNAMIC_CLASS(wxTextEntryDialog)
};
// ----------------------------------------------------------------------------
int y = -1,
bool centre = TRUE);
+wxString WXDLLEXPORT
+wxGetPasswordFromUser(const wxString& message,
+ const wxString& caption = wxGetTextFromUserPromptStr,
+ const wxString& default_value = wxEmptyString,
+ wxWindow *parent = (wxWindow *) NULL);
+
#endif
// __TEXTDLGH_G__
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_PASSWORD_ENTRY, "&Password entry\tCtrl-P");
file_menu->Append(DIALOGS_NUM_ENTRY, "&Numeric entry\tCtrl-N");
file_menu->Append(DIALOGS_SINGLE_CHOICE, "&Single choice\tCtrl-S");
file_menu->AppendSeparator();
file_menu->Append(DIALOGS_TIP, "&Tip of the day\tCtrl-T");
file_menu->AppendSeparator();
file_menu->Append(DIALOGS_FILE_OPEN, "&Open file\tCtrl-O");
- file_menu->Append(DIALOGS_FILES_OPEN, "&Open files\tCtrl-Q");
+ 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\tCtrl-D");
file_menu->AppendSeparator();
wxMessageBox(msg, "Numeric test result", wxOK | icon, this);
}
-void MyFrame::TextEntry(wxCommandEvent& WXUNUSED(event) )
+void MyFrame::PasswordEntry(wxCommandEvent& WXUNUSED(event))
{
- wxTextEntryDialog dialog(this, "This is a small sample\nA long, long string to test out the text entrybox",
- "Please enter a string", "Default value", wxOK|wxCANCEL);
+ wxString pwd = wxGetPasswordFromUser("Enter password:",
+ "Passowrd entry dialog",
+ "",
+ this);
+ if ( !!pwd )
+ {
+ wxMessageBox(wxString::Format("Your password is '%s'", pwd.c_str()),
+ "Got password", wxOK | wxICON_INFORMATION, this);
+ }
+}
+
+void MyFrame::TextEntry(wxCommandEvent& WXUNUSED(event))
+{
+ wxTextEntryDialog dialog(this,
+ "This is a small sample\n"
+ "A long, long string to test out the text entrybox",
+ "Please enter a string",
+ "Default value",
+ wxOK | wxCANCEL);
if (dialog.ShowModal() == wxID_OK)
{
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)
+ 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_PASSWORD_ENTRY, MyFrame::PasswordEntry)
+ 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)
#if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
- EVT_MENU(DIALOGS_CHOOSE_COLOUR_GENERIC, MyFrame::ChooseColourGeneric)
- EVT_MENU(DIALOGS_CHOOSE_FONT_GENERIC, MyFrame::ChooseFontGeneric)
+ EVT_MENU(DIALOGS_CHOOSE_COLOUR_GENERIC, MyFrame::ChooseColourGeneric)
+ EVT_MENU(DIALOGS_CHOOSE_FONT_GENERIC, MyFrame::ChooseFontGeneric)
#endif
- EVT_MENU(wxID_EXIT, MyFrame::OnExit)
+ EVT_MENU(wxID_EXIT, MyFrame::OnExit)
END_EVENT_TABLE()
void MessageBox(wxCommandEvent& event);
void SingleChoice(wxCommandEvent& event);
void TextEntry(wxCommandEvent& event);
+ void PasswordEntry(wxCommandEvent& event);
void NumericEntry(wxCommandEvent& event);
void FileOpen(wxCommandEvent& event);
void FilesOpen(wxCommandEvent& event);
// Menu IDs
-#define DIALOGS_CHOOSE_COLOUR 1
-#define DIALOGS_CHOOSE_COLOUR_GENERIC 2
-#define DIALOGS_CHOOSE_FONT 3
-#define DIALOGS_CHOOSE_FONT_GENERIC 4
-#define DIALOGS_MESSAGE_BOX 5
-#define DIALOGS_SINGLE_CHOICE 6
-#define DIALOGS_TEXT_ENTRY 7
-#define DIALOGS_FILE_OPEN 8
-#define DIALOGS_FILES_OPEN 9
-#define DIALOGS_FILE_SAVE 10
-#define DIALOGS_DIR_CHOOSE 11
-#define DIALOGS_TIP 12
-#define DIALOGS_NUM_ENTRY 13
-#define DIALOGS_LOG_DIALOG 14
+enum
+{
+ DIALOGS_CHOOSE_COLOUR = 1,
+ DIALOGS_CHOOSE_COLOUR_GENERIC,
+ DIALOGS_CHOOSE_FONT,
+ DIALOGS_CHOOSE_FONT_GENERIC,
+ DIALOGS_MESSAGE_BOX,
+ DIALOGS_SINGLE_CHOICE,
+ DIALOGS_TEXT_ENTRY,
+ DIALOGS_PASSWORD_ENTRY,
+ DIALOGS_FILE_OPEN,
+ DIALOGS_FILES_OPEN,
+ DIALOGS_FILE_SAVE,
+ DIALOGS_DIR_CHOOSE,
+ DIALOGS_TIP,
+ DIALOGS_NUM_ENTRY,
+ DIALOGS_LOG_DIALOG
+};
#endif