propgrid/property.h

Clase wxPGProperty

wxPGProperty es la clase base para todas las propiedades de wxPropertyGrid y, como tal, no está pensada para ser instanciada directamente.

Jerarquía:

Jerarquía de wxPGProperty

En las secciones siguientes tratamos algunos temas relacionados.

Clases de propiedades suministradas listas para usar

A continuación se incluye una lista y una breve descripción de las clases de propiedades totalmente funcionales suministradas. Se encuentran en props.h o advprops.h.

wxPropertyCategory

No es una propiedad real en sí misma, sino un encabezado para un grupo de propiedades. Independientemente, hereda de wxPGProperty y admite la visualización de "etiquetas" para columnas distintas de la primera. La forma más sencilla de establecer la etiqueta de categoría para la segunda columna es llamar a wxPGProperty::SetValue() con un argumento de cadena.

wxStringProperty

Propiedad de cadena simple.

Atributos especiales compatibles:

Ver también identificadores de atributos de propiedad wxPropertyGrid.

Observaciones

wxStringProperty tiene una característica especial: si tiene el valor "<composed>" y también tiene propiedades secundarias, su valor mostrado se convierte en una composición de los valores de las propiedades secundarias, de forma similar a wxFontProperty, por ejemplo.

wxIntProperty

Deriva de wxNumericProperty y muestra el valor como un entero largo con signo. wxIntProperty admite sin problemas enteros de 64 bits (es decir, wxLongLong) en caso de desbordamiento. Para convertir de forma segura un variante a un entero, utilizar un código como este:

wxLongLong ll;
ll << property->GetValue();
 
// o
wxLongLong ll = propertyGrid->GetPropertyValueAsLong(property);

Obtención del valor de 64 bits:

wxLongLong_t value = pg->GetPropertyValueAsLongLong();
 
// o
 
wxLongLong value;
wxVariant variant = property->GetValue();
if ( variant.IsType(wxPG_VARIANT_TYPE_LONGLONG) )
    value = variant.GetLongLong();
else
    value = variant.GetLong();

Configuración del valor de 64 bits:

pg->SetPropertyValue(longLongVal);
 
// o
 
property->SetValue(WXVARIANT(longLongVal));

Atributos especiales compatibles:

Ver también identificadores de atributos de propiedad wxPropertyGrid.

wxUIntProperty

Igual que wxIntProperty, pero muestra el valor como entero sin signo. Para establecer el prefijo utilizado globalmente, establecer el atributo de cadena wxPG_UINT_PREFIX. Para establecer la base utilizada globalmente, establecer el atributo entero wxPG_UINT_BASE. Independientemente del prefijo actual, entiende valores (hexadecimales) que comienzan con "0x" y "$" (aparte del modo de edición). Al igual que wxIntProperty, wxUIntProperty admite sin problemas enteros sin signo de 64 bits (es decir, wxULongLong). Se aplican las mismas reglas de seguridad de wxVariant.

Atributos especiales admitidos:

Ver también identificadores de atributos de propiedad wxPropertyGrid.

Observaciones

Para ver un ejemplo de cómo utilizar la compatibilidad con enteros de 64 bits sin interrupciones, consultar la documentación de wxIntProperty (simplemente utilizar wxULongLong en lugar de wxLongLong).

wxFloatProperty

Igual que wxStringProperty, pero convierte el texto en un número flotante de doble precisión. La precisión predeterminada de flotante a texto es de 6 decimales, pero se puede cambiar modificando el atributo wxPG_FLOAT_PRECISION.

Hay que tener en cuenta que al mostrar el valor, se omite el signo si la representación textual resultante es efectivamente cero (por ejemplo, -0,0001 con una precisión de 3 se convertirá en 0,0 en lugar de -0,0). Este comportamiento es diferente al de la biblioteca estándar de C, pero debería resultar en una mejor experiencia para el usuario final en casi todos los casos.

Atributos especiales compatibles:

Ver también identificadores de atributos de propiedad wxPropertyGrid.

wxBoolProperty

Representa un valor booleano. Se utiiza wxChoice como control de editor, por defecto. El atributo wxPG_BOOL_USE_CHECKBOX se puede establecer en verdadero para utilizar una casilla de verificación en su lugar.

Atributos especiales compatibles:

Ver también identificadores de atributos de propiedad wxPropertyGrid.

wxLongStringProperty

Similar a wxStringProperty, pero tiene un botón que activa un pequeño cuadro de diálogo de editor de texto. Hay que tener en cuenta que en valores de cadena largos, algunos caracteres de control se escapan: la tabulación se representa con "\t", el salto de línea con "\n", el retorno de carro con "\r" y los caracteres de barra invertida se duplican. Si otro carácter va precedido de una barra invertida, esta se omite.

También hay que tener en cuenta que, dependiendo del sistema, algunas secuencias de caracteres especiales, como por ejemplo "\r\n", pueden interpretarse y presentarse de forma diferente en el editor y, por lo tanto, es posible que dichas secuencias no sean las mismas antes y después de la edición.

Para mostrar un cuadro de diálogo personalizado al pulsar el botón, se puede crear una subclase de wxLongStringProperty y sobrescribir DisplayEditorDialog, de la siguiente manera:

bool DisplayEditorDialog( wxPropertyGrid* propGrid, wxVariant& value ) override
{
    wxSize dialogSize(...tamaño del diálogo...);
 
    wxPoint dlgPos = propGrid->GetGoodEditorDialogPosition(this, dialogSize);
 
    // Crear el diálogo dlg en dlgPos. Usar value como el valor de la cadena inicial
    ...
 
    if ( dlg.ShowModal() == wxID_OK )
    {
        value = dlg.GetStringValue);
        return true;
    }
    return false;
}

Atributos especiales compatibles:

  • wxPG_DIALOG_TITLE: Establece un título específico para el cuadro de diálogo del editor de texto.

wxDirProperty

Igual que wxLongStringProperty, pero el botón activa el selector de directorios.

Atributos especiales compatibles:

  • wxPG_DIALOG_TITLE: Establece un título específico para el selector de directorios.

Ver también identificadores de atributos de propiedad wxPropertyGrid.

wxFileProperty

Igual que wxLongStringProperty, pero el botón activa el selector de archivos. El comodín predeterminado es "Todos los archivos...", pero se puede cambiar configurando el atributo wxPG_FILE_WILDCARD.

Atributos especiales compatibles:

Ver también identificadores de atributos de propiedad wxPropertyGrid.

wxEnumProperty

Representa una única selección de una lista de opciones. Se utiliza wxOwnerDrawnComboBox para editar el valor.

wxFlagsProperty

Representa un conjunto de bits que caben en un entero largo. Se crean las subpropiedades wxBoolProperty para editar bits individuales. Se crea un Textctrl para editar manualmente los indicadores como texto; una secuencia continua de espacios, comas y puntos y comas se considera un separador de identificadores de indicadores.

Nota: Al cambiar las "opciones" (es decir, las etiquetas de los indicadores) de wxFlagsProperty, se deberá utilizar wxPGProperty::SetChoices(), ya que de lo contrario no se actualizarán correctamente.

wxFlagsProperty admite los mismos atributos que wxBoolProperty.

wxArrayStringProperty

Propiedad que gestiona una lista de cadenas. Permite editar una lista de cadenas en wxTextCtrl y en un cuadro de diálogo independiente.

