Clase wxEnumProperty
Se pueden derivar propiedades personalizadas con opciones de esta clase.
Jerarquía:
Consultar wxBaseEnumProperty para obtener más información.
Es importante actualizar el índice privado. Se puede hacer llamando a SetIndex() en IntToValue y, a continuación, dejando que se llame a wxBaseEnumProperty::OnSetValue (sin implementarlo o llamando a la función de la superclase en él) O BIEN simplemente llamando a SetIndex en OnSetValue.
Funciones miembro
wxEnumProperty()
wxEnumProperty::wxEnumProperty( const wxString & label = wxPG_LABEL, const wxString & name = wxPG_LABEL, const wxChar *const * labels = nullptr, const long * values = nullptr, int value = 0 )
Constructor.
wxEnumProperty()
wxEnumProperty::wxEnumProperty( const wxString & label, const wxString & name, wxPGChoices & choices, int value = 0 )
Constructor.
wxEnumProperty()
wxEnumProperty::wxEnumProperty( const wxString & label, const wxString & name, const wxChar *const * labels, const long * values, wxPGChoices * choicesCache, int value = 0 )
Constructor.
wxEnumProperty()
wxEnumProperty::wxEnumProperty( const wxString & label, const wxString & name, const wxArrayString & labels, const wxArrayInt & values = wxArrayInt(), int value = 0 )
Constructor.
~wxEnumProperty()
virtual wxEnumProperty::~wxEnumProperty()
Destructor.
GetChoiceSelection()
virtual int wxEnumProperty::GetChoiceSelection() const
Devuelve la opción seleccionada actualmente.
Sólo se aplica a las propiedades que tienen opciones.
Es necesario reimplementarlo en la clase derivada si el valor de la propiedad no se asigna directamente a una opción. Los enteros como índice, los valores booleanos y las cadenas suelen hacerlo.
Reimplementado desde wxPGProperty.
GetIndex()
int wxEnumProperty::GetIndex() const
GetIndexForValue()
virtual int wxEnumProperty::GetIndexForValue(int value) const
GetItemCount()
size_t wxEnumProperty::GetItemCount() const
IntToValue()
virtual bool wxEnumProperty::IntToValue( wxVariant & variant, int number, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null ) const
Si wxPGPropValFormatFlags::FullValue no está establecido en flags, entonces el valor se interpreta como índice de la lista de opciones.
De lo contrario, es el valor real.
Reimplementado desde wxPGProperty.
Reimplementado en wxSystemColourProperty.
OnSetValue()
virtual void wxEnumProperty::OnSetValue()
Esta función virtual se invoca después de establecer m_value.
Observaciones
- Si m_value se ha establecido en la variante Null (es decir, valor no especificado), no se invocará OnSetValue().
- m_value puede ser de cualquier tipo variante. Normalmente, las propiedades sólo admiten internamente un tipo variante, por lo que OnSetValue() ofrece una buena oportunidad para convertir los valores admitidos en el tipo interno.
- La implementación predeterminada no hace nada.
Reimplementado desde wxPGProperty.
Reimplementado en wxEditEnumProperty y wxSystemColourProperty.
SetIndex()
void wxEnumProperty::SetIndex(int index)
StringToValue()
virtual bool wxEnumProperty::StringToValue( wxVariant & variant, const wxString & text, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null ) const
Convierte el texto en un valor wxVariant adecuado para esta propiedad.
Parámetros
- variant
- Al entrar en la función, este es el valor antiguo (no debería ser wxVariant nulo en casos normales). El valor traducido debe asignarse de nuevo a él.
- text
- Texto que se va a traducir a variante.
- flags
- Si se establece wxPGPropValFormatFlags::FullValue, devuelve el valor completo y almacenable en lugar del valor visible (pueden ser diferentes). Si se establece wxPGPropValFormatFlags::CompositeFragment, el texto se interpreta como parte del valor de cadena de la propiedad compuesta (tal y como lo genera ValueToString() llamado con esta misma bandera).
Valor de retorno
Devuelve verdadero si el valor wxVariant resultante era diferente.
Observaciones
La implementación predeterminada convierte los tokens delimitados por punto y coma en valores secundarios. Sólo funciona para propiedades con elementos secundarios.
Es posible que se desee tener en cuenta que m_value es una variante nula si el valor de la propiedad no está especificado (lo que normalmente solo ocurre si ha habilitado explícitamente ese comportamiento de clasificación).
Reimplementado desde wxPGProperty.
Reimplementado en wxEditEnumProperty y wxSystemColourProperty.
ValidateValue()
virtual bool wxEnumProperty::ValidateValue( wxVariant & value, wxPGValidationInfo & validationInfo ) const
Implementar esta función en la clase derivada para comprobar el valor.
Devolver true si está bien. Devolver false impide que se produzcan eventos de cambio de propiedad.
Observaciones
La implementación predeterminada siempre devuelve true.
Reimplementado desde wxPGProperty.
Reimplementado en wxEditEnumProperty.
ValueFromInt_()
bool wxEnumProperty::ValueFromInt_( wxVariant & value, int * pIndex, int intVal, wxPGPropValFormatFlags flags ) const
ValueFromString_()
bool wxEnumProperty::ValueFromString_( wxVariant & value, int * pIndex, const wxString & text, wxPGPropValFormatFlags flags ) const
ValueToString()
virtual wxString wxEnumProperty::ValueToString( wxVariant & value, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null ) const
Convierte el valor de la propiedad en una representación de texto.
Parámetros
- value
- Valor que se va a convertir.
- flags
- Si wxPGPropValFormatFlags::Null (valor predeterminado), se devuelve la cadena mostrada. Si se establece wxPGPropValFormatFlags::FullValue, devuelve el valor completo de la cadena almacenable en lugar del valor mostrable. Si se establece wxPGPropValFormatFlags::EditableValue, devuelve el valor de la cadena que debe ser editable en textctrl. Si se establece wxPGPropValFormatFlags::CompositeFragment, devuelve el texto adecuado para mostrar como parte de la representación de texto compuesto de la propiedad de cadena.
Observaciones
La implementación predeterminada llama a GenerateComposedValue().
Reimplementado desde wxPGProperty.
Reimplementado en wxCursorProperty, wxCursorProperty y wxSystemColourProperty.
Métodos y datos heredados
Esta clase hereda los métodos y datos miembro públicos y protegidos de wxPGProperty y wxObject.