| Version: 3.2.8

Public Member Functions | Protected Member Functions | List of all members
wxSystemColourProperty Class Reference

`#include <wx/propgrid/advprops.h>`

Inheritance diagram for wxSystemColourProperty:
[legend]

## Detailed Description

Has dropdown list of wxWidgets system colours.

Value used is of wxColourPropertyValue type.

Supported special attributes: wxPG_COLOUR_ALLOW_CUSTOM, wxPG_COLOUR_HAS_ALPHA

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

## Protected Member Functions
| wxSystemColourProperty (const wxString &label, const wxString &name, const wxChar *const *labels, const long *values, wxPGChoices *choicesCache, const wxColourPropertyValue &value)
| wxSystemColourProperty (const wxString &label, const wxString &name, const wxChar *const *labels, const long *values, wxPGChoices *choicesCache, const wxColour &value)
void | Init (int type, const wxColour &colour)
virtual wxVariant | DoTranslateVal (wxColourPropertyValue &v) const
wxVariant | TranslateVal (wxColourPropertyValue &v) const
wxVariant | TranslateVal (int type, const wxColour &colour) const
int | ColToInd (const wxColour &colour) const
Protected Member Functions inherited from wxEnumProperty
int | GetIndex () const
void | SetIndex (int index)
bool | ValueFromString_ (wxVariant &value, const wxString &text, int argFlags) const
bool | ValueFromInt_ (wxVariant &value, int intVal, int argFlags) const
Protected Member Functions inherited from wxPGProperty
| wxPGProperty ()
| Default constructor. More...
| wxPGProperty (const wxString &label, const wxString &name)
| Constructor. More...
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. More...
void | ClearCells (FlagType ignoreWithFlags, bool recursively)
| Clear cells associated with property. More...
void | EnsureCells (unsigned int column)
| Makes sure m_cells has size of column+1 (or more). 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. More...
void | DoAddChild (wxPGProperty *prop, int index=-1, bool correct_mode=true)
| This is used by Insert etc. More...
void | Empty ()
| Deletes all child properties. More...
bool | IsChildSelected (bool recursive=false) const
| Returns true if child property is selected. More...
Protected Member Functions inherited from wxObject
void | AllocExclusive ()
| Ensure that this object's data is not shared with any other object. More...
virtual wxObjectRefData * | CreateRefData () const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
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. More...

## 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. More...
Static Protected Member Functions inherited from wxEnumProperty
static void | ResetNextIndex ()
Protected Attributes inherited from wxObject
wxObjectRefData * | m_refData
| Pointer to an object which is the object's reference-counted data. More...

## Constructor & Destructor Documentation

## ◆ wxSystemColourProperty() [1/3]

wxSystemColourProperty::wxSystemColourProperty | ( | const wxString & | label = `wxPG_LABEL`,
|  | const wxString & | name = `wxPG_LABEL`,
|  | const wxColourPropertyValue & | value = `wxColourPropertyValue()`
| ) |  |

## ◆ ~wxSystemColourProperty()

virtual wxSystemColourProperty::~wxSystemColourProperty | ( |  | ) |
| virtual

## ◆ wxSystemColourProperty() [2/3]

wxSystemColourProperty::wxSystemColourProperty | ( | const wxString & | label,
|  | const wxString & | name,
|  | const wxChar *const * | labels,
|  | const long * | values,
|  | wxPGChoices * | choicesCache,
|  | const wxColourPropertyValue & | value
| ) |  |
| protected

## ◆ wxSystemColourProperty() [3/3]

wxSystemColourProperty::wxSystemColourProperty | ( | const wxString & | label,
|  | const wxString & | name,
|  | const wxChar *const * | labels,
|  | const long * | values,
|  | wxPGChoices * | choicesCache,
|  | const wxColour & | value
| ) |  |
| protected

## Member Function Documentation

## ◆ ColourToString()

virtual wxString wxSystemColourProperty::ColourToString | ( | const wxColour & | col,
|  | int | index,
|  | int | argFlags = `0`
| ) |  | const
| virtual

Override in derived class to customize how colours are printed as strings.

## ◆ ColToInd()

int wxSystemColourProperty::ColToInd | ( | const wxColour & | colour | ) | const
| protected

## ◆ DoSetAttribute()

virtual bool wxSystemColourProperty::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.

## ◆ DoTranslateVal()

virtual wxVariant wxSystemColourProperty::DoTranslateVal | ( | wxColourPropertyValue & | v | ) | const
| protected virtual

Reimplemented in wxColourProperty.

## ◆ GetColour()

virtual wxColour wxSystemColourProperty::GetColour | ( | int | index | ) | const
| virtual

Default is to use wxSystemSettings::GetColour(index).

Override to use custom colour tables etc.

Reimplemented in wxColourProperty.

## ◆ GetCustomColourIndex()

virtual int wxSystemColourProperty::GetCustomColourIndex | ( |  | ) | const
| virtual

Returns index of entry that triggers colour picker dialog (default is last).

## ◆ GetVal()

wxColourPropertyValue wxSystemColourProperty::GetVal | ( | const wxVariant * | pVariant = `NULL` | ) | const

## ◆ Init()

void wxSystemColourProperty::Init | ( | int | type,
|  | const wxColour & | colour
| ) |  |
| protected

## ◆ IntToValue()