Atributos especiales compatibles:

  • wxPG_ARRAY_DELIMITER: Establece el carácter delimitador de cadenas.
  • wxPG_DIALOG_TITLE: Establece un título específico para el cuadro de diálogo del editor. El valor predeterminado es la coma (“,”).

Ver también identificadores de atributos de propiedad wxPropertyGrid.

wxDateProperty

Propiedad que representa wxDateTime. El editor predeterminado es DatePickerCtrl, aunque TextCtrl también debería funcionar.

Atributos especiales compatibles:

Ver también identificadores de atributos de propiedad wxPropertyGrid.

wxEditEnumProperty

Representa una cadena que se puede editar libremente o seleccionar de una lista de opciones; se utiliza un control de cuadro combinado personalizado para editar el valor.

Observaciones

Utiliza un valor int, similar a wxEnumProperty, a menos que el texto introducido por el usuario no se encuentre entre las opciones (en cuyo caso se utiliza un valor de cadena).

wxMultiChoiceProperty

Permite editar una selección múltiple de una lista de cadenas. Esta propiedad se basa en gran medida en el concepto de wxMultiChoiceDialog. Utiliza el valor wxArrayString.

Atributos especiales compatibles:

  • wxPG_ATTR_MULTICHOICE_USERSTRINGMODE: Si es > 0, permite al usuario introducir manualmente cadenas que no están en la lista de opciones. Si este valor es 1, las cadenas del usuario se colocan preferiblemente delante de las opciones válidas. Si el valor es 2, esas cadenas se colocarán detrás de las opciones válidas.
  • wxPG_DIALOG_TITLE: Establece un título específico para el cuadro de diálogo del editor.

Ver también identificadores de atributos de propiedad wxPropertyGrid.

wxImageFileProperty

Propiedad que representa un archivo de imagen (nombre). Similar a wxFileProperty, pero tiene una miniatura de la imagen delante del nombre del archivo y genera automáticamente comodines a partir de los controladores de imágenes disponibles.

Atributos especiales compatibles:

Ver también identificadores de atributos de propiedad wxPropertyGrid.

wxColourProperty

Editor alternativo útil: Choice.

Representa un wxColour. Se utiliza un wxButton para activar un cuadro de diálogo de selección de color. Existen varias posibilidades de subclases con esta clase. Consultar la sección wxSystemColourProperty más abajo para obtener más detalles.

Atributos especiales compatibles:

Ver también identificadores de atributos de propiedad wxPropertyGrid.

wxFontProperty

Representa un wxFont. Se utilizan varias subpropiedades para editar subvalores individuales.

Atributos especiales compatibles:

  • wxPG_DIALOG_TITLE: Establece un título específico para el cuadro de diálogo de fuentes.

wxSystemColourProperty

Representa un wxColour y un índice de color del sistema. Se utiliza un wxChoice para editar el valor. La lista desplegable contiene imágenes en color. Hay que tener en cuenta que el tipo de valor es wxColourPropertyValue en lugar de wxColour (que utiliza wxColourProperty).

class wxColourPropertyValue : public wxObject
{
public:
    //  Un valor entero relacionado con el color, cuyo significado 
    //  exacto  depende de la propiedad con la que se utilice.
    //
    //  Para wxSystemColourProperty:
    //  Cualquiera de wxSYS_COLOUR_XXX, o cualquier color web 
    //  (utilizart la macro wxPG_TO_WEB_COLOUR - (actualmente no 
    //   compatible)), o wxPG_COLOUR_CUSTOM.
    wxUint32    m_type;
 
    // Color resultante. Debe ser correcto independientemente del tipo.
    wxColour    m_colour;
};

En wxSystemColourProperty y su clase derivada wxColourProperty hay varias características de subclases. Para establecer una lista básica de nombres de colores, llamar a wxPGProperty::SetChoices().

// Anular en la clase derivada para personalizar cómo se traducen
//  los colores a cadenas.
virtual wxString ColourToString( const wxColour& col, int index ) const;
 
// Devuelve el índice de la entrada que activa el cuadro de diálogo del 
// selector de color (el valor predeterminado es el último).
virtual int GetCustomColourIndex() const;
 
// Función auxiliar para mostrar el cuadro de diálogo de color.
bool QueryColourFromUser( wxVariant& variant ) const;
 
// Devuelve el color para la opción dada.
// La función predeterminada devuelve wxSystemSettings::GetColour(index).
virtual wxColour GetColour( int index ) const;

wxCursorProperty

Representa un wxCursor. Se utiliza un wxChoice para editar el valor. La lista desplegable tiene imágenes de cursor en algunas plataformas (wxMSW).

Funciones miembro

~wxPGProperty()

virtual wxPGProperty::~wxPGProperty()

Destructor virtual.

Es habitual que las propiedades derivadas lo implementen.

wxPGProperty()

wxPGProperty::wxPGProperty()

Constructor predeterminado.

Está protegido porque wxPGProperty es sólo una clase base para otras clases de propiedades.

wxPGProperty()

wxPGProperty::wxPGProperty( const wxString & label, const wxString & name )

Constructor.

Está protegido porque wxPGProperty es sólo una clase base para otras clases de propiedades. Las clases de propiedades no abstractas deben tener un constructor de este estilo:

MyProperty( const wxString& label, const wxString& name, const T& value )
    : wxPGProperty(label, name)
{
    // La forma generalmente recomendada de establecer el valor inicial 
    // (ya que debería funcionar prácticamente en el 100 % de los casos).
    wxVariant variant;
    variant << value;
    SetValue(variant);
 
    // Si tiene propiedades secundarias privadas, crearlas aquí.
    // Por ejemplo:
    //     AddPrivateChild( new wxStringProperty("Subprop 1",
    //                                           wxPG_LABEL,
    //                                           value.GetSubProp1()));
}
AdaptiveSetCell()

void wxPGProperty::AdaptiveSetCell( unsigned int firstCol, unsigned int lastCol, const wxPGCell & preparedCell, const wxPGCell & srcData, wxPGCellData * unmodCellData, wxPGFlags ignoreWithFlags, bool recursively )

Establece la propiedad de la celda de manera que se reduzca el número de copias exclusivas de los datos de la celda.

Se utiliza, por ejemplo, al establecer el mismo color de fondo para varias propiedades.

Parámetros
firstCol
Primera columna a la que afecta.
lastCol
Última columna a la que afecta.
preparedCell
Celda preparada previamente que se utiliza para aquellas cuyos datos coincidían con unmodCellData.
srcData
Si unmodCellData no coincidió, los datos válidos de la celda se fusionan en la celda (por lo general, generando una nueva copia exclusiva de los datos de la celda).
unmodCellData
Si los datos de la celda coinciden con esto, su celda ahora se establece en preparedCell.
ignoreWithFlags
Se omiten las propiedades con cualquiera de estas banderas.
recursively
Si es verdadero, aplicar esta operación de forma recursiva en las propiedades secundarias.
AdaptListToValue()

void wxPGProperty::AdaptListToValue( wxVariant & list, wxVariant * value ) const

Adapta la variante de la lista al valor adecuado mediante llamadas consecutivas a ChildChanged().

AddChoice()

int wxPGProperty::AddChoice( const wxString & label, int value = wxPG_INVALID_VALUE )

Añade una nueva opción a la lista de opciones de la propiedad.

