62a58fbef5
Allow restricting the maximal number of characters that can be entered in wxTextEntryDialog. Closes #15158. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
237 lines
7.4 KiB
Objective-C
237 lines
7.4 KiB
Objective-C
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: textdlg.h
|
|
// Purpose: interface of wxPasswordEntryDialog
|
|
// Author: wxWidgets team
|
|
// RCS-ID: $Id$
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
/**
|
|
Default text dialog style.
|
|
*/
|
|
#define wxTextEntryDialogStyle (wxOK | wxCANCEL | wxCENTRE | wxWS_EX_VALIDATE_RECURSIVELY)
|
|
|
|
/// Default text dialog caption.
|
|
const char wxGetTextFromUserPromptStr[] = "Input Text";
|
|
|
|
/// Default password dialog caption.
|
|
const char wxGetPasswordFromUserPromptStr[] = "Enter Password";
|
|
|
|
|
|
/**
|
|
@class wxPasswordEntryDialog
|
|
|
|
This class represents a dialog that requests a one-line password string from
|
|
the user.
|
|
|
|
It is implemented as a generic wxWidgets dialog.
|
|
|
|
@library{wxcore}
|
|
@category{cmndlg}
|
|
|
|
@see @ref overview_cmndlg_password
|
|
*/
|
|
class wxPasswordEntryDialog : public wxTextEntryDialog
|
|
{
|
|
public:
|
|
/**
|
|
Constructor.
|
|
|
|
Use wxTextEntryDialog::ShowModal to show the dialog.
|
|
|
|
@param parent
|
|
Parent window.
|
|
@param message
|
|
Message to show on the dialog.
|
|
@param caption
|
|
The caption of the dialog.
|
|
@param defaultValue
|
|
The default value, which may be the empty string.
|
|
@param style
|
|
A dialog style, specifying the buttons (wxOK, wxCANCEL) and an
|
|
optional wxCENTRE style. You do not need to specify the wxTE_PASSWORD style,
|
|
it is always applied.
|
|
@param pos
|
|
Dialog position.
|
|
*/
|
|
wxPasswordEntryDialog(wxWindow* parent, const wxString& message,
|
|
const wxString& caption = wxGetPasswordFromUserPromptStr,
|
|
const wxString& defaultValue = wxEmptyString,
|
|
long style = wxTextEntryDialogStyle,
|
|
const wxPoint& pos = wxDefaultPosition);
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
@class wxTextEntryDialog
|
|
|
|
This class represents a dialog that requests a one-line text string from the user.
|
|
It is implemented as a generic wxWidgets dialog.
|
|
|
|
@library{wxcore}
|
|
@category{cmndlg}
|
|
|
|
@see @ref overview_cmndlg_textentry
|
|
*/
|
|
class wxTextEntryDialog : public wxDialog
|
|
{
|
|
public:
|
|
/**
|
|
Default constructor.
|
|
|
|
Call Create() to really create the dialog later.
|
|
|
|
@since 2.9.5
|
|
*/
|
|
wxTextEntryDialog();
|
|
|
|
/**
|
|
Constructor.
|
|
|
|
Use ShowModal() to show the dialog.
|
|
|
|
See Create() method for parameter description.
|
|
*/
|
|
wxTextEntryDialog(wxWindow* parent, const wxString& message,
|
|
const wxString& caption = wxGetTextFromUserPromptStr,
|
|
const wxString& value = wxEmptyString,
|
|
long style = wxTextEntryDialogStyle,
|
|
const wxPoint& pos = wxDefaultPosition);
|
|
|
|
/**
|
|
@param parent
|
|
Parent window.
|
|
@param message
|
|
Message to show on the dialog.
|
|
@param caption
|
|
The caption of the dialog.
|
|
@param value
|
|
The default value, which may be the empty string.
|
|
@param style
|
|
A dialog style, specifying the buttons (wxOK, wxCANCEL)
|
|
and an optional wxCENTRE style. Additionally, wxTextCtrl styles
|
|
(such as @c wxTE_PASSWORD or @c wxTE_MULTILINE) may be specified
|
|
here.
|
|
@param pos
|
|
Dialog position.
|
|
|
|
@since 2.9.5
|
|
*/
|
|
bool Create(wxWindow* parent, const wxString& message,
|
|
const wxString& caption = wxGetTextFromUserPromptStr,
|
|
const wxString& value = wxEmptyString,
|
|
long style = wxTextEntryDialogStyle,
|
|
const wxPoint& pos = wxDefaultPosition);
|
|
|
|
/**
|
|
Destructor.
|
|
*/
|
|
virtual ~wxTextEntryDialog();
|
|
|
|
/**
|
|
Returns the text that the user has entered if the user has pressed OK, or the
|
|
original value if the user has pressed Cancel.
|
|
*/
|
|
wxString GetValue() const;
|
|
|
|
/**
|
|
Associate a validator with the text control used by the dialog.
|
|
|
|
These methods can be used to limit the user entry to only some
|
|
characters, e.g.
|
|
@code
|
|
wxTextEntryDialog dlg(this, ...);
|
|
dlg.SetTextValidator(wxFILTER_ALPHA);
|
|
if ( dlg.ShowModal() == wxID_OK )
|
|
{
|
|
// We can be certain that this string contains letters only.
|
|
wxString value = dlg.GetValue();
|
|
}
|
|
@endcode
|
|
|
|
The first overload uses the provided @a validator which can be of a
|
|
custom class derived from wxTextValidator while the second one creates
|
|
a wxTextValidator with the specified @a style.
|
|
*/
|
|
//@{
|
|
void SetTextValidator(const wxTextValidator& validator);
|
|
void SetTextValidator(wxTextValidatorStyle style = wxFILTER_NONE);
|
|
//@}
|
|
|
|
/**
|
|
This function sets the maximum number of characters the user can enter
|
|
into this dialog.
|
|
|
|
@see wxTextEntry::SetMaxLength()
|
|
|
|
@since 2.9.5
|
|
*/
|
|
void SetMaxLength(unsigned long len);
|
|
|
|
/**
|
|
Sets the default text value.
|
|
*/
|
|
void SetValue(const wxString& value);
|
|
|
|
/**
|
|
Shows the dialog, returning wxID_OK if the user pressed OK, and wxID_CANCEL
|
|
otherwise.
|
|
|
|
Call GetValue() to retrieve the values of the string entered by the
|
|
user after showing the dialog.
|
|
*/
|
|
int ShowModal();
|
|
};
|
|
|
|
|
|
|
|
// ============================================================================
|
|
// Global functions/macros
|
|
// ============================================================================
|
|
|
|
/** @addtogroup group_funcmacro_dialog */
|
|
//@{
|
|
|
|
/**
|
|
Pop up a dialog box with title set to @e caption, @c message, and a
|
|
@c default_value. The user may type in text and press OK to return this
|
|
text, or press Cancel to return the empty string.
|
|
|
|
If @c centre is @true, the message text (which may include new line
|
|
characters) is centred; if @false, the message is left-justified.
|
|
|
|
This function is a wrapper around wxTextEntryDialog and while it is usually
|
|
more convenient to use, using the dialog directly is more flexible, e.g. it
|
|
allows you to specify the @c wxTE_MULTILINE to allow the user enter
|
|
multiple lines of text while this function is limited to single line entry
|
|
only.
|
|
|
|
@header{wx/textdlg.h}
|
|
*/
|
|
wxString wxGetTextFromUser(const wxString& message,
|
|
const wxString& caption = wxGetTextFromUserPromptStr,
|
|
const wxString& default_value = wxEmptyString,
|
|
wxWindow* parent = NULL,
|
|
int x = wxDefaultCoord,
|
|
int y = wxDefaultCoord,
|
|
bool centre = true);
|
|
|
|
/**
|
|
Similar to wxGetTextFromUser() but the text entered in the dialog is not
|
|
shown on screen but replaced with stars. This is intended to be used for
|
|
entering passwords as the function name implies.
|
|
|
|
@header{wx/textdlg.h}
|
|
*/
|
|
wxString wxGetPasswordFromUser(const wxString& message,
|
|
const wxString& caption = wxGetPasswordFromUserPromptStr,
|
|
const wxString& default_value = wxEmptyString,
|
|
wxWindow* parent = NULL,
|
|
int x = wxDefaultCoord,
|
|
int y = wxDefaultCoord,
|
|
bool centre = true);
|
|
|
|
//@}
|
|
|