#include <propgrid.h>
Public Types | |
typedef void * | ClientDataType |
typedef wxUint32 | FlagType |
Public Member Functions | |
wxPGCell * | AcquireCell (unsigned int column) |
bool | ActualIntToValue (wxVariant &variant, int number, int argFlags=0) const |
bool | ActualStringToValue (wxVariant &variant, const wxString &text, int argFlags=0) const |
bool | ActualValidateValue (wxVariant &value, wxPGValidationInfo &validationInfo) const |
void | AdaptListToValue (wxVariant &list, wxVariant *value) const |
void | AddChild (wxPGProperty *prop) |
int | AppendChoice (const wxString &label, int value=INT_MAX) |
bool | AreAllChildrenSpecified (wxVariant *pendingList=NULL) const |
bool | AreChildrenComponents () const |
bool | CanHaveExtraChildren () const |
virtual void | ChildChanged (wxVariant &thisValue, int childIndex, wxVariant &childValue) const |
void | ClearFlag (FlagType flag) |
void | DeleteChoice (int index) |
virtual wxVariant | DoGetAttribute (const wxString &name) const |
virtual const wxPGEditor * | DoGetEditorClass () const |
virtual wxValidator * | DoGetValidator () const |
virtual wxVariant | DoGetValue () const |
virtual bool | DoSetAttribute (const wxString &name, wxVariant &value) |
void | Empty () |
void | EnableCommonValue (bool enable=true) |
void | FixIndexesOfChildren (unsigned int starthere=0) |
void | GenerateComposedValue (wxString &text, int argFlags=0) const |
unsigned int | GetArrIndex () const |
wxString | GetAttribute (const wxString &name, const wxString &defVal) const |
wxVariant | GetAttribute (const wxString &name) const |
double | GetAttributeAsDouble (const wxString &name, double defVal) const |
long | GetAttributeAsLong (const wxString &name, long defVal) const |
const wxPGAttributeStorage & | GetAttributes () const |
wxVariant | GetAttributesAsList () const |
const wxString & | GetBaseName () const |
wxPGCell * | GetCell (unsigned int column) const |
virtual wxPGCellRenderer * | GetCellRenderer (int column) const |
unsigned int | GetChildCount () const |
int | GetChildrenHeight (int lh, int iMax=-1) const |
unsigned int | GetChoiceCount () const |
virtual int | GetChoiceInfo (wxPGChoiceInfo *choiceinfo) |
const wxPGChoices & | GetChoices () const |
wxPGChoices & | GetChoices () |
wxString | GetChoiceString (unsigned int index) |
const wxChar * | GetClassName () const |
ClientDataType | GetClientData () const |
const wxPGEditor * | GetColumnEditor (int column) const |
int | GetCommonValue () const |
unsigned int | GetCount () const |
const wxPGChoiceEntry * | GetCurrentChoice () const |
wxVariant | GetDefaultValue () const |
unsigned int | GetDepth () const |
int | GetDisplayedCommonValueCount () const |
wxString | GetDisplayedString () const |
const wxPGEditor * | GetEditorClass () const |
virtual wxPGEditorDialogAdapter * | GetEditorDialog () const |
FlagType | GetFlags () const |
wxString | GetFlagsAsString (FlagType flagsMask) const |
wxPropertyGrid * | GetGrid () const |
wxPropertyGrid * | GetGridIfDisplayed () const |
const wxString & | GetHelpString () const |
wxPGId | GetId () |
virtual wxSize | GetImageSize () const |
unsigned int | GetIndexInParent () const |
wxPGProperty * | GetItemAtY (unsigned int y, unsigned int lh, unsigned int *nextItemY) const |
const wxString & | GetLabel () const |
const wxPGProperty * | GetLastVisibleSubItem () const |
wxPGProperty * | GetMainParent () const |
int | GetMaxLength () const |
wxString | GetName () const |
wxPGProperty * | GetParent () const |
wxPropertyGridState * | GetParentState () const |
wxPGProperty * | GetPropertyByName (const wxString &name) const |
wxString | GetType () const |
wxValidator * | GetValidator () const |
wxVariant | GetValue () const |
virtual wxString | GetValueAsString (int argFlags=0) const |
wxVariant | GetValueAsVariant () const |
wxBitmap * | GetValueImage () const |
const wxVariant & | GetValueRef () const |
wxVariant & | GetValueRef () |
wxString | GetValueString (int argFlags=0) const |
wxString | GetValueType () const |
int | GetY () const |
FlagType | HasFlag (FlagType flag) const |
bool | HasVisibleChildren () const |
bool | Hide (bool hide, int flags=wxPG_RECURSE) |
int | Index (const wxPGProperty *p) const |
int | InsertChoice (const wxString &label, int index, int value=INT_MAX) |
virtual bool | IntToValue (wxVariant &value, int number, int argFlags=0) const |
bool | IsCategory () const |
bool | IsEnabled () const |
bool | IsExpanded () const |
bool | IsFlagSet (FlagType flag) const |
bool | IsRoot () const |
bool | IsSomeParent (wxPGProperty *candidate_parent) const |
bool | IsSubProperty () const |
bool | IsTextEditable () const |
bool | IsValueUnspecified () const |
bool | IsVisible () const |
wxPGProperty * | Item (unsigned int i) const |
wxPGProperty * | Last () const |
virtual void | OnCustomPaint (wxDC &dc, const wxRect &rect, wxPGPaintData &paintdata) |
virtual bool | OnEvent (wxPropertyGrid *propgrid, wxWindow *wnd_primary, wxEvent &event) |
virtual wxSize | OnMeasureImage (int item=-1) const |
virtual void | OnSetValue () |
bool | PrepareValueForDialogEditing (wxPropertyGrid *propgrid) |
bool | RecreateEditor () |
virtual void | RefreshChildren () |
void | RefreshEditor () |
void | SetAttribute (const wxString &name, wxVariant value) |
void | SetAttributes (const wxPGAttributeStorage &attributes) |
void | SetCell (int column, wxPGCell *cellObj) |
bool | SetChoices (const wxArrayString &labels, const wxArrayInt &values=wxArrayInt()) |
bool | SetChoices (wxPGChoices &choices) |
void | SetChoiceSelection (int newValue, const wxPGChoiceInfo &choiceInfo) |
void | SetChoicesExclusive () |
void | SetClientData (ClientDataType clientData) |
void | SetCommonValue (int commonValue) |
void | SetEditor (const wxString &editorName) |
void | SetEditor (const wxPGEditor *editor) |
void | SetExpanded (bool expanded) |
void | SetFlag (FlagType flag) |
void | SetFlagRecursively (FlagType flag, bool set) |
void | SetFlagsFromString (const wxString &str) |
void | SetHelpString (const wxString &helpString) |
void | SetLabel (const wxString &label) |
bool | SetMaxLength (int maxLen) |
void | SetName (const wxString &newName) |
void | SetValidator (const wxValidator &validator) |
void | SetValue (wxVariant value, wxVariant *pList=NULL, int flags=0) |
virtual bool | SetValueFromInt (long value, int flags=0) |
virtual bool | SetValueFromString (const wxString &text, int flags=wxPG_PROGRAMMATIC_VALUE) |
void | SetValueImage (wxBitmap &bmp) |
void | SetValueInEvent (wxVariant value) const |
void | SetValueToUnspecified () |
void | SetWasModified (bool set=true) |
virtual bool | StringToValue (wxVariant &variant, const wxString &text, int argFlags=0) const |
void | UpdateControl (wxWindow *primary) |
wxPGProperty * | UpdateParentValues () |
FlagType | UsesAutoUnspecified () const |
virtual bool | ValidateValue (wxVariant &value, wxPGValidationInfo &validationInfo) const |
wxPGProperty (const wxString &label, const wxString &name) | |
wxPGProperty () | |
virtual | ~wxPGProperty () |
Protected Member Functions | |
void | AddChild2 (wxPGProperty *prop, int index=-1, bool correct_mode=true) |
void | DoSetName (const wxString &str) |
wxString | GetColumnText (unsigned int col) const |
wxPGProperty * | GetPropertyByNameWH (const wxString &name, unsigned int hintIndex) const |
int | GetY2 (int lh) const |
void | PrepareSubProperties () |
void | SetParentalType (int flag) |
void | SetParentState (wxPropertyGridState *pstate) |
void | SubPropsChanged (int oldSelInd=-1) |
Protected Attributes | |
unsigned int | m_arrIndex |
wxPGAttributeStorage | m_attributes |
unsigned char | m_bgColIndex |
wxArrayPtrVoid | m_cells |
wxArrayPtrVoid | m_children |
ClientDataType | m_clientData |
int | m_commonValue |
const wxPGEditor * | m_customEditor |
unsigned char | m_depth |
unsigned char | m_depthBgCol |
unsigned char | m_fgColIndex |
FlagType | m_flags |
wxString | m_helpString |
wxString | m_label |
short | m_maxLen |
wxString | m_name |
wxPGProperty * | m_parent |
wxPropertyGridState * | m_parentState |
wxValidator * | m_validator |
wxVariant | m_value |
wxBitmap * | m_valueBitmap |
wxPGProperty::wxPGProperty | ( | ) |
Basic constructor.
Should not be necessary to override.
wxPGProperty::wxPGProperty | ( | const wxString & | label, | |
const wxString & | name | |||
) |
Constructor.
Real used property classes should have constructor of this style:
// If T is a class, then it should be a constant reference // (e.g. const T& ) instead. MyProperty( const wxString& label, const wxString& name, T value ) : wxPGProperty () { // Generally recommended way to set the initial value // (as it should work in pretty much 100% of cases). wxVariant variant; variant << value; SetValue(variant); // If has child properties then create them here. For example: // AddChild( new wxStringProperty( wxT("Subprop 1"), wxPG_LABEL, value.GetSubProp1() ) ); }
Of course, in this example, wxPGProperty could actually any other property class.
virtual wxPGProperty::~wxPGProperty | ( | ) | [virtual] |
Virtual destructor.
It is customary for derived properties to implement this.
wxPGCell* wxPGProperty::AcquireCell | ( | unsigned int | column | ) |
Returns wxPGCell of given column, NULL if none.
If valid object is returned, caller will gain its ownership.
void wxPGProperty::AdaptListToValue | ( | wxVariant & | list, | |
wxVariant * | value | |||
) | const |
Adapts list variant into proper value using consequtive ChildChanged-calls.
void wxPGProperty::AddChild | ( | wxPGProperty * | prop | ) |
Call this to add sub-properties which will become private, fixed children.
To handle value changes to and from these properties, you must implement RefreshChildren() and ChildChanged() in derived property class.
If you wish to add independent child properties, use wxPropertyContainerMethods::Insert() or wxPropertyContainerMethods::AppendIn().
void wxPGProperty::AddChild2 | ( | wxPGProperty * | prop, | |
int | index = -1 , |
|||
bool | correct_mode = true | |||
) | [protected] |
This is used by Insert etc.
int wxPGProperty::AppendChoice | ( | const wxString & | label, | |
int | value = INT_MAX | |||
) |
Adds entry to property's wxPGChoices and editor control (if it is active).
Returns index of item added.
bool wxPGProperty::AreAllChildrenSpecified | ( | wxVariant * | pendingList = NULL |
) | const |
Determines, recursively, if all children are not unspecified.
Takes values in given list into account.
bool wxPGProperty::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).
bool wxPGProperty::CanHaveExtraChildren | ( | ) | const |
Returns true if extra children can be added for this property (i.e.
it is wxPropertyCategory or wxCustomProperty)
virtual void wxPGProperty::ChildChanged | ( | wxVariant & | thisValue, | |
int | childIndex, | |||
wxVariant & | childValue | |||
) | const [virtual] |
Called after value of a child property has been altered.
Note that this function is usually called at the time that value of this property, or given child property, is still pending for change.
Sample pseudo-code implementation:
void 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; ... } }
thisValue | Value of this property, that should be altered. | |
childIndex | Index of child changed (you can use Item(childIndex) to get). | |
childValue | Value of the child property. |
Reimplemented in wxFontProperty, wxPGRootProperty, wxPropertyCategory, wxFlagsProperty, and wxCustomProperty.
void wxPGProperty::DeleteChoice | ( | int | index | ) |
Removes entry from property's wxPGChoices and editor control (if it is active).
If selected item is deleted, then the value is set to unspecified.
virtual wxVariant wxPGProperty::DoGetAttribute | ( | const wxString & | name | ) | const [virtual] |
Returns value of an attribute.
Override if custom handling of attributes is needed.
Default implementation simply return NULL variant.
virtual const wxPGEditor* wxPGProperty::DoGetEditorClass | ( | ) | const [virtual] |
Returns pointer to an instance of editor class.
virtual wxValidator* wxPGProperty::DoGetValidator | ( | ) | const [virtual] |
Returns pointer to the wxValidator that should be used with the editor of this property (NULL for no validator).
Setting validator explicitly via SetPropertyValidator will override this.
In most situations, code like this should work well (macros are used to maintain one actual validator instance, so on the second call the function exits within the first macro):
wxValidator* wxMyPropertyClass::DoGetValidator () const { WX_PG_DOGETVALIDATOR_ENTRY() wxMyValidator* validator = new wxMyValidator(...); ... prepare validator... WX_PG_DOGETVALIDATOR_EXIT(validator) }
Reimplemented in wxIntProperty, wxFloatProperty, wxFileProperty, and wxDirProperty.
virtual wxVariant wxPGProperty::DoGetValue | ( | ) | const [virtual] |
Override this to return something else than m_value as the value.
virtual bool wxPGProperty::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 in wxSystemColourProperty, wxDateProperty, wxStringProperty, wxUIntProperty, wxFloatProperty, wxBoolProperty, wxFileProperty, wxDirProperty, and wxCustomProperty.
void wxPGProperty::Empty | ( | ) |
Deletes all sub-properties.
void wxPGProperty::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.
Common values are disabled by the default for all properties.
void wxPGProperty::GenerateComposedValue | ( | wxString & | text, | |
int | argFlags = 0 | |||
) | const |
Composes text from values of child properties.
wxString wxPGProperty::GetAttribute | ( | const wxString & | name, | |
const wxString & | defVal | |||
) | const |
Returns named attribute, as string, if found.
Otherwise defVal is returned.
double wxPGProperty::GetAttributeAsDouble | ( | const wxString & | name, | |
double | defVal | |||
) | const |
Returns named attribute, as double, if found.
Otherwise defVal is returned.
long wxPGProperty::GetAttributeAsLong | ( | const wxString & | name, | |
long | defVal | |||
) | const |
Returns named attribute, as long, if found.
Otherwise defVal is returned.
const wxPGAttributeStorage& wxPGProperty::GetAttributes | ( | ) | const |
Returns comma-delimited string of property attributes.
wxVariant wxPGProperty::GetAttributesAsList | ( | ) | const |
Returns m_attributes as list wxVariant.
const wxString& wxPGProperty::GetBaseName | ( | ) | const |
Returns property's base name (ie.
parent's name is not added in any case)
wxPGCell* wxPGProperty::GetCell | ( | unsigned int | column | ) | const |
Returns wxPGCell of given column, NULL if none.
wxPGProperty will retain ownership of the cell object.
virtual wxPGCellRenderer* wxPGProperty::GetCellRenderer | ( | int | column | ) | const [virtual] |
Returns used wxPGCellRenderer instance for given property column (label=0, value=1).
Default implementation returns editor's renderer for all columns.
unsigned int wxPGProperty::GetChildCount | ( | ) | const |
Returns number of child properties.
int wxPGProperty::GetChildrenHeight | ( | int | lh, | |
int | iMax = -1 | |||
) | const |
Returns height of children, recursively, and by taking expanded/collapsed status into account.
iMax is used when finding property y-positions.
virtual int wxPGProperty::GetChoiceInfo | ( | wxPGChoiceInfo * | choiceinfo | ) | [virtual] |
Returns current value's index to the choice control.
May also return, through pointer arguments, strings that should be inserted to that control. Irrelevant to classes which do not employ wxPG_EDITOR(Choice) or similar.
Reimplemented in wxMultiChoiceProperty, wxBoolProperty, wxEnumProperty, wxFlagsProperty, and wxCustomProperty.
const wxPGEditor* wxPGProperty::GetColumnEditor | ( | int | column | ) | const |
Returns editor used for given column.
NULL for no editor.
wxString wxPGProperty::GetColumnText | ( | unsigned int | col | ) | const [protected] |
Returns text for given column.
int wxPGProperty::GetCommonValue | ( | ) | const |
Returns common value selected for this property.
-1 for none.
unsigned int wxPGProperty::GetCount | ( | ) | const |
Returns number of child properties.
int wxPGProperty::GetDisplayedCommonValueCount | ( | ) | const |
Return number of displayed common values for this property.
virtual wxPGEditorDialogAdapter* wxPGProperty::GetEditorDialog | ( | ) | const [virtual] |
Returns instance of a new wxPGEditorDialogAdapter instance, which is used when user presses the (optional) button next to the editor control;.
Default implementation returns NULL (ie. no action is generated when button is pressed).
Reimplemented in wxFileProperty.
wxString wxPGProperty::GetFlagsAsString | ( | FlagType | flagsMask | ) | const |
Gets flags as a'|' delimited string.
Note that flag names are not prepended with 'wxPG_PROP_'.
flagsMask | String will only be made to include flags combined by this parameter. |
wxPropertyGrid* wxPGProperty::GetGrid | ( | ) | const |
Returns property grid where property lies.
wxPropertyGrid* wxPGProperty::GetGridIfDisplayed | ( | ) | const |
Returns owner wxPropertyGrid, but only if one is currently on a page displaying this property.
wxPGId wxPGProperty::GetId | ( | ) |
Returns property id.
virtual wxSize wxPGProperty::GetImageSize | ( | ) | const [virtual] |
unsigned int wxPGProperty::GetIndexInParent | ( | ) | const |
Returns position in parent's array.
const wxString& wxPGProperty::GetLabel | ( | ) | const |
Returns property's label.
const wxPGProperty* wxPGProperty::GetLastVisibleSubItem | ( | ) | const |
Returns last visible sub-property, recursively.
wxPGProperty* wxPGProperty::GetMainParent | ( | ) | const |
Returns highest level non-category, non-root parent.
Useful when you have nested wxCustomProperties/wxParentProperties.
wxString wxPGProperty::GetName | ( | ) | const |
Returns property's name with all (non-category, non-root) parents.
wxPGProperty* wxPGProperty::GetParent | ( | ) | const |
Return parent of property.
wxPGProperty* wxPGProperty::GetPropertyByName | ( | const wxString & | name | ) | const |
Returns (direct) child property with given name (or NULL if not found).
wxPGProperty* wxPGProperty::GetPropertyByNameWH | ( | const wxString & | name, | |
unsigned int | hintIndex | |||
) | const [protected] |
Returns (direct) child property with given name (or NULL if not found), with hint index.
hintIndex | Start looking for the child at this index. |
wxString wxPGProperty::GetType | ( | ) | const |
Returns type name of property that is compatible with CreatePropertyByType.
and wxVariant::GetType.
wxValidator* wxPGProperty::GetValidator | ( | ) | const |
Gets assignable version of property's validator.
virtual wxString wxPGProperty::GetValueAsString | ( | int | argFlags = 0 |
) | const [virtual] |
Returns text representation of property's value.
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. |
Reimplemented in wxFontProperty, wxSystemColourProperty, wxMultiChoiceProperty, wxDateProperty, wxPropertyCategory, wxStringProperty, wxIntProperty, wxUIntProperty, wxFloatProperty, wxBoolProperty, wxBaseEnumProperty, wxFlagsProperty, wxFileProperty, wxLongStringProperty, wxArrayStringProperty, and wxCustomProperty.
wxVariant wxPGProperty::GetValueAsVariant | ( | ) | const |
wxVariant& wxPGProperty::GetValueRef | ( | ) |
Returns reference to the internal stored value.
GetValue is preferred way to get the actual value, since GetValueRef ignores DoGetValue, which may override stored value.
wxString wxPGProperty::GetValueString | ( | int | argFlags = 0 |
) | const |
Same as GetValueAsString, except takes common value into account.
int wxPGProperty::GetY | ( | ) | const |
Returns coordinate to the top y of the property.
Note that the position of scrollbars is not taken into account.
bool wxPGProperty::HasVisibleChildren | ( | ) | const |
Returns true if property has even one visible child.
bool wxPGProperty::Hide | ( | bool | hide, | |
int | flags = wxPG_RECURSE | |||
) |
Hides or reveals the property.
hide | true for hide, false for reveal. | |
flags | By default changes are applied recursively. Set this paramter wxPG_DONT_RECURSE to prevent this. |
int wxPGProperty::Index | ( | const wxPGProperty * | p | ) | const |
Returns index of given sub-property.
int wxPGProperty::InsertChoice | ( | const wxString & | label, | |
int | index, | |||
int | value = INT_MAX | |||
) |
Adds entry to property's wxPGChoices and editor control (if it is active).
Returns index of item added.
virtual bool wxPGProperty::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.
argFlags | If wxPG_FULL_VALUE is set, returns complete, storable value instead of displayable |
Reimplemented in wxSystemColourProperty, wxIntProperty, wxUIntProperty, wxBoolProperty, wxBaseEnumProperty, and wxCustomProperty.
bool wxPGProperty::IsCategory | ( | ) | const |
Returns true if this property is actually a wxPropertyCategory.
bool wxPGProperty::IsRoot | ( | ) | const |
Returns true if this property is actually a wxRootProperty.
bool wxPGProperty::IsSubProperty | ( | ) | const |
Returns true if this is a sub-property.
bool wxPGProperty::IsTextEditable | ( | ) | const |
Returns true if property has editable wxTextCtrl when selected.
bool wxPGProperty::IsVisible | ( | ) | const |
Returns true if all parents expanded.
wxPGProperty* wxPGProperty::Item | ( | unsigned int | i | ) | const |
Returns sub-property at index i.
wxPGProperty* wxPGProperty::Last | ( | ) | const |
Returns last sub-property.
virtual void wxPGProperty::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.
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. |
Reimplemented in wxSystemColourProperty, wxImageFileProperty, and wxCustomProperty.
virtual bool wxPGProperty::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.
event | Associated wxEvent. |
Should | return true if any changes in value should be reported. |
Reimplemented in wxFontProperty, wxSystemColourProperty, wxMultiChoiceProperty, wxLongStringProperty, and wxArrayStringProperty.
virtual wxSize wxPGProperty::OnMeasureImage | ( | int | item = -1 |
) | 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.
item | Normally -1, but can be an index to the property's list of items. |
Reimplemented in wxSystemColourProperty, wxImageFileProperty, and wxCustomProperty.
virtual void wxPGProperty::OnSetValue | ( | ) | [virtual] |
This virtual function is called after m_value has been set.
Reimplemented in wxFontProperty, wxSystemColourProperty, wxImageFileProperty, wxMultiChoiceProperty, wxStringProperty, wxBaseEnumProperty, wxFlagsProperty, wxFileProperty, and wxArrayStringProperty.
bool wxPGProperty::PrepareValueForDialogEditing | ( | wxPropertyGrid * | propgrid | ) |
Updates property value in case there were last minute changes.
If value was unspecified, it will be set to default. Use only for properties that have TextCtrl-based editor.
// Update the value in case of last minute changes if ( primary && propgrid->IsEditorsValueModified() ) GetEditorClass()->CopyValueFromControl( this, primary );
True | if value changed. |
bool wxPGProperty::RecreateEditor | ( | ) |
If property's editor is created this forces its recreation.
Useful in SetAttribute etc. Returns true if actually did anything.
virtual void wxPGProperty::RefreshChildren | ( | ) | [virtual] |
Refresh values of child properties.
Automatically called after value is set.
Reimplemented in wxFontProperty, and wxFlagsProperty.
void wxPGProperty::RefreshEditor | ( | ) |
If property's editor is active, then update it's value.
void wxPGProperty::SetAttribute | ( | const wxString & | name, | |
wxVariant | value | |||
) |
Sets an attribute for this property.
There are both common attributes and property class specific ones. For list of common attributes, see wxPropertyGridInterface::SetPropertyAttribute().
void wxPGProperty::SetAttributes | ( | const wxPGAttributeStorage & | attributes | ) |
Sets attributes from a comma-delimited string.
void wxPGProperty::SetCell | ( | int | column, | |
wxPGCell * | cellObj | |||
) |
Sets cell information for given column.
Note that the property takes ownership of given wxPGCell instance.
bool wxPGProperty::SetChoices | ( | const wxArrayString & | labels, | |
const wxArrayInt & | values = wxArrayInt() | |||
) |
Sets new set of choices for property.
bool wxPGProperty::SetChoices | ( | wxPGChoices & | choices | ) |
Sets new set of choices for property.
void wxPGProperty::SetChoiceSelection | ( | int | newValue, | |
const wxPGChoiceInfo & | choiceInfo | |||
) |
Changes value of a property with choices, but only works if the value type is long or string.
void wxPGProperty::SetChoicesExclusive | ( | ) |
If property has choices and they are not yet exclusive, new such copy of them will be created.
void wxPGProperty::SetClientData | ( | ClientDataType | clientData | ) |
Sets client data (void*) of a property.
void wxPGProperty::SetCommonValue | ( | int | commonValue | ) |
Sets common value selected for this property.
-1 for none.
void wxPGProperty::SetEditor | ( | const wxString & | editorName | ) |
Sets editor for a property.
void wxPGProperty::SetEditor | ( | const wxPGEditor * | editor | ) |
Sets editor for a property.
void wxPGProperty::SetFlagsFromString | ( | const wxString & | str | ) |
Sets flags from a '|' delimited string.
Note that flag names are not prepended with 'wxPG_PROP_'.
void wxPGProperty::SetLabel | ( | const wxString & | label | ) |
Sets property's label.
bool wxPGProperty::SetMaxLength | ( | int | maxLen | ) |
Set max length of text editor.
void wxPGProperty::SetValidator | ( | const wxValidator & | validator | ) |
Sets wxValidator for a property.
void wxPGProperty::SetValue | ( | wxVariant | value, | |
wxVariant * | pList = NULL , |
|||
int | flags = 0 | |||
) |
Call this to set value of the property.
Unlike methods in wxPropertyGrid, this does not automatically update the display.
(only if wxPG_PROP_AGGREGATE flag is set).
pList | Pointer to list variant that contains child values. Used to indicate which children should be marked as modified. | |
flags | Various flags (for instance, wxPG_SETVAL_REFRESH_EDITOR). |
virtual bool wxPGProperty::SetValueFromInt | ( | long | value, | |
int | flags = 0 | |||
) | [virtual] |
Converts integer to a value, and if succesfull, calls SetValue() on it.
Default behavior is to do nothing.
value | Int to get the value from. | |
flags | If has wxPG_FULL_VALUE, then the value given is a actual value and not an index. |
true | if value was changed. |
virtual bool wxPGProperty::SetValueFromString | ( | const wxString & | text, | |
int | flags = wxPG_PROGRAMMATIC_VALUE | |||
) | [virtual] |
Converts string to a value, and if succesfull, calls SetValue() on it.
Default behavior is to do nothing.
text | String to get the value from. |
true | if value was changed. |
void wxPGProperty::SetValueImage | ( | wxBitmap & | bmp | ) |
Set wxBitmap in front of the value.
This bitmap may be ignored by custom cell renderers.
void wxPGProperty::SetValueInEvent | ( | wxVariant | value | ) | const |
Call in OnEvent(), OnButtonClick() etc.
to change the property value based on user input.
void wxPGProperty::SetWasModified | ( | bool | set = true |
) |
Call with 'false' in OnSetValue to cancel value changes after all (ie.
cancel 'true' returned by StringToValue() or IntToValue()).
virtual bool wxPGProperty::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.
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). |
Reimplemented in wxSystemColourProperty, wxMultiChoiceProperty, wxDateProperty, wxPGRootProperty, wxStringProperty, wxIntProperty, wxUIntProperty, wxFloatProperty, wxBoolProperty, wxBaseEnumProperty, wxFlagsProperty, wxFileProperty, wxLongStringProperty, wxArrayStringProperty, and wxCustomProperty.
wxPGProperty* wxPGProperty::UpdateParentValues | ( | ) |
Updates composed values of parent non-category properties, recursively.
Returns topmost property updated.
FlagType wxPGProperty::UsesAutoUnspecified | ( | ) | const |
Returns true if containing grid uses wxPG_EX_AUTO_UNSPECIFIED_VALUES.
virtual bool wxPGProperty::ValidateValue | ( | wxVariant & | value, | |
wxPGValidationInfo & | validationInfo | |||
) | const [virtual] |
Implement this function in derived class to check the value.
Return true if it is ok. Returning false prevents property change events from occurring.
Reimplemented in wxIntProperty, wxUIntProperty, wxFloatProperty, and wxBaseEnumProperty.