Parámetros
label
Etiqueta de la opción añadida.
value
Valor de la nueva opción. No especificar si se desea que sea igual al índice de la opción.
Valor de retorno

Índice de la opción añadida.

AddPrivateChild()

void wxPGProperty::AddPrivateChild(wxPGProperty * prop)

Añade una propiedad secundaria privada.

Si se utiliza en lugar de wxPropertyGridInterface::Insert() o wxPropertyGridInterface::AppendIn(), el tipo principal de la propiedad se configurará automáticamente como wxPGFlags::Aggregate. En otras palabras, todas las propiedades de esta propiedad pasarán a ser privadas.

AppendChild()

wxPGProperty* wxPGProperty::AppendChild(wxPGProperty * childProperty)

Utilizar esta función miembro para añadir hijos independientes (es decir, normales) a una propiedad.

Valor de retorno

La propiedad secundaria añadida.

Observaciones

wxPropertyGrid no se actualiza automáticamente con esta función.

AreAllChildrenSpecified()

bool wxPGProperty::AreAllChildrenSpecified(const wxVariant * pendingList = nullptr) const

Determina, de forma recursiva, si todos los hijos no están sin especificar.

Parámetros
pendingList
Asume que los miembros de esta lista wxVariant son valores de sustitución pendientes.
AreChildrenComponents()

bool wxPGProperty::AreChildrenComponents() const

Devuelve verdadero si los hijos de esta propiedad son valores de componente (por ejemplo, el tamaño de los puntos, el nombre de la cara y is_underlined son valores de componente de una fuente).

ChangeFlag()

void wxPGProperty::ChangeFlag( wxPGFlags flag, bool set )

Establece o borra el indicador de propiedad dado.

Principalmente para uso interno.

Observaciones

Establecer un indicador de propiedad nunca tiene ningún efecto secundario y está destinado casi exclusivamente para uso interno. Por lo tanto, por ejemplo, si se desea desactivar una propiedad, llamar a

Enable(false)

en lugar de establecer el indicador wxPGFlags::Disabled.

ChildChanged()

virtual wxVariant wxPGProperty::ChildChanged( wxVariant & thisValue, int childIndex, wxVariant & childValue ) const

Se invoca después de que se haya modificado el valor de una propiedad secundaria.

Debe devolver el nuevo valor de toda la propiedad (después de cualquier modificación justificada por el nuevo valor de la propiedad secundaria).

Hay que tener en cuenta que esta función se suele invocar en el momento en que el valor de esta propiedad, o de una propiedad secundaria determinada, aún está pendiente de cambio y, por lo tanto, no se debe confiar en el resultado de GetValue() o m_value.

Ejemplo de implementación en pseudocódigo:

wxVariant MyProperty::ChildChanged( wxVariant& thisValue,
                                    int childIndex,
                                    wxVariant& childValue ) const
{
    // Obtener referencia al tipo real de datos almacenados en la variante 
    // (TFromVariant solo existe si se utilizaron las macros wxVariant de 
    // wxPropertyGrid para crear la clase variante).
    T& data = TFromVariant(thisValue);
 
    // Copiar childValue en data.
    switch ( childIndex )
    {
        case 0:
            data.SetSubProp1( childvalue.GetLong() );
            break;
        case 1:
            data.SetSubProp2( childvalue.GetString() );
            break;
        ...
    }
 
    // Devolver el data alterado
    return data;
}
Parámetros
thisValue
Valor de esta propiedad. Se debe devolver el valor modificado (en versiones anteriores de wxPropertyGrid sólo era necesario volver a escribir el valor en este argumento).
childIndex
Índice del elemento secundario modificado (se puede utilizar Item(childIndex) para obtener la propiedad secundaria).
childValue
(Pendiente) valor de la propiedad secundaria.
Valor de retorno

Valor modificado de toda la propiedad.

Reimplementado en wxFlagsProperty y wxFontProperty.

ClearCells()

void wxPGProperty::ClearCells( wxPGFlags ignoreWithFlags, bool recursively )

Borrar las celdas asociadas a la propiedad.

Parámetros
ignoreWithFlags
No se borrarán las celdas de las propiedades que tengan estas banderas activadas.
recursively
Si es verdadero, aplicar esta operación de forma recursiva en las propiedades secundarias.
DeleteChildren()

void wxPGProperty::DeleteChildren()

Elimina los hijos de la propiedad.

DeleteChoice()

void wxPGProperty::DeleteChoice(int index)

Elimina la entrada del control wxPGChoices y del editor de la propiedad (si está activo).

Si se elimina el elemento seleccionado, el valor se establece en "sin especificar".

DoAddChild()

void wxPGProperty::DoAddChild( wxPGProperty * prop, int index = -1, bool correct_mode = true )

Esto es utilizado por Insert, etc.

DoGetAttribute()

virtual wxVariant wxPGProperty::DoGetAttribute(const wxString & name) const

Devuelve el valor de un atributo.

Sobrescribir si se necesita un manejo personalizado de los atributos.

La implementación predeterminada simplemente devuelve el variant nullptr.

DoGetEditorClass()

virtual const wxPGEditor* wxPGProperty::DoGetEditorClass() const

Devuelve un puntero a una instancia del editor utilizado.

DoGetValidator()

virtual wxValidator* wxPGProperty::DoGetValidator() const

Devuelve el puntero al wxValidator que debe utilizarse con el editor de esta propiedad (nullptr si no hay validador).

Si se establece el validador explícitamente mediante SetPropertyValidator, se anulará esta configuración.

En la mayoría de los casos, un código como este debería funcionar correctamente (se utilizan macros para mantener una instancia de validador real, por lo que en la segunda llamada la función sale dentro de la primera macro):

wxValidator* wxMyPropertyClass::DoGetValidator () const
{
    WX_PG_DOGETVALIDATOR_ENTRY()
 
    wxMyValidator* validator = new wxMyValidator(...);
 
    ... preparar validador...
 
    WX_PG_DOGETVALIDATOR_EXIT(validator)
}
Observaciones

Se puede obtener el validador de nombres de archivo común devolviendo wxFileProperty::GetClassValidator(). wxDirProperty, por ejemplo, lo utiliza.

Reimplementado en wxDirProperty, wxFileProperty, wxFloatProperty, wxUIntProperty y wxIntProperty.

DoGetValue()

virtual wxVariant wxPGProperty::DoGetValue() const

Anular para devolver un valor distinto de m_value como valor.

DoSetAttribute()

virtual bool wxPGProperty::DoSetAttribute( const wxString & name, wxVariant & value )

Reimplementar esta función miembro para añadir un tratamiento especial para los atributos de esta propiedad.

Valor de retorno

Devuelve false para que el atributo se almacene automáticamente en m_attributes. La implementación predeterminada simplemente hace eso y nada más.

Observaciones

Para establecer realmente los valores de los atributos de la propiedad desde la aplicación, utilizar wxPGProperty::SetAttribute() en su lugar.

Reimplementado en wxArrayStringProperty, wxFileProperty, wxEditorDialogProperty, wxFlagsProperty, wxBoolProperty, wxFloatProperty, wxUIntProperty, wxNumericProperty, wxStringProperty, wxDateProperty y wxSystemColourProperty.

Empty()

void wxPGProperty::Empty()

Elimina todas las propiedades secundarias.

Enable()