virtual bool wxSystemColourProperty::IntToValue | ( | wxVariant & | variant,
|  | int | number,
|  | int | argFlags = `0`
| ) |  | const
| virtual

Converts integer (possibly a choice selection) 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.
  number | Integer to be translated into variant.
  argFlags | If wxPG_FULL_VALUE is set, returns complete, storable value instead of displayable one.

Returns
  Returns true if resulting wxVariant value was different.

Remarks
  - If property is not supposed to use choice or spinctrl or other editor with int-based value, it is not necessary to implement this method.
  - Default implementation simply assign given int to m_value.
  - If property uses choice control, and displays a dialog on some choice items, then it is preferred to display that dialog in IntToValue instead of OnEvent.
  - You might want to take into account that m_value is Mull variant if property value is unspecified (which is usually only case if you explicitly enabled that sort behaviour).

Reimplemented from wxEnumProperty.

## ◆ OnCustomPaint()

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

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).

If property's OnMeasureImage() returns size that has height != 0 but less than row height ( < 0 has special meanings), wxPropertyGrid calls this method to draw a custom image in a limited area in front of the editor control or value text/graphics, and if control has drop-down list, then the image is drawn there as well (even in the case OnMeasureImage() returned higher height than row height).

NOTE: Following applies when OnMeasureImage() returns a "flexible" height ( using `wxPG_FLEXIBLE_SIZE(W,H)` macro), which implies variable height items: If (rect.x+rect.width) is < 0, then this is a measure item call, which means that dc is invalid and only thing that should be done is to set paintdata.m_drawnHeight to the height of the image of item at index paintdata.m_choiceItem. This call may be done even as often as once every drop-down popup show.

Parameters

  dc | wxDC to paint on.
  rect | Box reserved for custom graphics. Includes surrounding rectangle, if any. If x+width is < 0, then this is a measure item call (see above).
  paintdata | wxPGPaintData structure with much useful data about painted item. struct wxPGPaintData { // wxPropertyGrid. const wxPropertyGrid* m_parent; // Normally -1, otherwise index to drop-down list item that has to be drawn. int m_choiceItem; // Set to drawn width in OnCustomPaint (optional). int m_drawnWidth; // In a measure item call, set this to the height of item at m_choiceItem index int m_drawnHeight; }; wxPropertyGrid wxPropertyGrid is a specialized grid for editing properties - in other words name = value pairs. Definition: propgrid.h:487 wxPGPaintData Contains information related to property's OnCustomPaint. Definition: property.h:16

Remarks
  - You can actually exceed rect width, but if you do so then paintdata.m_drawnWidth must be set to the full width drawn in pixels.
  - Due to technical reasons, rect's height will be default even if custom height was reported during measure call.
  - Brush is guaranteed to be default background colour. It has been already used to clear the background of area being painted. It can be modified.
  - Pen is guaranteed to be 1-wide 'black' (or whatever is the proper colour) pen for drawing framing rectangle. It can be changed as well.

See also
  ValueToString()

Reimplemented from wxPGProperty.

## ◆ OnEvent()

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

Events received by editor widgets are processed here.

Note that editor class usually processes most events. Some, such as button press events of TextCtrlAndButton class, can be handled here. Also, if custom handling for regular events is desired, then that can also be done (for example, wxSystemColourProperty custom handles `wxEVT_CHOICE` to display colour picker dialog when 'custom' selection is made).

If the event causes value to be changed, SetValueInEvent() should be called to set the new value.

The parameter event is the associated wxEvent.

Return values

  Should | return true if any changes in value should be reported.

Remarks
  - If property uses choice control, and displays a dialog on some choice items, then it is preferred to display that dialog in IntToValue instead of OnEvent.

Reimplemented from wxPGProperty.

## ◆ OnMeasureImage()

virtual wxSize wxSystemColourProperty::OnMeasureImage | ( | int | item | ) | const
| virtual

Returns size of the custom painted image in front of property.

This method must be overridden to return non-default value if OnCustomPaint is to be called.

Parameters

  item | Normally -1, but can be an index to the property's list of items.

Remarks
  - Default behaviour is to return wxSize(0,0), which means no image.
  - Default image width or height is indicated with dimension -1.
  - You can also return wxPG_DEFAULT_IMAGE_SIZE which equals wxDefaultSize.

Reimplemented from wxPGProperty.

## ◆ OnSetValue()

virtual void wxSystemColourProperty::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 wxEnumProperty.

## ◆ QueryColourFromUser()

bool wxSystemColourProperty::QueryColourFromUser | ( | wxVariant & | variant | ) | const

## ◆ StringToValue()

virtual bool wxSystemColourProperty::StringToValue | ( | wxVariant & | variant,
|  | const wxString & | text,
|  | int | argFlags = `0`
| ) |  | 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 wxEnumProperty.

## ◆ TranslateVal() [1/2]

wxVariant wxSystemColourProperty::TranslateVal | ( | int | type,
|  | const wxColour & | colour
| ) |  | const
| protected

## ◆ TranslateVal() [2/2]

wxVariant wxSystemColourProperty::TranslateVal | ( | wxColourPropertyValue & | v | ) | const
| protected

## ◆ ValueToString()

virtual wxString wxSystemColourProperty::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 wxEnumProperty.

Reimplemented in wxColourProperty.