wxSystemColourProperty Class Reference

Has dropdown list of wxWidgets system colours. More...

#include <advprops.h>

Inheritance diagram for wxSystemColourProperty:
wxEnumProperty wxBaseEnumProperty wxPGProperty

List of all members.

Public Member Functions

virtual wxString ColourToString (const wxColour &col, int index) const
 Override in derived class to customize how colours are printed as strings.
virtual bool DoSetAttribute (const wxString &name, wxVariant &value)
 Special handling for attributes of this property.
virtual wxColour GetColour (int index) const
 Default is to use wxSystemSettings::GetColour(index).
virtual int GetCustomColourIndex () const
 Returns index of entry that triggers colour picker dialog (default is last).
wxColourPropertyValue GetVal (const wxVariant *pVariant=NULL) const
virtual wxString GetValueAsString (int argFlags=0) const
 Returns text representation of property's value.
virtual bool IntToValue (wxVariant &variant, int number, int argFlags=0) const
 Converts 'number' (including choice selection) into proper value 'variant'.
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 bool OnEvent (wxPropertyGrid *propgrid, wxWindow *primary, wxEvent &event)
 Events received by editor widgets are processed here.
virtual wxSize OnMeasureImage (int item) const
 Returns size of the custom painted image in front of property.
virtual void OnSetValue ()
 This virtual function is called after m_value has been set.
bool QueryColourFromUser (wxVariant &variant) const
virtual bool StringToValue (wxVariant &variant, const wxString &text, int argFlags=0) const
 Converts 'text' into proper value 'variant'.
 wxSystemColourProperty (const wxString &label=wxPG_LABEL, const wxString &name=wxPG_LABEL, const wxColourPropertyValue &value=wxColourPropertyValue())

Protected Member Functions

int ColToInd (const wxColour &colour) const
virtual wxVariant DoTranslateVal (wxColourPropertyValue &v) const
void Init (int type, const wxColour &colour)
wxVariant TranslateVal (int type, const wxColour &colour) const
wxVariant TranslateVal (wxColourPropertyValue &v) const
 wxSystemColourProperty (const wxString &label, const wxString &name, const wxChar **labels, const long *values, wxPGChoices *choicesCache, const wxColour &value)
 wxSystemColourProperty (const wxString &label, const wxString &name, const wxChar **labels, const long *values, wxPGChoices *choicesCache, const wxColourPropertyValue &value)

Detailed Description

Has dropdown list of wxWidgets system colours.

Value used is of wxColourPropertyValue type.


Member Function Documentation

virtual bool wxSystemColourProperty::DoSetAttribute ( const wxString &  name,
wxVariant &  value 
) [virtual]

Special handling for attributes of this property.

If returns false, then the attribute will be automatically stored in m_attributes.

Default implementation simply returns false.

Reimplemented from wxPGProperty.

virtual wxColour wxSystemColourProperty::GetColour ( int  index  )  const [virtual]

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

Override to use custom colour tables etc.

virtual wxString wxSystemColourProperty::GetValueAsString ( int  argFlags = 0  )  const [virtual]

Returns text representation of property's value.

Generally this function should not be called from the application code. Instead, call GetValueString().

Parameters:
argFlags 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 composite property string value.
Remarks:
  • Default implementation returns string composed from text representations of child properties.
  • Implementations are never called with m_value being null variant (ie. unspecified value), so you don't need to check for that. Naturally this means that unspecified value is always displayed as an empty string.
See also:
GetValueString()

Reimplemented from wxBaseEnumProperty.

virtual bool wxSystemColourProperty::IntToValue ( wxVariant &  value,
int  number,
int  argFlags = 0 
) const [virtual]

Converts 'number' (including choice selection) into proper value 'variant'.

Returns true if new (different than m_value) value could be interpreted from the integer.

Parameters:
argFlags If wxPG_FULL_VALUE is set, returns complete, storable value instead of displayable
Remarks:
  • Default implementation may work correctly if used value type is int.
  • 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.
  • 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 Null variant if property value is unspecified (which is usually only case if you explicitly enabled that sort behavior).

Reimplemented from wxBaseEnumProperty.

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 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 is < 0, then this is a measure item call (see above).
paintdata wxPGPaintData structure with much useful data.
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:
GetValueAsString

Reimplemented from wxPGProperty.

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, should be handled here. Also, if custom handling for regular events is desired, then that can also be done (for example, wxSystemColourProperty custom handles wxEVT_COMMAND_CHOICE_SELECTED).

If the event causes value to be changed, wxPropertyGrid::ValueChangeInEvent(value) should be used.

Parameters:
event 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.

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 behavior 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 wxSize(-1, -1).

Reimplemented from wxPGProperty.

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 (ie. 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 wxBaseEnumProperty.

virtual bool wxSystemColourProperty::StringToValue ( wxVariant &  variant,
const wxString &  text,
int  argFlags = 0 
) const [virtual]

Converts 'text' into proper value 'variant'.

Returns true if new (different than m_value) value could be interpreted from the text.

Parameters:
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 GetValueAsString() called with this same flag).
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 behavior).

Reimplemented from wxBaseEnumProperty.


The documentation for this class was generated from the following file:
 All Classes Functions Variables Enumerations Enumerator
Generated on Sun Aug 22 12:42:15 2010 for wxPropertyGrid by  doxygen 1.6.3