void wxPGProperty::Enable(bool enable = true)

Activa o desactiva la propiedad.

Las propiedades desactivadas suelen aparecer con texto gris.

Parámetros
enable
Si es falso, la propiedad se desactiva.
EnableCommonValue()

void wxPGProperty::EnableCommonValue(bool enable = true)

Llamada para habilitar o deshabilitar el uso de valores comunes (valores enteros que se pueden seleccionar para las propiedades en lugar de sus valores normales) para esta propiedad.

Los valores comunes están deshabilitados de forma predeterminada para todas las propiedades.

EnsureCells()

void wxPGProperty::EnsureCells(unsigned int column)

Se asegura de que m_cells tenga un tamaño igual a column+1 (o más).

GenerateComposedValue()

wxString wxPGProperty::GenerateComposedValue() const

Compone texto a partir de los valores de las propiedades secundarias.

GetAttribute()

wxVariant wxPGProperty::GetAttribute(const wxString & name) const

Devuelve el valor del atributo de propiedad, variant nula si no se encuentra.

Observaciones

Para los atributos integrados, devuelve una variant nula si se establece el estilo adicional wxPG_EX_WRITEONLY_BUILTIN_ATTRIBUTES.

GetAttribute()

wxString wxPGProperty::GetAttribute( const wxString & name, const wxString & defVal ) const

Devuelve el atributo nombrado, como cadena, si se encuentra.

De lo contrario, se devuelve defVal.

Observaciones

Para los atributos integrados, devuelve defVal si se establece el estilo adicional wxPG_EX_WRITEONLY_BUILTIN_ATTRIBUTES.

GetAttributeAsDouble()

double wxPGProperty::GetAttributeAsDouble( const wxString & name, double defVal ) const

Devuelve el atributo nombrado, como flotante de precisión doble, si se encuentra.

De lo contrario, se devuelve defVal.

Observaciones

Para los atributos integrados, devuelve defVal si se establece el estilo adicional wxPG_EX_WRITEONLY_BUILTIN_ATTRIBUTES.

GetAttributeAsLong()

long wxPGProperty::GetAttributeAsLong( const wxString & name, long defVal ) const

Devuelve el atributo nombrado, como un entero largo, si se encuentra.

De lo contrario, se devuelve defVal.

Observaciones

Para los atributos integrados, devuelve defVal si se establece el estilo adicional wxPG_EX_WRITEONLY_BUILTIN_ATTRIBUTES.

GetAttributes()

const wxPGAttributeStorage& wxPGProperty::GetAttributes() const

Devuelve un almacenamiento similar a un mapa de los atributos de la propiedad.

Observaciones

Si se establece el estilo adicional wxPG_EX_WRITEONLY_BUILTIN_ATTRIBUTES, los atributos integrados no se incluyen en el almacenamiento.

GetAttributesAsList()

wxVariant wxPGProperty::GetAttributesAsList() const

Devuelve los atributos como una lista wxVariant.

Observaciones

Si se establece el estilo adicional wxPG_EX_WRITEONLY_BUILTIN_ATTRIBUTES, los atributos integrados no se incluyen en la lista.

GetBaseName()

const wxString& wxPGProperty::GetBaseName() const

Devuelve el nombre base de la propiedad (es decir, el nombre del padre no se añade en ningún caso).

GetCell()

wxPGCell& wxPGProperty::GetCell(unsigned int column)

Devuelve wxPGCell de la columna dada, creando una si es necesario.

GetCell()

const wxPGCell& wxPGProperty::GetCell(unsigned int column) const

Devuelve wxPGCell de la columna dada.

Observaciones

La versión const de esta función miembro devuelve el objeto wxPGCell "predeterminado" si la propiedad en sí no contiene datos de celda.

GetCellRenderer()

virtual wxPGCellRenderer* wxPGProperty::GetCellRenderer(int column) const

Devuelve la instancia wxPGCellRenderer utilizada para la columna de propiedad dada (etiqueta=0, valor=1).

La implementación predeterminada devuelve el renderizador del editor para todas las columnas.

GetChildCount()

unsigned int wxPGProperty::GetChildCount() const

Devuelve el número de propiedades secundarias.

GetChildrenHeight()

int wxPGProperty::GetChildrenHeight( int lh, int iMax = -1 ) const

Devuelve la altura de los hijos, de forma recursiva y teniendo en cuenta el estado expandido/colapsado.

Parámetros
lh
Altura de línea. Pasa aquí el resultado de GetGrid()->GetRowHeight().
iMax
Sólo se utiliza (internamente) al buscar las posiciones y de las propiedades.
GetChoices()

const wxPGChoices& wxPGProperty::GetChoices() const

Devuelve una referencia de sólo lectura a la lista de opciones de la propiedad.

GetChoiceSelection()

virtual int wxPGProperty::GetChoiceSelection() const

Devuelve la opción seleccionada actualmente.

Sólo se aplica a propiedades que tienen opciones.

Debe reimplementarse en la clase derivada si el valor de la propiedad no se asigna directamente a una opción. Los enteros como índice, booleanos y cadenas suelen hacerlo.

Reimplementado en wxFlagsProperty y wxEnumProperty.

GetClientData()

void* wxPGProperty::GetClientData() const

Devuelve los datos del cliente (void*) de una propiedad.

GetClientObject()

wxClientData* wxPGProperty::GetClientObject() const

Obtiene el objeto cliente gestionado de una propiedad.

GetColumnEditor()

const wxPGEditor* wxPGProperty::GetColumnEditor(int column) const

Devuelve el editor utilizado para una columna determinada.

nullptr si no hay editor.

GetCommonValue()

int wxPGProperty::GetCommonValue() const

Devuelve el valor común seleccionado para esta propiedad.

-1 para ninguno.

GetDefaultValue()

wxVariant wxPGProperty::GetDefaultValue() const

Devuelve el valor predeterminado de la propiedad.

Si el tipo de valor de la propiedad no es uno integrado y no se ha definido el atributo "DefaultValue", esta función suele devolver el variant Null.

GetDepth()

unsigned int wxPGProperty::GetDepth() const

GetDisplayedCommonValueCount()

int wxPGProperty::GetDisplayedCommonValueCount() const

Devuelve el número de valores comunes mostrados para esta propiedad.

GetDisplayedString()

wxString wxPGProperty::GetDisplayedString() const

Devuelve el texto mostrado de la propiedad.

GetEditorClass()

const wxPGEditor* wxPGProperty::GetEditorClass() const

Devuelve wxPGEditor que se utilizará y creará cuando se seleccione la propiedad.

Devuelve un valor más preciso que DoGetEditorClass().

GetEditorDialog()

virtual wxPGEditorDialogAdapter* wxPGProperty::GetEditorDialog() const

Devuelve una instancia de una nueva instancia de wxPGEditorDialogAdapter, que se utiliza cuando el usuario pulsa el botón (opcional) situado junto al control del editor.

La implementación predeterminada devuelve nullptr (es decir, no se genera ninguna acción cuando se pulsa el botón).

Reimplementado en wxEditorDialogProperty.

GetFlagsAsString()

wxString wxPGProperty::GetFlagsAsString(wxPGFlags flagsMask) const

Obtiene indicadores como una cadena delimitada por "|".

Hay que tener en cuenta que los nombres de los indicadores no van precedidos de "wxPGFlags".

