wxFlagsProperty Class Reference | wxWidgets

| Version: 3.2.11

Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
wxFlagsProperty Class Reference

`#include </cygdrive/c/Users/Hamis/Cygwin-packaging/wxWidgets3.2/wxWidgets3.2-3.2.11-1.x86_64/src/wxWidgets-3.2.11/interface/wx/propgrid/props.h>`

Inheritance diagram for wxFlagsProperty:
[legend]

## Detailed Description

Represents a bit set that fits in a long integer.

wxBoolProperty sub-properties are created for editing individual bits. Textctrl is created to manually edit the flags as a text; a continuous sequence of spaces, commas and semicolons is considered as a flag id separator. Note: When changing "choices" (ie. flag labels) of wxFlagsProperty, you will need to use SetPropertyChoices - otherwise they will not get updated properly.

## Public Member Functions
| wxFlagsProperty (const wxString &label, const wxString &name, const wxChar *const *labels, const long *values=NULL, long value=0)
| wxFlagsProperty (const wxString &label, const wxString &name, wxPGChoices &choices, long value=0)
| wxFlagsProperty (const wxString &label=wxPG_LABEL, const wxString &name=wxPG_LABEL, const wxArrayString &labels=wxArrayString(), const wxArrayInt &values=wxArrayInt(), int value=0)
virtual | ~wxFlagsProperty ()
virtual void | OnSetValue ()
| This virtual function is called after m_value has been set.
virtual wxString | ValueToString (wxVariant &value, int argFlags=0) const
| Converts property value into a text representation.
virtual bool | StringToValue (wxVariant &variant, const wxString &text, int flags) const
| Converts text into wxVariant value appropriate for this property.
virtual wxVariant | ChildChanged (wxVariant &thisValue, int childIndex, wxVariant &childValue) const
| Called after value of a child property has been altered.
virtual void | RefreshChildren ()
| Refresh values of child properties.
virtual bool | DoSetAttribute (const wxString &name, wxVariant &value)
| Reimplement this member function to add special handling for attributes of this property.
virtual int | GetChoiceSelection () const
| Returns which choice is currently selected.
size_t | GetItemCount () const
const wxString & | GetLabel (size_t ind) const
Public Member Functions inherited from wxPGProperty
virtual | ~wxPGProperty ()
| Virtual destructor.
virtual wxVariant | DoGetValue () const
| Override this to return something else than m_value as the value.
virtual bool | ValidateValue (wxVariant &value, wxPGValidationInfo &validationInfo) const
| Implement this function in derived class to check the value.
virtual bool | IntToValue (wxVariant &variant, int number, int argFlags=0) const
| Converts integer (possibly a choice selection) into wxVariant value appropriate for this property.
bool | SetValueFromString (const wxString &text, int flags=wxPG_PROGRAMMATIC_VALUE)
| Converts string to a value, and if successful, calls SetValue() on it.
bool | SetValueFromInt (long value, int flags=0)
| Converts integer to a value, and if successful, calls SetValue() on it.
virtual wxSize | OnMeasureImage (int item=-1) const
| Returns size of the custom painted image in front of property.
virtual bool | OnEvent (wxPropertyGrid *propgrid, wxWindow *wnd_primary, wxEvent &event)
| Events received by editor widgets are processed here.
virtual const wxPGEditor * | DoGetEditorClass () const
| Returns pointer to an instance of used editor.
virtual wxValidator * | DoGetValidator () const
| Returns pointer to the wxValidator that should be used with the editor of this property (NULL for no validator).
virtual void | OnCustomPaint (wxDC &dc, const wxRect &rect, wxPGPaintData &paintdata)
| Override to paint an image in front of the property value text or drop-down list item (but only if wxPGProperty::OnMeasureImage is overridden as well).
virtual wxPGCellRenderer * | GetCellRenderer (int column) const
| Returns used wxPGCellRenderer instance for given property column (label=0, value=1).
virtual wxVariant | DoGetAttribute (const wxString &name) const
| Returns value of an attribute.
virtual wxPGEditorDialogAdapter * | GetEditorDialog () const
| Returns instance of a new wxPGEditorDialogAdapter instance, which is used when user presses the (optional) button next to the editor control;.
virtual void | OnValidationFailure (wxVariant &pendingValue)
| Called whenever validation has failed with given pending value.
int | AddChoice (const wxString &label, int value=wxPG_INVALID_VALUE)
| Append a new choice to property's list of choices.
void | AddChild (wxPGProperty *prop)
| Adds a private child property.
void | AddPrivateChild (wxPGProperty *prop)
| Adds a private child property.
void | AdaptListToValue (wxVariant &list, wxVariant *value) const
| Adapts list variant into proper value using consecutive ChildChanged() calls.
wxPGProperty * | AppendChild (wxPGProperty *childProperty)
| Use this member function to add independent (i.e.
bool | AreAllChildrenSpecified (const wxVariant *pendingList=NULL) const
| Determines, recursively, if all children are not unspecified.
bool | AreChildrenComponents () const
| Returns true if children of this property are component values (for instance, points size, face name, and is_underlined are component values of a font).
void | ChangeFlag (wxPGPropertyFlags flag, bool set)
| Sets or clears given property flag.
void | DeleteChildren ()
| Deletes children of the property.
void | DeleteChoice (int index)
| Removes entry from property's wxPGChoices and editor control (if it is active).
void | Enable (bool enable=true)
| Enables or disables the property.
void | EnableCommonValue (bool enable=true)
| Call to enable or disable usage of common value (integer value that can be selected for properties instead of their normal values) for this property.
wxString | GenerateComposedValue () const
| Composes text from values of child properties.
const wxString & | GetLabel () const
| Returns property's label.
wxVariant | GetAttribute (const wxString &name) const
| Returns property attribute value, null variant if not found.
wxString | GetAttribute (const wxString &name, const wxString &defVal) const
| Returns named attribute, as string, if found.
long | GetAttributeAsLong (const wxString &name, long defVal) const
| Returns named attribute, as long, if found.
double | GetAttributeAsDouble (const wxString &name, double defVal) const
| Returns named attribute, as double, if found.
const wxPGAttributeStorage & | GetAttributes () const
| Returns map-like storage of property's attributes.
wxVariant | GetAttributesAsList () const
| Returns attributes as list wxVariant.
const wxPGEditor * | GetColumnEditor (int column) const
| Returns editor used for given column.
const wxString & | GetBaseName () const
| Returns property's base name (i.e.
const wxPGCell & | GetCell (unsigned int column) const
| Returns wxPGCell of given column.
wxPGCell & | GetCell (unsigned int column)
| Returns wxPGCell of given column, creating one if necessary.
wxPGCell & | GetOrCreateCell (unsigned int column)
| Returns wxPGCell of given column, creating one if necessary.
unsigned int | GetChildCount () const
| Returns number of child properties.
int | GetChildrenHeight (int lh, int iMax=-1) const
| Returns height of children, recursively, and by taking expanded/collapsed status into account.
const wxPGChoices & | GetChoices () const
| Returns read-only reference to property's list of choices.
void * | GetClientData () const
| Returns client data (void*) of a property.
wxClientData * | GetClientObject () const
| Gets managed client object of a property.
wxVariant | GetDefaultValue () const
| Returns property's default value.
int | GetCommonValue () const
| Returns common value selected for this property.
unsigned int | GetDepth () const
int | GetDisplayedCommonValueCount () const
| Return number of displayed common values for this property.
wxString | GetDisplayedString () const
| Returns property's displayed text.
const wxPGEditor * | GetEditorClass () const
| Returns wxPGEditor that will be used and created when property becomes selected.
wxString | GetHintText () const
| Returns property's hint text (shown in empty value cell).
wxPropertyGrid * | GetGrid () const
| Returns property grid where property lies.
wxPropertyGrid * | GetGridIfDisplayed () const
| Returns owner wxPropertyGrid, but only if one is currently on a page displaying this property.
const wxString & | GetHelpString () const
| Returns property's help or description text.
wxString | GetFlagsAsString (FlagType flagsMask) const
| Gets flags as a'|' delimited string.
unsigned int | GetIndexInParent () const
| Returns position in parent's array.
const wxPGProperty * | GetLastVisibleSubItem () const
| Returns last visible child property, recursively.
wxPGProperty * | GetMainParent () const
| Returns highest level non-category, non-root parent.
int | GetMaxLength () const
| Returns maximum allowed length of the text the user can enter in the property text editor.
wxString | GetName () const
| Returns property's name with all (non-category, non-root) parents.
wxPGProperty * | GetParent () const
| Return parent of property.
wxPGProperty * | GetPropertyByName (const wxString &name) const
| Returns (direct) child property with given name (or NULL if not found).
wxValidator * | GetValidator () const
| Gets assignable version of property's validator.
wxVariant | GetValue () const
| Returns property's value.
wxBitmap * | GetValueImage () const
| Returns bitmap that appears next to value text.
virtual wxString | GetValueAsString (int argFlags=0) const
| Returns text representation of property's value.
wxString | GetValueString (int argFlags=0) const
| Synonymous to GetValueAsString().
wxString | GetValueType () const
| Returns value type used by this property.
int | GetY () const
| Returns coordinate to the top y of the property.
int | GetImageOffset (int imageWidth) const
| Converts image width into full image offset, with margins.
wxPGProperty * | GetItemAtY (unsigned int y) const
| Returns property at given virtual y coordinate.
bool | HasFlag (wxPGPropertyFlags flag) const
| Returns true if property has given flag set.
bool | HasFlag (FlagType flag) const
| Returns true if property has given flag set.
bool | HasFlagsExact (FlagType flags) const
| Returns true if property has all given flags set.
bool | HasVisibleChildren () const
| Returns true if property has even one visible child.
bool | Hide (bool hide, int flags=wxPG_RECURSE)
| Hides or reveals the property.
int | Index (const wxPGProperty *p) const
| Returns index of given child property.
wxPGProperty * | InsertChild (int index, wxPGProperty *childProperty)
| Use this member function to add independent (i.e.
int | InsertChoice (const wxString &label, int index, int value=wxPG_INVALID_VALUE)
| Inserts a new choice to property's list of choices.
bool | IsCategory () const
| Returns true if this property is actually a wxPropertyCategory.
bool | IsEnabled () const
| Returns true if property is enabled.
bool | IsExpanded () const
| Returns true if property has visible children.
bool | IsRoot () const
| Returns true if this property is actually a wxRootProperty.
bool | IsSubProperty () const
| Returns true if this is a sub-property.
bool | IsSomeParent (wxPGProperty *candidateParent) const
| Returns true if candidateParent is some parent of this property.
bool | IsTextEditable () const
| Returns true if property has editable wxTextCtrl when selected.
bool | IsValueUnspecified () const
| Returns true if property's value is considered unspecified.
bool | IsVisible () const
| Returns true if all parents expanded.
wxPGProperty * | Item (unsigned int i) const
| Returns child property at index i.
wxPGProperty * | Last () const
| Returns last sub-property.
bool | RecreateEditor ()
| If property's editor is created this forces its recreation.
void | RefreshEditor ()
| If property's editor is active, then update it's value.
void | SetAttribute (const wxString &name, wxVariant value)
| Sets an attribute for this property.
void | SetAttributes (const wxPGAttributeStorage &attributes)
void | SetAutoUnspecified (bool enable=true)
| Set if user can change the property's value to unspecified by modifying the value of the editor control (usually by clearing it).
void | SetBackgroundColour (const wxColour &colour, int flags=wxPG_RECURSE)
| Sets property's background colour.
void | SetEditor (const wxPGEditor *editor)
| Sets editor for a property.
void | SetEditor (const wxString &editorName)
| Sets editor for a property, by editor name.
void | SetCell (int column, const wxPGCell &cell)
| Sets cell information for given column.
void | SetCommonValue (int commonValue)
| Sets common value selected for this property.
bool | SetChoices (wxPGChoices &choices)
| Sets new set of choices for the property.
void | SetClientData (void *clientData)
| Sets client data (void*) of a property.
void | SetClientObject (wxClientData *clientObject)
| Sets client object of a property.
void | SetChoiceSelection (int newValue)
| Sets selected choice and changes property value.
void | SetDefaultValue (wxVariant &value)
| Set default value of a property.
void | SetExpanded (bool expanded)
void | SetFlagsFromString (const wxString &str)
| Sets flags from a '|' delimited string.
void | SetFlagRecursively (wxPGPropertyFlags flag, bool set)
| Sets or clears given property flag, recursively.
void | SetHelpString (const wxString &helpString)
| Sets property's help string, which is shown, for example, in wxPropertyGridManager's description text box.
void | SetLabel (const wxString &label)
| Sets property's label.
bool | SetMaxLength (int maxLen)
| Set maximum length of the text the user can enter in the text editor.
void | SetModifiedStatus (bool modified)
| Sets property's "is it modified?" flag.
void | SetName (const wxString &newName)
| Sets new (base) name for property.
void | SetParentalType (int flag)
| Changes what sort of parent this property is for its children.
void | SetTextColour (const wxColour &colour, int flags=wxPG_RECURSE)
| Sets property's text colour.
void | SetDefaultColours (int flags=wxPG_RECURSE)
| Sets property's default text and background colours.
void | SetValidator (const wxValidator &validator)
| Sets wxValidator for a property.
void | SetValue (wxVariant value, wxVariant *pList=NULL, int flags=wxPG_SETVAL_REFRESH_EDITOR)
| Call this to set value of the property.
void | SetValueImage (wxBitmapBundle &bmp)
| Set wxBitmap taken from wxBitmapBundle in front of the value.
void | SetValueInEvent (const wxVariant &value) const
| Call this function in OnEvent(), OnButtonClick() etc.
void | SetValueToUnspecified ()
| Sets property's value to unspecified (i.e.
void | SetWasModified (bool set=true)
| Call with false in OnSetValue() to cancel value changes after all (i.e.
wxPGProperty * | UpdateParentValues ()
| Updates composed values of parent non-category properties, recursively.
bool | UsesAutoUnspecified () const
| Returns true if containing grid uses wxPG_EX_AUTO_UNSPECIFIED_VALUES.
Public Member Functions inherited from wxObject
| wxObject ()
| Default ctor; initializes to NULL the internal reference data.
| wxObject (const wxObject &other)
| Copy ctor.
virtual | ~wxObject ()
| Destructor.
virtual wxClassInfo * | GetClassInfo () const
| This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar).
wxObjectRefData * | GetRefData () const
| Returns the wxObject::m_refData pointer, i.e. the data referenced by this object.
bool | IsKindOf (const wxClassInfo *info) const
| Determines whether this class is a subclass of (or the same class as) the given class.
bool | IsSameAs (const wxObject &obj) const
| Returns true if this object has the same data pointer as obj.
void | Ref (const wxObject &clone)
| Makes this object refer to the data in clone.
void | SetRefData (wxObjectRefData *data)
| Sets the wxObject::m_refData pointer.
void | UnRef ()
| Decrements the reference count in the associated data, and if it is zero, deletes the data.
void | UnShare ()
| This is the same of AllocExclusive() but this method is public.
void | operator delete (void *buf)
| The delete operator is defined for debugging versions of the library only, when the identifier `__WXDEBUG__` is defined.
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.

## Protected Member Functions
long | IdToBit (const wxString &id) const
void | Init ()
Protected Member Functions inherited from wxPGProperty
| wxPGProperty ()
| Default constructor.
| wxPGProperty (const wxString &label, const wxString &name)
| Constructor.
void | AdaptiveSetCell (unsigned int firstCol, unsigned int lastCol, const wxPGCell &preparedCell, const wxPGCell &srcData, wxPGCellData *unmodCellData, FlagType ignoreWithFlags, bool recursively)
| Sets property cell in fashion that reduces number of exclusive copies of cell data.
void | ClearCells (FlagType ignoreWithFlags, bool recursively)
| Clear cells associated with property.
void | EnsureCells (unsigned int column)
| Makes sure m_cells has size of column+1 (or more).
wxPGProperty * | GetPropertyByNameWH (const wxString &name, unsigned int hintIndex) const
| Returns (direct) child property with given name (or NULL if not found), with hint index.
void | DoAddChild (wxPGProperty *prop, int index=-1, bool correct_mode=true)
| This is used by Insert etc.
void | Empty ()
| Deletes all child properties.
bool | IsChildSelected (bool recursive=false) const
| Returns true if child property is selected.
Protected Member Functions inherited from wxObject
void | AllocExclusive ()
| Ensure that this object's data is not shared with any other object.
virtual wxObjectRefData * | CreateRefData () const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it.
virtual wxObjectRefData * | CloneRefData (const wxObjectRefData *data) const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data.

## Protected Attributes
wxPGChoicesData * | m_oldChoicesData
long | m_oldValue
Protected Attributes inherited from wxObject
wxObjectRefData * | m_refData
| Pointer to an object which is the object's reference-counted data.

## Additional Inherited Members
Public Types inherited from wxPGProperty
typedef wxUint32 | FlagType
Public Attributes inherited from wxPGProperty
void * | m_clientData
| This member is public so scripting language bindings wrapper code can access it freely.

## Constructor & Destructor Documentation

## ◆ wxFlagsProperty() [1/3]

wxFlagsProperty::wxFlagsProperty | ( | const wxString & | label,
|  | const wxString & | name,
|  | const wxChar *const * | labels,
|  | const long * | values = NULL,
|  | long | value = 0 )

## ◆ wxFlagsProperty() [2/3]

wxFlagsProperty::wxFlagsProperty | ( | const wxString & | label,
|  | const wxString & | name,
|  | wxPGChoices & | choices,
|  | long | value = 0 )

## ◆ wxFlagsProperty() [3/3]

wxFlagsProperty::wxFlagsProperty | ( | const wxString & | label = wxPG_LABEL,
|  | const wxString & | name = wxPG_LABEL,
|  | const wxArrayString & | labels = wxArrayString(),
|  | const wxArrayInt & | values = wxArrayInt(),
|  | int | value = 0 )

## ◆ ~wxFlagsProperty()

virtual wxFlagsProperty::~wxFlagsProperty | ( |  | ) |
| virtual

## Member Function Documentation

## ◆ ChildChanged()

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

Called after value of a child property has been altered.

Must return new value of the whole property (after any alterations warranted by child's new value).

Note that this function is usually called at the time that value of this property, or given child property, is still pending for change, and as such, result of GetValue() or m_value should not be relied on.

Sample pseudo-code implementation:

wxVariant MyProperty::ChildChanged( wxVariant& thisValue,
int childIndex,
wxVariant& childValue ) const
{
// Acquire reference to actual type of data stored in variant
// (TFromVariant only exists if wxPropertyGrid's wxVariant-macros
// were used to create the variant class).
T& data = TFromVariant(thisValue);
// Copy childValue into data.
switch ( childIndex )
{
case 0:
data.SetSubProp1( childvalue.GetLong() );
break;
case 1:
data.SetSubProp2( childvalue.GetString() );
break;
...
}
// Return altered data
return data;
}
wxVariant
The wxVariant class represents a container for any type.
Definition variant.h:163

Parameters

  thisValue | Value of this property. Changed value should be returned (in previous versions of wxPropertyGrid it was only necessary to write value back to this argument).
  childIndex | Index of child changed (you can use Item(childIndex) to get child property).
  childValue | (Pending) value of the child property.

Returns
  Modified value of the whole property.

Reimplemented from wxPGProperty.

## ◆ DoSetAttribute()

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

Reimplement this member function to add special handling for attributes of this property.

Returns
  Return false to have the attribute automatically stored in m_attributes. Default implementation simply does that and nothing else.

Remarks
  To actually set property attribute values from the application, use wxPGProperty::SetAttribute() instead.

Reimplemented from wxPGProperty.

## ◆ GetChoiceSelection()

virtual int wxFlagsProperty::GetChoiceSelection | ( |  | ) | const
| virtual

Returns which choice is currently selected.

Only applies to properties which have choices.

Needs to reimplemented in derived class if property value does not map directly to a choice. Integer as index, bool, and string usually do.

Reimplemented from wxPGProperty.

## ◆ GetItemCount()

size_t wxFlagsProperty::GetItemCount | ( |  | ) | const

## ◆ GetLabel()

const wxString & wxFlagsProperty::GetLabel | ( | size_t | ind | ) | const

## ◆ IdToBit()

long wxFlagsProperty::IdToBit | ( | const wxString & | id | ) | const
| protected

## ◆ Init()

void wxFlagsProperty::Init | ( |  | ) |
| protected

## ◆ OnSetValue()

virtual void wxFlagsProperty::OnSetValue | ( |  | ) |
| virtual

This virtual function is called after m_value has been set.

Remarks
  - If m_value was set to Null variant (i.e. unspecified value), OnSetValue() will not be called.
  - m_value may be of any variant type. Typically properties internally support only one variant type, and as such OnSetValue() provides a good opportunity to convert supported values into internal type.
  - Default implementation does nothing.

Reimplemented from wxPGProperty.

## ◆ RefreshChildren()

virtual void wxFlagsProperty::RefreshChildren | ( |  | ) |
| virtual

Refresh values of child properties.

Automatically called after value is set.

Reimplemented from wxPGProperty.

## ◆ StringToValue()

virtual bool wxFlagsProperty::StringToValue | ( | wxVariant & | variant,
|  | const wxString & | text,
|  | int | argFlags ) const
| virtual

Converts text into wxVariant value appropriate for this property.

Parameters

  variant | On function entry this is the old value (should not be wxNullVariant in normal cases). Translated value must be assigned back to it.
  text | Text to be translated into variant.
  argFlags | If wxPG_FULL_VALUE is set, returns complete, storable value instead of displayable one (they may be different). If wxPG_COMPOSITE_FRAGMENT is set, text is interpreted as a part of composite property string value (as generated by ValueToString() called with this same flag).

Returns
  Returns true if resulting wxVariant value was different.

Remarks
  Default implementation converts semicolon delimited tokens into child values. Only works for properties with children.

You might want to take into account that m_value is Null variant if property value is unspecified (which is usually only case if you explicitly enabled that sort behaviour).

Reimplemented from wxPGProperty.

## ◆ ValueToString()

virtual wxString wxFlagsProperty::ValueToString | ( | wxVariant & | value,
|  | int | argFlags = 0 ) const
| virtual

Converts property value into a text representation.

Parameters

  value | Value to be converted.
  argFlags | If 0 (default value), then displayed string is returned. If wxPG_FULL_VALUE is set, returns complete, storable string value instead of displayable. If wxPG_EDITABLE_VALUE is set, returns string value that must be editable in textctrl. If wxPG_COMPOSITE_FRAGMENT is set, returns text that is appropriate to display as a part of string property's composite text representation.

Remarks
  Default implementation calls GenerateComposedValue().

Reimplemented from wxPGProperty.

## Member Data Documentation

## ◆ m_oldChoicesData

wxPGChoicesData* wxFlagsProperty::m_oldChoicesData
| protected

## ◆ m_oldValue

long wxFlagsProperty::m_oldValue
| protected