#ifndef __TEXTDLGH_G__
#define __TEXTDLGH_G__
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "textdlgg.h"
#endif
#include "wx/dialog.h"
+#if wxUSE_VALIDATORS
+#include "wx/valtext.h"
+#endif
+
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 | wxWS_EX_VALIDATE_RECURSIVELY)
+
+// ----------------------------------------------------------------------------
+// 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; }
+ void SetValue(const wxString& val);
wxString GetValue() const { return m_value; }
+#if wxUSE_VALIDATORS
+ void SetTextValidator( wxTextValidator& validator );
+ void SetTextValidator( long style = wxFILTER_NONE );
+ wxTextValidator* GetTextValidator() { return (wxTextValidator*)m_textctrl->GetValidator(); }
+#endif
+ // wxUSE_VALIDATORS
+
// implementation only
void OnOK(wxCommandEvent& event);
protected:
wxTextCtrl *m_textctrl;
wxString m_value;
+ long m_dialogStyle;
private:
DECLARE_EVENT_TABLE()
+ DECLARE_DYNAMIC_CLASS(wxTextEntryDialog)
};
// ----------------------------------------------------------------------------
-// functions to get a string or a number from user
+// function to get a string from user
// ----------------------------------------------------------------------------
wxString WXDLLEXPORT
int y = -1,
bool centre = TRUE);
-long WXDLLEXPORT
-wxGetNumberFromUser(const wxString& message,
- const wxString& prompt,
- const wxString& caption,
- long value = 0,
- long min = 0,
- long max = 100,
- wxWindow *parent = (wxWindow *)NULL,
- const wxPoint& pos = wxDefaultPosition);
+wxString WXDLLEXPORT
+wxGetPasswordFromUser(const wxString& message,
+ const wxString& caption = wxGetTextFromUserPromptStr,
+ const wxString& default_value = wxEmptyString,
+ wxWindow *parent = (wxWindow *) NULL);
#endif
// __TEXTDLGH_G__