Use enum class to implement wxPGPropValFormatFlags as bitmask

This is for better type safety of the flags.
This commit is contained in:
Artur Wieczorek 2024-01-06 17:26:12 +01:00
parent 031435bd39
commit ca3acd7a03
21 changed files with 1155 additions and 431 deletions

View file

@ -77,7 +77,8 @@ public:
const wxFont& value = wxFont());
virtual ~wxFontProperty();
virtual void OnSetValue();
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual wxVariant ChildChanged( wxVariant& thisValue,
int childIndex,
wxVariant& childValue ) const;
@ -107,26 +108,24 @@ public:
virtual ~wxSystemColourProperty();
virtual void OnSetValue();
virtual bool IntToValue(wxVariant& variant,
int number,
int argFlags = 0) const;
virtual bool IntToValue(wxVariant& variant, int number,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
/**
Override in derived class to customize how colours are printed as
/** Override in derived class to customize how colours are printed as
strings.
*/
virtual wxString ColourToString( const wxColour& col, int index,
int argFlags = 0 ) const;
virtual wxString ColourToString(const wxColour& col, int index,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
/** Returns index of entry that triggers colour picker dialog
(default is last).
*/
virtual int GetCustomColourIndex() const;
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual bool StringToValue( wxVariant& variant,
const wxString& text,
int argFlags = 0 ) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool StringToValue(wxVariant& variant, const wxString& text,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool OnEvent( wxPropertyGrid* propgrid,
wxWindow* primary, wxEvent& event );
virtual bool DoSetAttribute( const wxString& name, wxVariant& value );
@ -134,7 +133,8 @@ public:
virtual void OnCustomPaint( wxDC& dc,
const wxRect& rect, wxPGPaintData& paintdata );
// Helper function to show the colour dialog
/** Helper function to show the colour dialog
*/
bool QueryColourFromUser( wxVariant& variant ) const;
/** Default is to use wxSystemSettings::GetColour(index). Override to use
@ -184,7 +184,8 @@ public:
const wxColour& value = *wxWHITE );
virtual ~wxColourProperty();
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual wxColour GetColour( int index ) const;
protected:
@ -205,6 +206,8 @@ public:
int value = 0 );
virtual ~wxCursorProperty();
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual wxSize OnMeasureImage( int item ) const;
virtual void OnCustomPaint( wxDC& dc,
const wxRect& rect, wxPGPaintData& paintdata );
@ -279,10 +282,10 @@ public:
virtual ~wxMultiChoiceProperty();
virtual void OnSetValue();
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual bool StringToValue(wxVariant& variant,
const wxString& text,
int argFlags = 0) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool StringToValue(wxVariant& variant, const wxString& text,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
wxArrayInt GetValueAsArrayInt() const;
@ -322,10 +325,10 @@ public:
virtual ~wxDateProperty();
virtual void OnSetValue();
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual bool StringToValue(wxVariant& variant,
const wxString& text,
int argFlags = 0) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool StringToValue(wxVariant& variant, const wxString& text,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool DoSetAttribute( const wxString& name, wxVariant& value );

View file

@ -822,12 +822,12 @@ enum class wxPGPropertyFlags : int
}
virtual wxString ValueToString( wxVariant& value,
int argFlags ) const
int flags ) const
{
// TODO: Convert given property value to a string
}
virtual bool StringToValue( wxVariant& variant, const wxString& text, int argFlags )
virtual bool StringToValue( wxVariant& variant, const wxString& text, int flags )
{
// TODO: Adapt string to property value.
}
@ -909,12 +909,12 @@ public:
@param text
Text to be translated into variant.
@param 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).
@param flags
If wxPGPropValFormatFlags::FullValue is set, returns complete, storable value
instead of displayable one (they may be different).
If wxPGPropValFormatFlags::CompositeFragment is set, text is interpreted as
a part of composite property string value (as generated by
ValueToString() called with this same flag).
@return Returns @true if resulting wxVariant value was different.
@ -925,7 +925,8 @@ public:
if property value is unspecified (which is usually only case if
you explicitly enabled that sort behaviour).
*/
virtual bool StringToValue( wxVariant& variant, const wxString& text, int argFlags = 0 ) const;
virtual bool StringToValue(wxVariant& variant, const wxString& text,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
/**
Converts integer (possibly a choice selection) into wxVariant value
@ -936,9 +937,9 @@ public:
in normal cases). Translated value must be assigned back to it.
@param number
Integer to be translated into variant.
@param argFlags
If ::wxPG_FULL_VALUE is set, returns complete, storable value instead
of displayable one.
@param flags
If wxPGPropValFormatFlags::FullValue is set, returns complete, storable value
instead of displayable one.
@return Returns @true if resulting wxVariant value was different.
@ -953,24 +954,25 @@ public:
property value is unspecified (which is usually only case if you
explicitly enabled that sort behaviour).
*/
virtual bool IntToValue( wxVariant& variant, int number, int argFlags = 0 ) const;
virtual bool IntToValue(wxVariant& variant, int number,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
/**
Converts property value into a text representation.
@param value
Value to be converted.
@param 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
@param flags
If wxPGPropValFormatFlags::Null (default value), then displayed string is returned.
If wxPGPropValFormatFlags::FullValue is set, returns complete, storable string value
instead of displayable. If wxPGPropValFormatFlags::EditableValue is set, returns
string value that must be editable in textctrl.
If ::wxPG_COMPOSITE_FRAGMENT is set, returns text that is appropriate to
If wxPGPropValFormatFlags::CompositeFragment is set, returns text that is appropriate to
display as a part of string property's composite text representation.
@remarks Default implementation calls GenerateComposedValue().
*/
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual wxString ValueToString(wxVariant& value, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
/**
Converts string to a value, and if successful, calls SetValue() on it.
@ -979,18 +981,19 @@ public:
@param text
String to get the value from.
@param flags
If ::wxPG_FULL_VALUE is set, the function sets complete, storable
If wxPGPropValFormatFlags::FullValue is set, the function sets complete, storable
value instead of displayable one (they may be different).
::wxPG_PROGRAMMATIC_VALUE flag is used to indicate that value is
wxPGPropValFormatFlags::ProgrammaticValue flag is used to indicate that value is
being set programmatically (i.e. operation is not caused by user
input).
If ::wxPG_REPORT_ERROR is set, a special action should be
If wxPGPropValFormatFlags::ReportError is set, a special action should be
performed if string couldn't have been successfully converted
to the valid value (e.g. a special value can be set in this case).
@return @true if value was changed.
*/
bool SetValueFromString( const wxString& text, int flags = wxPG_PROGRAMMATIC_VALUE );
bool SetValueFromString(const wxString& text,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::ProgrammaticValue);
/**
Converts integer to a value, and if successful, calls SetValue() on it.
@ -999,11 +1002,11 @@ public:
@param value
Int to get the value from.
@param flags
If has ::wxPG_FULL_VALUE, then the value given is an actual value and not an index.
If has wxPGPropValFormatFlags::FullValue, then the value given is an actual value and not an index.
@return @true if value was changed.
*/
bool SetValueFromInt( long value, int flags = 0 );
bool SetValueFromInt(long value, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null);
/**
Returns size of the custom painted image in front of property. This method
@ -1613,12 +1616,12 @@ public:
/** Returns text representation of property's value.
@param 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
@param flags
If wxPGPropValFormatFlags::Null (default value), then displayed string is returned.
If wxPGPropValFormatFlags::FullValue is set, returns complete, storable string value
instead of displayable. If wxPGPropValFormatFlags::EditableValue is set, returns
string value that must be editable in textctrl. If
::wxPG_COMPOSITE_FRAGMENT is set, returns text that is appropriate to
wxPGPropValFormatFlags::CompositeFragment is set, returns text that is appropriate to
display as a part of string property's composite text
representation.
@ -1627,15 +1630,7 @@ public:
now handled by ValueToString(), and overriding this function now
will result in run-time assertion failure.
*/
virtual wxString GetValueAsString( int argFlags = 0 ) const;
/** Synonymous to GetValueAsString().
@deprecated Use GetValueAsString() instead.
@see GetValueAsString()
*/
wxString GetValueString( int argFlags = 0 ) const;
virtual wxString GetValueAsString(wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
/**
Returns value type used by this property.
@ -2923,7 +2918,7 @@ public:
wxPGRootProperty( const wxString& name = wxS("<Root>") );
virtual ~wxPGRootProperty();
virtual bool StringToValue( wxVariant&, const wxString&, int ) const;
virtual bool StringToValue( wxVariant&, const wxString&, wxPGPropValFormatFlags ) const;
};
// -----------------------------------------------------------------------
@ -2942,10 +2937,10 @@ public:
wxPropertyCategory( const wxString& label,
const wxString& name = wxPG_LABEL );
~wxPropertyCategory();
virtual ~wxPropertyCategory();
int GetTextExtent( const wxWindow* wnd, const wxFont& font ) const;
virtual wxString ValueToString( wxVariant& value, int argFlags ) const;
virtual wxString GetValueAsString( int argFlags = 0 ) const;
virtual wxString ValueToString(wxVariant& value, wxPGPropValFormatFlags flags) const;
virtual wxString GetValueAsString(wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
};

View file

@ -851,9 +851,9 @@ public:
Returns (visual) text representation of the unspecified
property value.
@param argFlags For internal use only.
@param flags For internal use only.
*/
wxString GetUnspecifiedValueText( int argFlags = 0 ) const;
wxString GetUnspecifiedValueText(wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
/**
Returns current vertical spacing.

View file

@ -105,52 +105,57 @@ enum class wxPGPropertyValuesFlags : int
// -----------------------------------------------------------------------
/** Misc argument flags.
/** Miscellaneous property value format flags.
*/
enum wxPG_MISC_ARG_FLAGS
enum class wxPGPropValFormatFlags : int
{
/** No flags.
@hideinitializer
*/
Null = 0,
/** Get/Store full value instead of displayed value.
@hideinitializer
*/
wxPG_FULL_VALUE = 0x00000001,
FullValue = 0x00000001,
/** Perform special action in case of unsuccessful conversion.
@hideinitializer
*/
wxPG_REPORT_ERROR = 0x00000002,
ReportError = 0x00000002,
/**
@hideinitializer
*/
wxPG_PROPERTY_SPECIFIC = 0x00000004,
PropertySpecific = 0x00000004,
/** Get/Store editable value instead of displayed one (should only be
different in the case of common values).
@hideinitializer
*/
wxPG_EDITABLE_VALUE = 0x00000008,
EditableValue = 0x00000008,
/** Used when dealing with fragments of composite string value
@hideinitializer
*/
wxPG_COMPOSITE_FRAGMENT = 0x00000010,
CompositeFragment = 0x00000010,
/** Means property for which final string value is for cannot really be
edited.
@hideinitializer
*/
wxPG_UNEDITABLE_COMPOSITE_FRAGMENT = 0x00000020,
UneditableCompositeFragment = 0x00000020,
/** wxPGProperty::ValueToString() called from wxPGProperty::GetValueAsString()
(guarantees that input wxVariant value is current own value)
@hideinitializer
*/
wxPG_VALUE_IS_CURRENT = 0x00000040,
ValueIsCurrent = 0x00000040,
/** Value is being set programmatically (i.e. not by user)
@hideinitializer
*/
wxPG_PROGRAMMATIC_VALUE = 0x00000080
ProgrammaticValue = 0x00000080
};
// -----------------------------------------------------------------------

View file

@ -844,7 +844,7 @@ public:
Text identifier of attribute. See @ref propgrid_property_attributes.
@param value
Value of attribute.
@param argFlags
@param flags
Optional.
Use wxPGPropertyValuesFlags::Recurse to set the attribute to child
properties recursively.
@ -855,7 +855,7 @@ public:
- Property is refreshed with new settings.
*/
void SetPropertyAttribute(wxPGPropArg id, const wxString& attrName, wxVariant value,
wxPGPropertyValuesFlags argFlags = wxPGPropertyValuesFlags::DontRecurse);
wxPGPropertyValuesFlags flags = wxPGPropertyValuesFlags::DontRecurse);
/**
Sets property attribute for all applicable properties.

View file

@ -48,10 +48,10 @@ public:
const wxString& value = wxString() );
virtual ~wxStringProperty();
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual bool StringToValue( wxVariant& variant,
const wxString& text,
int argFlags = 0 ) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool StringToValue(wxVariant& variant, const wxString& text,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool DoSetAttribute( const wxString& name, wxVariant& value );
@ -215,15 +215,14 @@ public:
wxIntProperty( const wxString& label,
const wxString& name,
const wxLongLong& value );
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual bool StringToValue( wxVariant& variant,
const wxString& text,
int argFlags = 0 ) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool StringToValue(wxVariant& variant, const wxString& text,
wxPGPropValFormatFlagsflags = wxPGPropValFormatFlags::Null) const;
virtual bool ValidateValue( wxVariant& value,
wxPGValidationInfo& validationInfo ) const;
virtual bool IntToValue( wxVariant& variant,
int number,
int argFlags = 0 ) const;
virtual bool IntToValue(wxVariant& variant, int number,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
static wxValidator* GetClassValidator();
virtual wxValidator* DoGetValidator() const;
virtual wxVariant AddSpinStepValue(long stepScale) const;
@ -260,17 +259,16 @@ public:
wxUIntProperty( const wxString& label,
const wxString& name,
const wxULongLong& value );
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual bool StringToValue( wxVariant& variant,
const wxString& text,
int argFlags = 0 ) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool StringToValue(wxVariant& variant, const wxString& text,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool DoSetAttribute( const wxString& name, wxVariant& value );
virtual bool ValidateValue( wxVariant& value,
wxPGValidationInfo& validationInfo ) const;
virtual wxValidator* DoGetValidator () const;
virtual bool IntToValue( wxVariant& variant,
int number,
int argFlags = 0 ) const;
virtual bool IntToValue(wxVariant& variant, int number,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual wxVariant AddSpinStepValue(long stepScale) const;
protected:
@ -299,10 +297,10 @@ public:
double value = 0.0 );
virtual ~wxFloatProperty();
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual bool StringToValue( wxVariant& variant,
const wxString& text,
int argFlags = 0 ) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool StringToValue(wxVariant& variant, const wxString& text,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool DoSetAttribute( const wxString& name, wxVariant& value );
virtual bool ValidateValue( wxVariant& value,
wxPGValidationInfo& validationInfo ) const;
@ -335,12 +333,12 @@ public:
bool value = false );
virtual ~wxBoolProperty();
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual bool StringToValue( wxVariant& variant,
const wxString& text,
int argFlags = 0 ) const;
virtual bool IntToValue( wxVariant& variant,
int number, int argFlags = 0 ) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool StringToValue(wxVariant& variant, const wxString& text,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool IntToValue(wxVariant& variant, int number,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool DoSetAttribute( const wxString& name, wxVariant& value );
};
@ -389,18 +387,18 @@ public:
size_t GetItemCount() const;
virtual void OnSetValue();
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual bool StringToValue( wxVariant& variant,
const wxString& text,
int argFlags = 0 ) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool StringToValue(wxVariant& variant, const wxString& text,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool ValidateValue( wxVariant& value,
wxPGValidationInfo& validationInfo ) const;
// If wxPG_FULL_VALUE is not set in flags, then the value is interpreted
// as index to choices list. Otherwise, it is actual value.
virtual bool IntToValue( wxVariant& variant,
int number,
int argFlags = 0 ) const;
/** If wxPGPropValFormatFlags::FullValue is not set in flags, then the value is interpreted
as index to choices list. Otherwise, it is actual value.
*/
virtual bool IntToValue(wxVariant& variant, int number,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
//
// Additional virtuals
@ -418,13 +416,10 @@ protected:
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;
static void ResetNextIndex();
bool ValueFromString_(wxVariant& value, int* pIndex, const wxString& text,
wxPGPropValFormatFlags flags) const;
bool ValueFromInt_(wxVariant& value, int* pIndex, int intVal,
wxPGPropValFormatFlags flags) const;
};
@ -468,6 +463,11 @@ public:
virtual ~wxEditEnumProperty();
void OnSetValue() override;
bool StringToValue(wxVariant& variant, const wxString& text,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
bool ValidateValue(wxVariant& value,
wxPGValidationInfo& validationInfo) const;
};
@ -506,10 +506,10 @@ public:
virtual ~wxFlagsProperty ();
virtual void OnSetValue();
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual bool StringToValue( wxVariant& variant,
const wxString& text,
int flags ) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool StringToValue(wxVariant& variant, const wxString& text,
wxPGPropValFormatFlags flags) const;
virtual wxVariant ChildChanged( wxVariant& thisValue,
int childIndex,
wxVariant& childValue ) const;
@ -602,10 +602,10 @@ public:
virtual ~wxFileProperty ();
virtual void OnSetValue();
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual bool StringToValue( wxVariant& variant,
const wxString& text,
int argFlags = 0 ) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool StringToValue(wxVariant& variant, const wxString& text,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool DoSetAttribute( const wxString& name, wxVariant& value );
static wxValidator* GetClassValidator();
@ -643,10 +643,10 @@ public:
const wxString& value = wxString() );
virtual ~wxLongStringProperty();
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual bool StringToValue( wxVariant& variant,
const wxString& text,
int argFlags = 0 ) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool StringToValue(wxVariant& variant, const wxString& text,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
protected:
virtual bool DisplayEditorDialog(wxPropertyGrid* pg, wxVariant& value);
@ -669,9 +669,10 @@ public:
const wxString& value = wxString() );
virtual ~wxDirProperty();
virtual wxString ValueToString(wxVariant& value, int argFlags = 0) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool StringToValue(wxVariant& variant, const wxString& text,
int argFlags = 0) const;
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual wxValidator* DoGetValidator() const;
protected:
@ -696,10 +697,10 @@ public:
virtual ~wxArrayStringProperty();
virtual void OnSetValue();
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual bool StringToValue( wxVariant& variant,
const wxString& text,
int argFlags = 0 ) const;
virtual wxString ValueToString(wxVariant& value,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool StringToValue(wxVariant& variant, const wxString& text,
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
virtual bool DoSetAttribute( const wxString& name, wxVariant& value );
/**