Parámetros
flagsMask
La cadena sólo incluirá los indicadores combinados por este parámetro.
GetGrid()

wxPropertyGrid* wxPGProperty::GetGrid() const

Devuelve la cuadrícula de propiedades donde se encuentra la propiedad.

GetGridIfDisplayed()

wxPropertyGrid* wxPGProperty::GetGridIfDisplayed() const

Devuelve el propietario wxPropertyGrid, pero sólo si hay uno actualmente en una página que muestra esta propiedad.

GetHelpString()

const wxString& wxPGProperty::GetHelpString() const

Devuelve el texto de ayuda o descripción de la propiedad.

GetHintText()

wxString wxPGProperty::GetHintText() const

Devuelve el texto de sugerencia de la propiedad (que se muestra en la celda de valor vacía).

GetImageOffset()

int wxPGProperty::GetImageOffset(int imageWidth) const

Convierte el ancho de la imagen en un desplazamiento completo de la imagen, con márgenes.

GetIndexInParent()

unsigned int wxPGProperty::GetIndexInParent() const

Devuelve la posición en la matriz principal.

GetItemAtY()

wxPGProperty* wxPGProperty::GetItemAtY(unsigned int y) const

Devuelve la propiedad en la coordenada y virtual dada.

GetLabel()

const wxString& wxPGProperty::GetLabel() const

Devuelve la etiqueta de la propiedad.

GetLastVisibleSubItem()

const wxPGProperty* wxPGProperty::GetLastVisibleSubItem() const

Devuelve la última propiedad secundaria visible, de forma recursiva.

GetMainParent()

wxPGProperty* wxPGProperty::GetMainParent() const

Devuelve el padre de nivel más alto que no sea categoría ni raíz.

Útil cuando se tienen propiedades anidadas con hijos.

Observaciones

Si el padre inmediato es raíz o categoría, devolverá la propia propiedad.

GetMaxLength()

int wxPGProperty::GetMaxLength() const

Devuelve la longitud máxima permitida del texto que el usuario puede introducir en el editor de texto de la propiedad.

Observaciones

Se devuelve 0 si la longitud no está limitada explícitamente y el texto puede ser tan largo como lo permita el widget de control de texto nativo subyacente.

GetName()

wxString wxPGProperty::GetName() const

Devuelve el nombre de la propiedad con todos los padres (que no sean de categoría ni raíz).

GetOrCreateCell()

wxPGCell& wxPGProperty::GetOrCreateCell(unsigned int column)

Devuelve el wxPGCell de la columna dada, creando una si es necesario.

GetParent()

wxPGProperty* wxPGProperty::GetParent() const

Devuelve el padre de la propiedad.

GetPropertyByName()

wxPGProperty* wxPGProperty::GetPropertyByName(const wxString & name) const

Devuelve la propiedad secundaria (directa) con el nombre dado (o nullptr si no se encuentra).

Parámetros
name
Nombre de la propiedad secundaria que se busca.
GetPropertyByNameWH()

wxPGProperty* wxPGProperty::GetPropertyByNameWH( const wxString & name, unsigned int hintIndex ) const

Devuelve la propiedad secundaria (directa) con el nombre dado (o nullptr si no se encuentra), con el índice sugerido.

Parámetros
name
Nombre de la propiedad secundaria que se busca.
hintIndex
Comienza a buscar la propiedad secundaria en este índice.
Observaciones

No admite el ámbito (es decir, la notación Parent.Child).

GetValidator()

wxValidator* wxPGProperty::GetValidator() const

Obtiene la versión asignable del validador de la propiedad.

GetValue()

wxVariant wxPGProperty::GetValue() const

Devuelve el valor de la propiedad.

GetValueAsString()

