Version: 3.2.5
wxFloatingPointValidator< T > Class Template Reference

#include <wx/valnum.h>

+ Inheritance diagram for wxFloatingPointValidator< T >:

Detailed Description

template<typename T>
class wxFloatingPointValidator< T >

Validator for text entries used for floating point numbers entry.

This validator can be used with wxTextCtrl or wxComboBox (and potentially any other class implementing wxTextEntry interface) to check that only valid floating point values can be entered into them. Currently only fixed format is supported on input, i.e. scientific format with mantissa and exponent is not supported.

This template class can be instantiated for either float or double, long double values are not currently supported.

Similarly to wxIntegerValidator<>, the range for the accepted values is by default set appropriately for the type. Additionally, this validator allows to specify the maximum number of digits that can be entered after the decimal separator. By default this is also set appropriately for the type used, e.g. 6 for float and 15 for double on a typical IEEE-754-based implementation. As with the range, the precision can be restricted after the validator creation if necessary.

When the validator displays numbers with decimal or thousands separators, the characters used for the separators (usually "." or ",") depend on the locale set with wxLocale (note that you shouldn't change locale with setlocale() as this can result in a mismatch between the separators used by wxLocale and the one used by the run-time library).

A simple example of using this class:

class MyDialog : public wxDialog
{
public:
MyDialog()
{
...
// Allow floating point numbers from 0 to 100 with 2 decimal
// digits only and handle empty string as 0 by default.
val.SetRange(0, 100);
// Associate it with the text control:
new wxTextCtrl(this, ..., val);
}
private:
float m_value;
};
A dialog box is a window with a title bar and sometimes a system menu, which can be moved around the ...
Definition: dialog.h:154
Validator for text entries used for floating point numbers entry.
Definition: valnum.h:392
ValueType *const m_value
Pointer to the value associated with this validator.
Definition: valnum.h:210
A text control allows text to be displayed and edited.
Definition: textctrl.h:1436
@ wxNUM_VAL_ZERO_AS_BLANK
Show a value of zero as an empty string.
Definition: valnum.h:45

For more information, please see wxValidator Overview.

Library:  wxCore
Category:  Validators
See also
wxValidator Overview, wxValidator, wxGenericValidator, wxTextValidator, wxMakeIntegerValidator()
Since
2.9.2

Public Types

typedef T ValueType
 Type of the values this validator is used with. More...
 
- Public Types inherited from wxNumValidator< T >
typedef T ValueType
 Type of the values this validator is used with. More...
 

Public Member Functions

 wxFloatingPointValidator (ValueType *value=NULL, int style=wxNUM_VAL_DEFAULT)
 Constructor for validator using the default precision. More...
 
 wxFloatingPointValidator (int precision, ValueType *value=NULL, int style=wxNUM_VAL_DEFAULT)
 Constructor for validator specifying the precision. More...
 
void SetPrecision (unsigned precision)
 Set precision. More...
 
void SetFactor (double factor)
 Set factor used for displaying the value. More...
 
- Public Member Functions inherited from wxNumValidator< T >
void SetMin (ValueType min)
 Sets the minimal value accepted by the validator. More...
 
ValueType GetMin () const
 Gets the minimal value accepted by the validator. More...
 
void SetMax (ValueType max)
 Sets the maximal value accepted by the validator. More...
 
ValueType GetMax () const
 Gets the maximum value accepted by the validator. More...
 
void SetRange (ValueType min, ValueType max)
 Sets both minimal and maximal values accepted by the validator. More...
 
void GetRange (ValueType &min, ValueType &max) const
 Gets both minimal and maximal values accepted by the validator. More...
 
void SetStyle (int style)
 Change the validator style. More...
 
virtual bool TransferToWindow ()
 Override base class method to format the control contents. More...
 
virtual bool TransferFromWindow ()
 Override base class method to validate the control contents. More...
 
- Public Member Functions inherited from wxValidator
 wxValidator ()
 Constructor. More...
 
virtual ~wxValidator ()
 Destructor. More...
 
virtual wxObjectClone () const
 All validator classes must implement the Clone() function, which returns an identical copy of itself. More...
 
wxWindowGetWindow () const
 Returns the window associated with the validator. More...
 
virtual void SetWindow (wxWindow *window)
 Associates a window with the validator. More...
 
virtual bool Validate (wxWindow *parent)
 This overridable function is called when the value in the associated window must be validated. More...
 
- Public Member Functions inherited from wxEvtHandler
 wxEvtHandler ()
 Constructor. More...
 
virtual ~wxEvtHandler ()
 Destructor. More...
 
virtual void QueueEvent (wxEvent *event)
 Queue event for a later processing. More...
 
virtual void AddPendingEvent (const wxEvent &event)
 Post an event to be processed later. More...
 
template<typename T , typename T1 , ... >
void CallAfter (void(T::*method)(T1,...), T1 x1,...)
 Asynchronously call the given method. More...
 
template<typename T >
void CallAfter (const T &functor)
 Asynchronously call the given functor. More...
 
virtual bool ProcessEvent (wxEvent &event)
 Processes an event, searching event tables and calling zero or more suitable event handler function(s). More...
 
bool ProcessEventLocally (wxEvent &event)
 Try to process the event in this handler and all those chained to it. More...
 
bool SafelyProcessEvent (wxEvent &event)
 Processes an event by calling ProcessEvent() and handles any exceptions that occur in the process. More...
 
void ProcessPendingEvents ()
 Processes the pending events previously queued using QueueEvent() or AddPendingEvent(); you must call this function only if you are sure there are pending events for this handler, otherwise a wxCHECK will fail. More...
 
void DeletePendingEvents ()
 Deletes all events queued on this event handler using QueueEvent() or AddPendingEvent(). More...
 
void Connect (int id, int lastId, wxEventType eventType, wxObjectEventFunction function, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL)
 Connects the given function dynamically with the event handler, id and event type. More...
 
void Connect (int id, wxEventType eventType, wxObjectEventFunction function, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL)
 See the Connect(int, int, wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info. More...
 
void Connect (wxEventType eventType, wxObjectEventFunction function, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL)
 See the Connect(int, int, wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info. More...
 
bool Disconnect (wxEventType eventType, wxObjectEventFunction function, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL)
 Disconnects the given function dynamically from the event handler, using the specified parameters as search criteria and returning true if a matching function has been found and removed. More...
 
bool Disconnect (int id=wxID_ANY, wxEventType eventType=wxEVT_NULL, wxObjectEventFunction function=NULL, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL)
 See the Disconnect(wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info. More...
 
bool Disconnect (int id, int lastId, wxEventType eventType, wxObjectEventFunction function=NULL, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL)
 See the Disconnect(wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info. More...
 
template<typename EventTag , typename Functor >
void Bind (const EventTag &eventType, Functor functor, int id=wxID_ANY, int lastId=wxID_ANY, wxObject *userData=NULL)
 Binds the given function, functor or method dynamically with the event. More...
 
template<typename EventTag , typename Class , typename EventArg , typename EventHandler >
void Bind (const EventTag &eventType, void(Class::*method)(EventArg &), EventHandler *handler, int id=wxID_ANY, int lastId=wxID_ANY, wxObject *userData=NULL)
 See the Bind<>(const EventTag&, Functor, int, int, wxObject*) overload for more info. More...
 
template<typename EventTag , typename Functor >
bool Unbind (const EventTag &eventType, Functor functor, int id=wxID_ANY, int lastId=wxID_ANY, wxObject *userData=NULL)
 Unbinds the given function, functor or method dynamically from the event handler, using the specified parameters as search criteria and returning true if a matching function has been found and removed. More...
 
template<typename EventTag , typename Class , typename EventArg , typename EventHandler >
bool Unbind (const EventTag &eventType, void(Class::*method)(EventArg &), EventHandler *handler, int id=wxID_ANY, int lastId=wxID_ANY, wxObject *userData=NULL)
 See the Unbind<>(const EventTag&, Functor, int, int, wxObject*) overload for more info. More...
 
void * GetClientData () const
 Returns user-supplied client data. More...
 
wxClientDataGetClientObject () const
 Returns a pointer to the user-supplied client data object. More...
 
void SetClientData (void *data)
 Sets user-supplied client data. More...
 
void SetClientObject (wxClientData *data)
 Set the client data object. More...
 
bool GetEvtHandlerEnabled () const
 Returns true if the event handler is enabled, false otherwise. More...
 
wxEvtHandlerGetNextHandler () const
 Returns the pointer to the next handler in the chain. More...
 
wxEvtHandlerGetPreviousHandler () const
 Returns the pointer to the previous handler in the chain. More...
 
void SetEvtHandlerEnabled (bool enabled)
 Enables or disables the event handler. More...
 
virtual void SetNextHandler (wxEvtHandler *handler)
 Sets the pointer to the next handler. More...
 
virtual void SetPreviousHandler (wxEvtHandler *handler)
 Sets the pointer to the previous handler. More...
 
void Unlink ()
 Unlinks this event handler from the chain it's part of (if any); then links the "previous" event handler to the "next" one (so that the chain won't be interrupted). More...
 
bool IsUnlinked () const
 Returns true if the next and the previous handler pointers of this event handler instance are NULL. More...
 
- Public Member Functions inherited from wxObject
 wxObject ()
 Default ctor; initializes to NULL the internal reference data. More...
 
 wxObject (const wxObject &other)
 Copy ctor. More...
 
virtual ~wxObject ()
 Destructor. More...
 
virtual wxClassInfoGetClassInfo () const
 This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
 
wxObjectRefDataGetRefData () const
 Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
 
bool IsKindOf (const wxClassInfo *info) const
 Determines whether this class is a subclass of (or the same class as) the given class. More...
 
bool IsSameAs (const wxObject &obj) const
 Returns true if this object has the same data pointer as obj. More...
 
void Ref (const wxObject &clone)
 Makes this object refer to the data in clone. More...
 
void SetRefData (wxObjectRefData *data)
 Sets the wxObject::m_refData pointer. More...
 
void UnRef ()
 Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
 
void UnShare ()
 This is the same of AllocExclusive() but this method is public. More...
 
void operator delete (void *buf)
 The delete operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 
void * operator new (size_t size, const wxString &filename=NULL, int lineNum=0)
 The new operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from wxValidator
static void SuppressBellOnError (bool suppress=true)
 This functions switches on or turns off the error sound produced by the validators if an invalid key is pressed. More...
 
static bool IsSilent ()
 Returns if the error sound is currently disabled. More...
 
- Static Public Member Functions inherited from wxEvtHandler
static void AddFilter (wxEventFilter *filter)
 Add an event filter whose FilterEvent() method will be called for each and every event processed by wxWidgets. More...
 
static void RemoveFilter (wxEventFilter *filter)
 Remove a filter previously installed with AddFilter(). More...
 
- Protected Member Functions inherited from wxEvtHandler
virtual bool TryBefore (wxEvent &event)
 Method called by ProcessEvent() before examining this object event tables. More...
 
virtual bool TryAfter (wxEvent &event)
 Method called by ProcessEvent() as last resort. More...
 
- Protected Member Functions inherited from wxObject
void AllocExclusive ()
 Ensure that this object's data is not shared with any other object. More...
 
virtual wxObjectRefDataCreateRefData () const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
 
virtual wxObjectRefDataCloneRefData (const wxObjectRefData *data) const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
 
- Protected Attributes inherited from wxNumValidator< T >
ValueType *const m_value
 Pointer to the value associated with this validator. More...
 
- Protected Attributes inherited from wxObject
wxObjectRefDatam_refData
 Pointer to an object which is the object's reference-counted data. More...
 

Member Typedef Documentation

◆ ValueType

template<typename T >
typedef T wxFloatingPointValidator< T >::ValueType

Type of the values this validator is used with.

Constructor & Destructor Documentation

◆ wxFloatingPointValidator() [1/2]

template<typename T >
wxFloatingPointValidator< T >::wxFloatingPointValidator ( ValueType value = NULL,
int  style = wxNUM_VAL_DEFAULT 
)

Constructor for validator using the default precision.

Parameters
valueA pointer to the variable associated with the validator. If non NULL, this variable should have a lifetime equal to or longer than the validator lifetime (which is usually determined by the lifetime of the window).
styleA combination of wxNumValidatorStyle enum values.

◆ wxFloatingPointValidator() [2/2]

template<typename T >
wxFloatingPointValidator< T >::wxFloatingPointValidator ( int  precision,
ValueType value = NULL,
int  style = wxNUM_VAL_DEFAULT 
)

Constructor for validator specifying the precision.

Parameters
valueA pointer to the variable associated with the validator. If non NULL, this variable should have a lifetime equal to or longer than the validator lifetime (which is usually determined by the lifetime of the window).
styleA combination of wxNumValidatorStyle enum values.
precisionThe number of decimal digits after the decimal separator to show and accept.

Member Function Documentation

◆ SetFactor()

template<typename T >
void wxFloatingPointValidator< T >::SetFactor ( double  factor)

Set factor used for displaying the value.

The value associated with the validator is multiplied by the factor before displaying it and divided by it when retrieving its value from the control. By default, the factor is 1, so the actual value is not affected by it, but it can be set to, for example, 100, to display the value in percents while still storing it as absolute value.

Since
3.1.1

◆ SetPrecision()

template<typename T >
void wxFloatingPointValidator< T >::SetPrecision ( unsigned  precision)

Set precision.

Precision is the number of digits shown (and accepted on input) after the decimal point. By default this is set to the maximal precision supported by the type handled by the validator in its constructor.