valnum.h

Clase wxNumValidator< T >

wxNumValidator es la clase base común para las clases de validadores numéricos.

Jerarquía:

Jerarquía de la clase wxNumValidator
template<typename T>
class wxNumValidator< T >

Esta clase nunca se utiliza directamente, sino como clase base para wxIntegerValidator y wxFloatingPointValidator.

Parámetros de la plantilla

T
Tipo de los valores utilizados con este validador.

Tipos

ValueType()

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

Tipo de los valores con los que se utiliza este validador.

Funciones miembro

GetMax()

template<typename T > ValueType wxNumValidator< T >::GetMax() const

Obtiene el valor máximo aceptado por el validador.

GetMin()

template<typename T > ValueType wxNumValidator< T >::GetMin() const

Obtiene el valor mínimo aceptado por el validador.

GetRange()

template<typename T > ValueType wxNumValidator< T >::GetRange( ValueType & min, ValueType & max ) const

Obtiene los valores mínimo y máximo aceptados por el validador.

SetMax()

template<typename T > ValueType wxNumValidator< T >::SetMax(ValueType max)

Establece el valor máximo aceptado por el validador.

Este valor es inclusivo, es decir, se acepta el valor igual a max.

SetMin()

template<typename T > ValueType wxNumValidator< T >::SetMin(ValueType min)

Establece el valor mínimo aceptado por el validador.

Este valor es inclusivo, es decir, se acepta el valor igual a min.

SetRange()

template<typename T > ValueType wxNumValidator< T >::SetRange( ValueType min, ValueType max )

Establece los valores mínimo y máximo aceptados por el validador.

Llamar a esta función equivale a llamar a SetMin() y SetMax().

SetStyle()

template<typename T > ValueType wxNumValidator< T >::SetStyle(int style)

Cambiar el estilo del validador.

Puede utilizarse para cambiar el estilo del validador después de su creación. El parámetro style debe ser una combinación de los valores del enum wxNumValidatorStyle.

TransferFromWindow()

template<typename T > ValueType wxNumValidator< T >::TransferFromWindow()

Anula el método de la clase base para validar el contenido del control.

Este método es llamado para comprobar la corrección de la entrada del usuario y rellenar la variable asociada con el valor numérico del control. Devuelve false si no es un número en el rango configurado o si el contenido del control está vacío para un validador sin estilo wxNUM_VAL_ZERO_AS_BLANK.

No hace nada si no hay variable asociada.

Reimplementado de wxValidator.

TransferToWindow()

template<typename T > ValueType wxNumValidator< T >::TransferToWindow()

Anula el método de la clase base para formatear el contenido del control.

Este método es llamado cuando se muestra la ventana asociada y la rellena con el contenido de la variable asociada, si la hay, formateada según el estilo del validador.

No hace nada si no hay variable asociada.

Reimplementado de wxValidator.

Datos miembro

m_value()

template<typename T > ValueType wxNumValidator< T >::m_value

Puntero al valor asociado a este validador.

Este es el mismo puntero que se pasa al constructor de la clase validadora, por lo que hay que tener en cuenta que puede ser nulo.

Este campo puede ser útil para las clases derivadas que sobrescriben los métodos TransferToWindow() y/o TransferFromWindow() de la clase base, por ejemplo aquí hay una clase que trata el valor ausente como 1 (de forma similar a como el uso de wxNUM_VAL_ZERO_AS_BLANK lo trataría como 0):

class MyMultiplierValidator : public wxFloatingPointValidator<double>
{
public:
    explicit MyMultiplierValidator(double& value)
        : wxFloatingPointValidator(&value)
    {
        SetMin(0); // Multiplier is always positive.
    }
 
    bool TransferFromWindow() override
    {
        if ( GetTextEntry()->IsEmpty() )
        {
            *m_value = 1.0;
            return true;
        }
 
        if ( !wxFloatingPointValidator<double>::TransferFromWindow() )
            return false;
 
        // Multiplier must be strictly positive.
        if ( *m_value == 0 )
            return false;
 
        return true;
    }
 
    wxObject* Clone() const override
    {
        return new MyMultiplierValidator(*this);
    }
};

Métodos y datos heredados

Esta clase hereda los métodos y datos miembro públicos y protegidos de wxObject, wxEvtHandler y wxValidator.