virtual wxString wxPGProperty::GetValueAsString(wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const

Devuelve la representación textual del valor de la propiedad.

Parámetros
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 visualizable. 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

En versiones anteriores, esta función se sobrescribía para convertir el valor de la propiedad en una representación de cadena. Ahora esta función la gestiona ValueToString(), y sobrescribirla provocará un error de assert en tiempo de ejecución.

Reimplementada en wxPropertyCategory.

GetValueImage()

wxBitmap* wxPGProperty::GetValueImage() const

Devuelve el mapa de bits que aparece junto al texto del valor.

Sólo devuelve un mapa de bits no nulo si se ha establecido uno con SetValueImage().

GetValueType()

wxString wxPGProperty::GetValueType() const

Devuelve el tipo de valor utilizado por esta propiedad.

GetY()

int wxPGProperty::GetY() const

Devuelve la coordenada a la parte superior y de la propiedad.

Hay que tener en cuenta que no se tiene en cuenta la posición de las barras de desplazamiento.

HasAnyChild()

bool wxPGProperty::HasAnyChild() const

Comprueba si hay alguna propiedad secundaria.

HasFlag()

bool wxPGProperty::HasFlag(wxPGFlags flag) const

Devuelve verdadero si la propiedad tiene el indicador establecido.

HasFlagsExact()

bool wxPGProperty::HasFlagsExact(wxPGFlags flags) const

Devuelve verdadero si la propiedad tiene todos los indicadores especificados establecidos.

HasVisibleChildren()

bool wxPGProperty::HasVisibleChildren() const

Devuelve verdadero si la propiedad tiene al menos un elemento secundario visible.

Hide()

bool wxPGProperty::Hide( bool hide, wxPGPropertyValuesFlags flags = wxPGPropertyValuesFlags::Recurse )

Oculta o muestra la propiedad.

Parámetros
hide
true para ocultar, false para mostrar.
flags
De forma predeterminada, los cambios se aplican de forma recursiva. Establecer este parámetro en wxPGPropertyValuesFlags::DontRecurse para evitarlo.
Index()

int wxPGProperty::Index(const wxPGProperty * p) const

Devuelve el índice de la propiedad secundaria dada.

wxNOT_FOUND si la propiedad dada no es secundaria de esta.

InsertChild()

wxPGProperty* wxPGProperty::InsertChild( int index, wxPGProperty * childProperty )

Utilizar esta función miembro para añadir hijos independientes (es decir, normales) a una propiedad.

Valor de retorno

La propiedad secundaria insertada.

Observaciones

wxPropertyGrid no se actualiza automáticamente con esta función.

InsertChoice()

int wxPGProperty::InsertChoice( const wxString & label, int index, int value = wxPG_INVALID_VALUE )

Inserta una nueva opción en la lista de opciones de la propiedad.

Parámetros
label
Texto para la nueva opción.
index
Posición de inserción. Utilizar wxNOT_FOUND para añadir.
value
Valor para la nueva opción. No especificarlo si se desea que sea igual al índice de la opción.
IntToValue()

virtual bool wxPGProperty::IntToValue( wxVariant & variant, int number, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null ) const

Convierte un entero (posiblemente una selección) 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.
number
Entero que se va a traducir a variante.
flags
Si se establece wxPGPropValFormatFlags::FullValue, devuelve el valor completo y almacenable en lugar del valor visible.
Valor de retorno

Devuelve verdadero si el valor wxVariant resultante era diferente.

Observaciones

Si no se supone que la propiedad utilice choice, spinctrl u otro editor con valores basados en enteros, no es necesario implementar este método.

La implementación predeterminada simplemente asigna el entero dado a m_value.

Si la propiedad utiliza el control choice y muestra un cuadro de diálogo en algunos elementos de elección, es preferible mostrar ese cuadro de diálogo en IntToValue en lugar de en OnEvent.

Es posible que se desee tener en cuenta que m_value es una variante Null si el valor de la propiedad no está especificado (lo que normalmente sólo ocurre si ha habilitado explícitamente ese comportamiento de clasificación).

Reimplementado en wxEnumProperty, wxBoolProperty, wxUIntProperty, wxIntProperty y wxSystemColourProperty.

IsCategory()

bool wxPGProperty::IsCategory() const

Devuelve verdadero si esta propiedad es realmente una wxPropertyCategory.

IsChildSelected()

bool wxPGProperty::IsChildSelected(bool recursive = false) const

Devuelve verdadero si la propiedad secundaria está seleccionada.

IsEnabled()

bool wxPGProperty::IsEnabled() const

Devuelve verdadero si la propiedad está habilitada.

IsExpanded()

bool wxPGProperty::IsExpanded() const

Devuelve verdadero si la propiedad tiene hijos visibles.

IsRoot()

bool wxPGProperty::IsRoot() const

Devuelve verdadero si esta propiedad es realmente una wxRootProperty.

IsSomeParent()

bool wxPGProperty::IsSomeParent(wxPGProperty * candidateParent) const

Devuelve verdadero si candidateParent es algún antecesor de esta propiedad.

Usarlo, por ejemplo, para detectar si el elemento se encuentra dentro de una sección colapsada.

IsSubProperty()

bool wxPGProperty::IsSubProperty() const

Devuelve verdadero si se trata de una subpropiedad.

IsTextEditable()

bool wxPGProperty::IsTextEditable() const

Devuelve verdadero si la propiedad tiene wxTextCtrl editable cuando se selecciona.

Observaciones

Aunque las propiedades deshabilitadas no se muestran en el editor, aquí siguen devolviendo verdadero, ya que la deshabilitación se considera una condición temporal (a diferencia de ser de sólo lectura o tener habilitada la edición limitada).

IsValueUnspecified()

bool wxPGProperty::IsValueUnspecified() const

Devuelve verdadero si el valor de la propiedad se considera no especificado.

Esto suele significar que el valor es una variante nula.

IsVisible()

bool wxPGProperty::IsVisible() const

Devuelve verdadero si todos los padres están expandidos.

Item()

wxPGProperty* wxPGProperty::Item(unsigned int i) const

Devuelve la propiedad secundaria en el índice i.

Last()

wxPGProperty* wxPGProperty::Last() const

Devuelve la última subpropiedad.

OnCustomPaint()

virtual void wxPGProperty::OnCustomPaint( wxDC & dc, const wxRect & rect, wxPGPaintData & paintdata )

Anular para pintar una imagen delante del texto del valor de la propiedad o del elemento de la lista desplegable (pero sólo si también se anula wxPGProperty::OnMeasureImage).

Si OnMeasureImage() de la propiedad devuelve un tamaño cuya altura es != 0 pero menor que la altura de la fila ( < 0 tiene un significado especial), wxPropertyGrid llama a este método para dibujar una imagen personalizada en un área limitada delante del control del editor o del texto/gráficos del valor, y si el control tiene una lista desplegable, la imagen también se dibuja allí (incluso en el caso de que OnMeasureImage() devuelva una altura mayor que la altura de la fila).

Nota: Lo siguiente se aplica cuando OnMeasureImage() devuelve una altura "flexible" (utilizando la macro wxPG_FLEXIBLE_SIZE(W,H)), lo que implica elementos de altura variable: Si (rect.x+rect.width) es < 0, entonces se trata de una llamada a un elemento de medida, lo que significa que dc no es válido y lo único que se debe hacer es establecer paintdata.m_drawnHeight en la altura de la imagen del elemento en el índice paintdata.m_choiceItem. Esta llamada se puede realizar incluso una vez cada vez que se muestra el menú desplegable.

Parámetros
dc
wxDC sobre el que pintar.
rect
Cuadro reservado para gráficos personalizados. Incluye el rectángulo circundante, si lo hay. Si x+width es < 0, entonces se trata de una llamada a un elemento de medida (véase más arriba).
paintdata
Estructura wxPGPaintData con muchos datos útiles sobre el elemento pintado.
struct wxPGPaintData
{
    // wxPropertyGrid.
    const wxPropertyGrid*   m_parent;
 
    // Normalmente -1, de lo contrario, índice del elemento de la lista desplegable que se debe dibujar.
    int                     m_choiceItem;
 
    // Establecer el ancho dibujado en OnCustomPaint (opcional).
    int                     m_drawnWidth;
 
    // En una llamada a un elemento de medida, establecer en la altura del elemento en el índice m_choiceItem.
    int                     m_drawnHeight;
};
Observaciones
  • En realidad, se puede superar el ancho del rectángulo, pero si se hace, paintdata.m_drawnWidth debe establecerse en el ancho total dibujado en píxeles.
  • Por motivos técnicos, la altura del rectángulo será la predeterminada, incluso si se ha especificado una altura personalizada durante la llamada de medición.
  • Se garantiza que el pincel será del color de fondo predeterminado. Ya se ha utilizado para borrar el fondo del área que se está pintando. Se puede modificar.
  • Se garantiza que el lápiz será de 1 de ancho y de color "negro" (o el color adecuado) para dibujar el rectángulo del marco. También se puede cambiar.

Reimplementado en wxImageFileProperty, wxCursorProperty y wxSystemColourProperty.

OnEvent()

virtual bool wxPGProperty::OnEvent( wxPropertyGrid * propgrid, wxWindow * wnd_primary, wxEvent & event )

Los eventos recibidos por los widgets del editor se procesan aquí.

Hay que tener en cuenta que la clase del editor suele procesar la mayoría de los eventos. Algunos, como los eventos de pulsación de botones de la clase TextCtrlAndButton, se pueden gestionar aquí. Además, si se desea una gestión personalizada de los eventos habituales, también se puede hacer (por ejemplo, wxSystemColourProperty gestiona de forma personalizada wxEVT_CHOICE para mostrar el cuadro de diálogo del selector de color cuando se realiza una selección "personalizada").

Si el evento provoca un cambio en el valor, se debe llamar a SetValueInEvent() para establecer el nuevo valor.

El parámetro event es el wxEvent asociado.

Valor de retorno

Debe devolver true si se debe informar de cualquier cambio en el valor.

Observaciones

Si la propiedad utiliza un control de selección y muestra un cuadro de diálogo en algunos elementos de selección, es preferible mostrar ese cuadro de diálogo en IntToValue en lugar de en OnEvent.

Reimplementado en wxSystemColourProperty.

OnMeasureImage()

virtual wxSize wxPGProperty::OnMeasureImage(int item = -1) const

Devuelve el tamaño de la imagen pintada personalizada delante de la propiedad.

Este método debe sobrescribirse para devolver un valor no predeterminado si se va a llamar a OnCustomPaint.

Parámetros
item
Normalmente -1, pero puede ser un índice de la lista de elementos de la propiedad.
Observaciones

El comportamiento predeterminado es devolver wxSize(0,0), lo que significa que no hay imagen.

El ancho o alto predeterminado de la imagen se indica con la dimensión -1.

También se puede devolver wxPG_DEFAULT_IMAGE_SIZE, que es igual a wxDefaultSize.

Reimplementado en wxImageFileProperty, wxCursorProperty y wxSystemColourProperty.

OnSetValue()

virtual void wxPGProperty::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 de variante. Normalmente, las propiedades sólo admiten internamente un tipo de variante, por lo que OnSetValue() ofrece una buena oportunidad para convertir los valores admitidos en el tipo interno.

La implementación predeterminada no realiza ninguna acción.

Reimplementada en wxEditEnumProperty, wxArrayStringProperty, wxFileProperty, wxFlagsProperty, wxEnumProperty, wxStringProperty, wxDateProperty, wxMultiChoiceProperty, wxImageFileProperty, wxSystemColourProperty y wxFontProperty.

OnValidationFailure()

virtual void wxPGProperty::OnValidationFailure(wxVariant & pendingValue)

Se llama cada vez que falla la validación con un valor pendiente determinado.

Observaciones

Si implementa en una clase de propiedad personalizada, recordar llamar también a la implementación base, ya que pueden utilizarla para revertir la propiedad al estado anterior al cambio.

RecreateEditor()

bool wxPGProperty::RecreateEditor()

Si se crea el editor de la propiedad, esto fuerza su recreación.

Útil en SetAttribute, etc. Devuelve verdadero si realmente hizo algo.

RefreshChildren()

virtual void wxPGProperty::RefreshChildren()

Actualiza los valores de las propiedades secundarias.

Se llama automáticamente después de establecer el valor.

Reimplementado en wxFlagsProperty y wxFontProperty.

RefreshEditor()

void wxPGProperty::RefreshEditor()

Si el editor de la propiedad está activo, actualiza su valor.

SetAttribute()

void wxPGProperty::SetAttribute( const wxString & name, wxVariant value )

Establece un atributo para esta propiedad.

Parámetros
name
Identificador de texto del atributo. Consultar Identificadores de atributos de propiedad de wxPropertyGrid.
value
Valor del atributo.
Observaciones

Establecer el valor del atributo en la variante Null simplemente lo eliminará del conjunto de atributos de la propiedad.

SetAttributes()

void wxPGProperty::SetAttributes(const wxPGAttributeStorage & attributes)

SetAutoUnspecified()

void wxPGProperty::SetAutoUnspecified(bool enable = true)

Establece si el usuario puede cambiar el valor de la propiedad a no especificado modificando el valor del control del editor (normalmente borrándolo).

Actualmente, esto puede funcionar con las siguientes propiedades: wxIntProperty, wxUIntProperty, wxFloatProperty, wxEditEnumProperty.

Parámetros
enable
Si se habilita o deshabilita este comportamiento (está deshabilitado por defecto).
SetBackgroundColour()

void wxPGProperty::SetBackgroundColour( const wxColour & colour, wxPGPropertyValuesFlags flags = wxPGPropertyValuesFlags::Recurse )

Establece el color de fondo de la propiedad.

Parámetros
color
Color de fondo que se va a utilizar.
flags
El valor predeterminado es wxPGPropertyValuesFlags::Recurse, lo que hace que el color se establezca de forma recursiva. Omitir esta bandera para establecer sólo el color de la propiedad en cuestión y no el de ninguna de sus propiedades secundarias.
Observaciones

A diferencia de wxPropertyGridInterface::SetPropertyBackgroundColour(), esto no actualiza automáticamente la visualización.

SetCell()

void wxPGProperty::SetCell( int column, const wxPGCell & cell )

Establece la información de celda para una columna determinada.

SetChoices()

bool wxPGProperty::SetChoices(wxPGChoices & choices)

Establece un nuevo conjunto de opciones para la propiedad.

Observaciones

Esta operación deselecciona la propiedad y borra su valor.

SetChoiceSelection()

void wxPGProperty::SetChoiceSelection(int newValue)

Establece la opción seleccionada y cambia el valor de la propiedad.

Intenta conservar el tipo de valor, aunque actualmente, si no es una cadena, se fuerza a entero.

Si newValue es wxNOT_FOUND (-1), el valor de la propiedad se restablece a no especificado, como si se hubiera llamado a SetValueToUnspecified().

SetClientData()

void wxPGProperty::SetClientData(void * clientData)

Establece los datos del cliente (void*) de una propiedad.

Observaciones

Estos datos del cliente sin tipo deben eliminarse manualmente.

SetClientObject()

void wxPGProperty::SetClientObject(wxClientData * clientObject)

Establece el objeto cliente de una propiedad.

SetCommonValue()

void wxPGProperty::SetCommonValue(int commonValue)

Establece el valor común seleccionado para esta propiedad.

-1 para ninguno.

SetDefaultColours()

void wxPGProperty::SetDefaultColours(wxPGPropertyValuesFlags flags = wxPGPropertyValuesFlags::Recurse)

Establece los colores predeterminados del texto y el fondo de la propiedad.

Parámetros
flags
El valor predeterminado es wxPGPropertyValuesFlags::Recurse, lo que hace que los colores se establezcan de forma recursiva. Omitir esta bandera para establecer sólo los colores de la propiedad en cuestión y no los de sus elementos secundarios.
Observaciones

A diferencia de wxPropertyGridInterface::SetPropertyColoursToDefault(), esto no actualiza automáticamente la visualización.

SetDefaultValue()

void wxPGProperty::SetDefaultValue(wxVariant & value)

Establece el valor predeterminado de una propiedad.

Sinónimo de

    SetAttribute("DefaultValue", value);
SetEditor()

void wxPGProperty::SetEditor(const wxPGEditor * editor)

Establece el editor para una propiedad.

Parámetros
editor
Para editores integrados, utilizar wxPGEditor_X, donde X es el nombre del editor integrado (TextCtrl, Choice, etc. Consultar la documentación de wxPGEditor para obtener la lista completa).

Para editores personalizados, utilizar el puntero que ha recibido de wxPropertyGrid::RegisterEditorClass().

SetEditor()

void wxPGProperty::SetEditor(const wxString & editorName)

Establece el editor de una propiedad, por nombre de editor.

SetExpanded()

void wxPGProperty::SetExpanded(bool expanded)

SetFlagRecursively()

void wxPGProperty::SetFlagRecursively( wxPGFlags flag, bool set )

Establece o borra el indicador de propiedad dado, de forma recursiva.

Esta función está destinada principalmente al uso interno.

SetFlagsFromString()

void wxPGProperty::SetFlagsFromString(const wxString & str)

Establece indicadores a partir de una cadena delimitada por "|".

Hay que tener en cuenta que los nombres de los indicadores no van precedidos de "wxPGFlags".

SetHelpString()

void wxPGProperty::SetHelpString(const wxString & helpString)

Establece la cadena de ayuda de la propiedad, que se muestra, por ejemplo, en el cuadro de texto de descripción de wxPropertyGridManager.

SetLabel()

void wxPGProperty::SetLabel(const wxString & label)

Establece la etiqueta de la propiedad.

Observaciones

Las propiedades bajo el mismo padre pueden tener las mismas etiquetas. Sin embargo, los nombres de las propiedades deben seguir siendo únicos. A diferencia de wxPropertyGridInterface::SetPropertyLabel(), esto no actualiza automáticamente la visualización.

SetMaxLength()

bool wxPGProperty::SetMaxLength(int maxLen)

Establece la longitud máxima del texto que el usuario puede introducir en el editor de texto asociado a la propiedad.

No afecta a la representación textual del valor ya almacenado cuando se establece el límite, ni afecta a la longitud de la representación textual del valor establecido mediante programación, por ejemplo, con SetValue() o wxPropertyGridInterface::SetPropertyValue(). Si maxLen es 0, la longitud no está limitada y el texto puede ser tan largo como lo permita el widget de control de texto nativo subyacente.

Valor de retorno

Devuelve true si se ha establecido la longitud máxima.

SetModifiedStatus()

void wxPGProperty::SetModifiedStatus(bool modified)

Establece el indicador "¿está modificado?" de la propiedad.

Afecta a los hijos de forma recursiva.

SetName()

void wxPGProperty::SetName(const wxString & newName)

Establece un nuevo nombre (base) para la propiedad.

SetParentalType()

void wxPGProperty::SetParentalType(wxPGFlags flag)

Cambia el tipo de padre que es esta propiedad para sus hijos.

Parámetros
flag
Utilizar uno de los siguientes valores: wxPGFlags::MiscParent (para padres genéricos), wxPGFlags::Category (para categorías) o wxPGFlags::Aggregate (para clases de propiedades derivadas con hijos privados).
Observaciones

Por lo general, no es necesario llamar a esta función.

SetTextColour()

void wxPGProperty::SetTextColour( const wxColour & colour, wxPGPropertyValuesFlags flags = wxPGPropertyValuesFlags::Recurse )

Establece el color del texto de la propiedad.

Parámetros
color
Color del texto que se va a utilizar.
flags
El valor predeterminado es wxPGPropertyValuesFlags::Recurse, lo que hace que el color se establezca de forma recursiva. Omitir esta bandera para establecer sólo el color de la propiedad en cuestión y no el de ninguna de sus propiedades secundarias.
Observaciones

A diferencia de wxPropertyGridInterface::SetPropertyTextColour(), esto no actualiza automáticamente la visualización.

SetValidator()

void wxPGProperty::SetValidator(const wxValidator & validator)

Establece wxValidator para una propiedad.

SetValue()

void wxPGProperty::SetValue( wxVariant value, wxVariant * pList = nullptr, wxPGSetValueFlags flags = wxPGSetValueFlags::RefreshEditor )

Llamar para establecer el valor de la propiedad.

A diferencia de los métodos de wxPropertyGrid, esto no actualiza automáticamente la visualización.

Observaciones

Utilizar wxPropertyGrid::ChangePropertyValue() si se necesita ejecutar el proceso de validación y enviar el evento de cambio de propiedad.

Si se necesita cambiar el valor de la propiedad en un evento, basándose en la entrada del usuario, utilizar SetValueInEvent() en su lugar.

Parámetros
value
El valor que se va a establecer.
pList
Puntero a la variante de lista que contiene los valores secundarios. Se utiliza para indicar qué elementos secundarios deben marcarse como modificados. Normalmente se utiliza nullptr.
flags
wxPGSetValueFlags::RefreshEditor está establecido por defecto, para actualizar el editor y volver a dibujar las propiedades.
SetValueFromInt()

bool wxPGProperty::SetValueFromInt( long value, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null )

Convierte un entero en un valor y, si tiene éxito, llama a SetValue() sobre él.

El comportamiento predeterminado es no hacer nada.

Parámetros
valor
Entero del que obtener el valor.
indicadores
Si tiene wxPGPropValFormatFlags::FullValue, entonces el valor dado es un valor real y no un índice.
Valor de retorno

true si se ha cambiado el valor.

SetValueFromString()

bool wxPGProperty::SetValueFromString( const wxString & text, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::ProgrammaticValue )

Convierte una cadena en un valor y, si tiene éxito, llama a SetValue() sobre ella.

El comportamiento predeterminado es no hacer nada.

Parámetros
text
Cadena de la que se obtiene el valor.
flags
Si se establece wxPGPropValFormatFlags::FullValue, la función establece el valor completo y almacenable en lugar del valor visible (pueden ser diferentes). La bandera wxPGPropValFormatFlags::ProgrammaticValue se utiliza para indicar que el valor se establece mediante programación (es decir, la operación no es provocada por la entrada del usuario). Si se establece wxPGPropValFormatFlags::ReportError, se debe realizar una acción especial si la cadena no se ha podido convertir correctamente a un valor válido (por ejemplo, se puede establecer un valor especial en este caso).
Valor de retorno

true si se ha cambiado el valor.

SetValueImage()

void wxPGProperty::SetValueImage(wxBitmapBundle & bmp)

Establece wxBitmap tomado del primero de wxBitmapBundle.

Este mapa de bits puede ser ignorado por los renderizadores de celdas personalizados.

SetValueInEvent()

void wxPGProperty::SetValueInEvent(const wxVariant & value) const

Llamar a esta función en OnEvent(), OnButtonClick(), etc. para cambiar el valor de la propiedad en función de la entrada del usuario.

Observaciones

Este método es const, ya que en realidad no modifica el valor, sino que envía la variante dada como valor pendiente, almacenado en wxPropertyGrid.

SetValueToUnspecified()

void wxPGProperty::SetValueToUnspecified()

Establece el valor de la propiedad como no especificado (es decir, variante Null).

SetWasModified()

void wxPGProperty::SetWasModified(bool set = true)

Llamar con false en OnSetValue() para cancelar los cambios de valor después de todo (es decir, cancelar el true devuelto por StringToValue() o IntToValue()).

StringToValue()

virtual bool wxPGProperty::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 sólo ocurre si ha habilitado explícitamente ese comportamiento de clasificación).

