Version: 3.0.4
wxArrayStringProperty Class Reference

#include <wx/propgrid/props.h>

+ Inheritance diagram for wxArrayStringProperty:

Detailed Description

Property that manages a list of strings.

Public Types

enum  ConversionFlags {
  Escape = 0x01,
  QuoteStrings = 0x02
}
 
- Public Types inherited from wxPGProperty
typedef wxUint32 FlagType
 

Public Member Functions

 wxArrayStringProperty (const wxString &label=wxPG_LABEL, const wxString &name=wxPG_LABEL, const wxArrayString &value=wxArrayString())
 
virtual ~wxArrayStringProperty ()
 
virtual void OnSetValue ()
 This virtual function is called after m_value has been set. 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 void ConvertArrayToString (const wxArrayString &arr, wxString *pString, const wxUniChar &delimiter) const
 
virtual bool OnCustomStringEdit (wxWindow *parent, wxString &value)
 
virtual bool OnButtonClick (wxPropertyGrid *propgrid, wxWindow *primary, const wxChar *cbt)
 
virtual wxPGArrayEditorDialogCreateEditorDialog ()
 
- Public Member Functions inherited from wxPGProperty
 wxPGProperty ()
 Default constructor. More...
 
 wxPGProperty (const wxString &label, const wxString &name)
 Constructor. More...
 
virtual ~wxPGProperty ()
 Virtual destructor. More...
 
virtual wxVariant DoGetValue () const
 Override this to return something else than m_value as the value. More...
 
virtual bool ValidateValue (wxVariant &value, wxPGValidationInfo &validationInfo) const
 Implement this function in derived class to check the value. 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...
 
bool SetValueFromString (const wxString &text, int flags=0)
 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 wxSize OnMeasureImage (int item=-1) const
 Returns size of the custom painted image in front of property. More...
 
virtual wxVariant ChildChanged (wxVariant &thisValue, int childIndex, wxVariant &childValue) const
 Called after value of a child property has been altered. More...
 
virtual const wxPGEditorDoGetEditorClass () const
 Returns pointer to an instance of used editor. More...
 
virtual wxValidatorDoGetValidator () const
 Returns pointer to the wxValidator that should be used with the editor of this property (NULL for no validator). 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...
 
virtual wxPGCellRendererGetCellRenderer (int column) const
 Returns used wxPGCellRenderer instance for given property column (label=0, value=1). More...
 
virtual int GetChoiceSelection () const
 Returns which choice is currently selected. More...
 
virtual void RefreshChildren ()
 Refresh values of child properties. More...
 
virtual wxVariant DoGetAttribute (const wxString &name) const
 Returns value of an attribute. More...
 
virtual wxPGEditorDialogAdapterGetEditorDialog () 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...
 
