| Version: 3.2.8

Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
wxFileProperty Class Reference

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

Inheritance diagram for wxFileProperty:
[legend]

## Detailed Description

Like wxLongStringProperty, but the button triggers file selector instead.

Supported special attributes:

- wxPG_DIALOG_TITLE: Sets a specific title for the file dialog (since 3.1.3).
- wxPG_FILE_DIALOG_STYLE: Sets a specific wxFileDialog style for the file dialog (since 2.9.4).
- wxPG_FILE_WILDCARD: Sets wildcard (see wxFileDialog for format details), "All files..." is default.
- wxPG_FILE_SHOW_FULL_PATH: Default true. When false, only the file name is shown (i.e. drive and directory are hidden).
- wxPG_FILE_SHOW_RELATIVE_PATH: If set, then the filename is shown relative to the given path string.
- wxPG_FILE_INITIAL_PATH: Sets the initial path of where to look for files.

## Public Member Functions
| wxFileProperty (const wxString &label=wxPG_LABEL, const wxString &name=wxPG_LABEL, const wxString &value=wxEmptyString)
virtual | ~wxFileProperty ()
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 | DoSetAttribute (const wxString &name, wxVariant &value)
| Reimplement this member function to add special handling for attributes of this property. 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...
wxFileName | GetFileName () const
| Returns filename to file represented by current value. More...
Public Member Functions inherited from wxEditorDialogProperty
virtual | ~wxEditorDialogProperty ()
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...
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...
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=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 wxSize | OnMeasureImage (int item=-1) const
| Returns size of the custom painted image in front of property. More...
virtual bool | OnEvent (wxPropertyGrid *propgrid, wxWindow *wnd_primary, wxEvent &event)
| Events received by editor widgets are processed here. 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 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 wxPGCellRenderer * | GetCellRenderer (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 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...

## Static Public Member Functions
static wxValidator * | GetClassValidator ()

## Protected Member Functions
virtual bool | DisplayEditorDialog (wxPropertyGrid *pg, wxVariant &value)
| Shows editor dialog. More...
Protected Member Functions inherited from wxEditorDialogProperty
| wxEditorDialogProperty (const wxString &label, const wxString &name)
| Constructor is protected because wxEditorDialogProperty is only the base class for other property classes. More...
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...

## Protected Attributes
wxString | m_wildcard
wxString | m_basePath
wxString | m_initialPath
int | m_indFilter
Protected Attributes inherited from wxEditorDialogProperty
wxString | m_dlgTitle
long | m_dlgStyle
Protected Attributes inherited from wxObject
wxObjectRefData * | m_refData
| Pointer to an object which is the object's reference-counted 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...

## Constructor & Destructor Documentation

## ◆ wxFileProperty()

wxFileProperty::wxFileProperty | ( | const wxString & | label = `wxPG_LABEL`,
|  | const wxString & | name = `wxPG_LABEL`,
|  | const wxString & | value = `wxEmptyString`
| ) |  |

## ◆ ~wxFileProperty()

virtual wxFileProperty::~wxFileProperty | ( |  | ) |
| virtual

## Member Function Documentation

## ◆ DisplayEditorDialog()

virtual bool wxFileProperty::DisplayEditorDialog | ( | wxPropertyGrid * | pg,
|  | wxVariant & | value
| ) |  |
| protected virtual

Shows editor dialog.

Value to be edited should be read from value, and if dialog is not cancelled, it should be stored back and true should be returned.

Parameters

  value | Value to be edited.
  pg | Property grid in which property is displayed.

Returns
  Returns true if editor dialog was not cancelled and value was updated.

Implements wxEditorDialogProperty.

## ◆ DoGetValidator()

virtual wxValidator* wxFileProperty::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)
}
wxValidator
wxValidator is the base class for a family of validator classes that mediate between a class of contr...
Definition: validate.h:38

Remarks
  You can get common filename validator by returning wxFileProperty::GetClassValidator(). wxDirProperty, for example, uses it.

Reimplemented from wxPGProperty.

## ◆ DoSetAttribute()

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

## ◆ GetClassValidator()

static wxValidator* wxFileProperty::GetClassValidator | ( |  | ) |
| static

## ◆ GetFileName()

wxFileName wxFileProperty::GetFileName | ( |  | ) | const

Returns filename to file represented by current value.

## ◆ OnSetValue()

virtual void wxFileProperty::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 wxPGProperty.

Reimplemented in wxImageFileProperty.

## ◆ StringToValue()

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

## ◆ ValueToString()

virtual wxString wxFileProperty::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 wxPGProperty.

## Member Data Documentation

## ◆ m_basePath

wxString wxFileProperty::m_basePath
| protected

## ◆ m_indFilter

int wxFileProperty::m_indFilter
| protected

## ◆ m_initialPath

wxString wxFileProperty::m_initialPath
| protected

## ◆ m_wildcard

wxString wxFileProperty::m_wildcard
| protected