propgrid/props.h

Clase wxEnumProperty

Se pueden derivar propiedades personalizadas con opciones de esta clase.

Jerarquía:

Jerarquía de wxEnumProperty

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.