wxPGPropertyAppendChild (wxPGProperty *childProperty)
 Use this member function to add independent (ie. More...
 
bool AreAllChildrenSpecified (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...
 
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...
 
wxVariant GetAttributesAsList () const
 Returns attributes as list wxVariant. More...
 
const wxPGAttributeStorageGetAttributes () const
 Return atributes storage map. More...
 
const wxPGEditorGetColumnEditor (int column) const
 Returns editor used for given column. More...
 
const wxStringGetBaseName () const
 Returns property's base name (ie. More...
 
const wxPGCellGetCell (unsigned int column) const
 Returns wxPGCell of given column. More...
 
wxPGCellGetCell (unsigned int column)
 Returns wxPGCell of given column, creating one if necessary. More...
 
wxPGCellGetOrCreateCell (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 wxPGChoicesGetChoices () const
 Returns read-only reference to property's list of choices. More...
 
void * GetClientData () const
 Returns client data (void*) of a property. More...
 
wxClientDataGetClientObject () const
 Sets managed client object of a property. More...
 
wxVariant GetDefaultValue () const
 Returns property's default value. More...
 
wxString GetDisplayedString () const
 Returns property's displayed text. More...
 
const wxPGEditorGetEditorClass () const
 Returns wxPGEditor that will be used and created when property becomes selected. More...
 
FlagType GetFlags () const
 Returns property flags. More...
 
wxPropertyGridGetGrid () const
 Returns property grid where property lies. More...
 
wxPropertyGridGetGridIfDisplayed () const
 Returns owner wxPropertyGrid, but only if one is currently on a page displaying this property. More...
 
const wxStringGetHelpString () const
 Returns property's help or description text. More...
 
unsigned int GetIndexInParent () const
 Returns position in parent's array. More...
 
const wxStringGetLabel () const
 Returns property's label. More...
 
const wxPGPropertyGetLastVisibleSubItem () const
 Returns last visible child property, recursively. More...
 
wxPGPropertyGetMainParent () const
 Returns highest level non-category, non-root parent. More...
 
int GetMaxLength () const
 Returns maximum allowed length of property's text value. More...
 
wxString GetName () const
 Returns property's name with all (non-category, non-root) parents. More...
 
wxPGPropertyGetParent () const
 Return parent of property. More...
 
wxPGPropertyGetPropertyByName (const wxString &name) const
 Returns (direct) child property with given name (or NULL if not found). More...
 
wxValidatorGetValidator () const
 Gets assignable version of property's validator. More...
 
wxVariant GetValue () const
 Returns property's value. More...
 
wxBitmapGetValueImage () 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...
 
FlagType HasFlag (wxPGPropertyFlags flag) const
 Returns non-zero if property has given flag 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...
 
wxPGPropertyInsertChild (int index, wxPGProperty *childProperty)
 Use this member function to add independent (ie. 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...
 
wxPGPropertyItem (unsigned int i) const
 Returns child property at index i. 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...
 
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)
 Returns 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 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 max length of text in 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 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 (wxBitmap &bmp)
 Set wxBitmap in front of the value. More...
 
void SetValueInEvent (wxVariant value) const
 Call this function in OnEvent(), OnButtonClick() etc. More...
 
void SetValueToUnspecified ()
 Sets property's value to unspecified (ie. More...
 
void SetWasModified (bool set=true)
 Call with false in OnSetValue() to cancel value changes after all (ie. More...
 
wxPGPropertyUpdateParentValues ()
 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...
 
void SetValuePlain (wxVariant value)
 Helper for language bindings. 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 wxClassInfoGetClassInfo () const
 This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
 
wxObjectRefDataGetRefData () 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...
 

Static Public Member Functions

static void ArrayStringToString (wxString &dst, const wxArrayString &src, wxUniChar delimiter, int flags)
 Generates contents for string dst based on the contents of wxArrayString src. More...
 

Protected Member Functions

virtual void GenerateValueAsString ()
 
- Protected Member Functions inherited from wxPGProperty
void Empty ()
 Deletes all child properties. More...
 
void SetFlag (wxPGPropertyFlags flag)
 
void ClearFlag (FlagType flag)
 
- Protected Member Functions inherited from wxObject
void AllocExclusive ()
 Ensure that this object's data is not shared with any other object. More...
 
virtual wxObjectRefDataCreateRefData () const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
 
virtual wxObjectRefDataCloneRefData (const wxObjectRefData *data) const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
 

Protected Attributes

wxString m_display
 
wxUniChar m_delimiter
 
- Protected Attributes inherited from wxObject
wxObjectRefDatam_refData
 Pointer to an object which is the object's reference-counted data. More...
 

Additional Inherited Members

- Public Attributes inherited from wxPGProperty
void * m_clientData
 

Member Enumeration Documentation

Enumerator
Escape 
QuoteStrings 

Constructor & Destructor Documentation

wxArrayStringProperty::wxArrayStringProperty ( const wxString label = wxPG_LABEL,
const wxString name = wxPG_LABEL,
const wxArrayString value = wxArrayString() 
)
virtual wxArrayStringProperty::~wxArrayStringProperty ( )
virtual

Member Function Documentation

static void wxArrayStringProperty::ArrayStringToString ( wxString dst,
const wxArrayString src,
wxUniChar  delimiter,
int  flags 
)
static

Generates contents for string dst based on the contents of wxArrayString src.

virtual void wxArrayStringProperty::ConvertArrayToString ( const wxArrayString arr,
wxString pString,
const wxUniChar delimiter 
) const
virtual
virtual wxPGArrayEditorDialog* wxArrayStringProperty::CreateEditorDialog ( )
virtual
virtual bool wxArrayStringProperty::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.

virtual void wxArrayStringProperty::GenerateValueAsString ( )
protectedvirtual
virtual bool wxArrayStringProperty::OnButtonClick ( wxPropertyGrid propgrid,
wxWindow primary,
const wxChar cbt 
)
virtual
virtual bool wxArrayStringProperty::OnCustomStringEdit ( wxWindow parent,
wxString value 
)
virtual
virtual bool wxArrayStringProperty::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
Shouldreturn 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 void wxArrayStringProperty::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 wxPGProperty.

virtual bool wxArrayStringProperty::StringToValue ( wxVariant variant,
const wxString text,
int  argFlags = 0 
) const
virtual

Converts text into wxVariant value appropriate for this property.

Parameters
variantOn function entry this is the old value (should not be wxNullVariant in normal cases). Translated value must be assigned back to it.
textText to be translated into variant.
argFlagsIf 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.

virtual wxString wxArrayStringProperty::ValueToString ( wxVariant value,
int  argFlags = 0 
) const
virtual

Converts property value into a text representation.

Parameters
valueValue to be converted.
argFlagsIf 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

wxUniChar wxArrayStringProperty::m_delimiter
protected
wxString wxArrayStringProperty::m_display
protected