Reimplementado en wxArrayStringProperty, wxDirProperty, wxLongStringProperty, wxFileProperty, wxEditEnumProperty, wxEnumProperty, wxBoolProperty, wxFloatProperty, wxUIntProperty, wxIntProperty, wxStringProperty, wxDateProperty, wxMultiChoiceProperty, wxSystemColourProperty, wxFlagsProperty y wxPGRootProperty.

UpdateParentValues()

wxPGProperty* wxPGProperty::UpdateParentValues()

Actualiza los valores compuestos de las propiedades no categóricas principales, de forma recursiva.

Devuelve la propiedad superior actualizada.

Observaciones

No se debe llamar a SetValue() (ya que se puede llamar en él).

UsesAutoUnspecified()

bool wxPGProperty::UsesAutoUnspecified() const

Devuelve verdadero si la cuadrícula contenedora utiliza wxPG_EX_AUTO_UNSPECIFIED_VALUES.

ValidateValue()

virtual bool wxPGProperty::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 en wxEditEnumProperty, wxEnumProperty, wxFloatProperty, wxUIntProperty y wxIntProperty.

ValueToString()

virtual wxString wxPGProperty::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 visualizable. 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 en wxArrayStringProperty, wxDirProperty, wxLongStringProperty, wxFileProperty, wxFlagsProperty, wxEnumProperty, wxBoolProperty, wxFloatProperty, wxUIntProperty, wxIntProperty, wxStringProperty, wxDateProperty, wxMultiChoiceProperty, wxCursorProperty, wxColourProperty, wxSystemColourProperty, wxFontProperty y wxPropertyCategory.

Datos miembro

m_clientData

void* wxPGProperty::m_clientData

Este miembro es público, por lo que el código envolvente de enlaces de lenguaje de scripting puede acceder a él libremente.

Métodos y datos heredados

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