diff --git a/include/wx/propgrid/property.h b/include/wx/propgrid/property.h
index 2424cf48b3..35b4451a2c 100644
--- a/include/wx/propgrid/property.h
+++ b/include/wx/propgrid/property.h
@@ -22,28 +22,21 @@
#define wxNullProperty ((wxPGProperty*)NULL)
-/** @class wxPGPaintData
-
- Contains information relayed to property's OnCustomPaint.
-*/
+// Contains information relayed to property's OnCustomPaint.
struct wxPGPaintData
{
- /** wxPropertyGrid. */
+ // wxPropertyGrid
const wxPropertyGrid* m_parent;
- /**
- Normally -1, otherwise index to drop-down list item that has to be
- drawn.
- */
+ // Normally -1, otherwise index to drop-down list item
+ // that has to be drawn.
int m_choiceItem;
- /** Set to drawn width in OnCustomPaint (optional). */
+ // Set to drawn width in OnCustomPaint (optional).
int m_drawnWidth;
- /**
- In a measure item call, set this to the height of item at m_choiceItem
- index.
- */
+ // In a measure item call, set this to the height of item
+ // at m_choiceItem index.
int m_drawnHeight;
};
@@ -203,11 +196,7 @@ protected:
};
-/**
- @class wxPGCell
-
- Base class for wxPropertyGrid cell information.
-*/
+// Base class for wxPropertyGrid cell information.
class WXDLLIMPEXP_PROPGRID wxPGCell : public wxObject
{
public:
@@ -239,31 +228,24 @@ public:
return (m_refData && GetData()->m_hasValidText);
}
- /**
- Sets empty but valid data to this cell object.
- */
+ // Sets empty but valid data to this cell object.
void SetEmptyData();
- /**
- Merges valid data from srcCell into this.
- */
+ // Merges valid data from srcCell into this.
void MergeFrom( const wxPGCell& srcCell );
void SetText( const wxString& text );
void SetBitmap( const wxBitmap& bitmap );
void SetFgCol( const wxColour& col );
- /**
- Sets font of the cell.
-
- @remarks Because wxPropertyGrid does not support rows of
- different height, it makes little sense to change
- size of the font. Therefore it is recommended
- to use return value of wxPropertyGrid::GetFont()
- or wxPropertyGrid::GetCaptionFont() as a basis
- for the font that, after modifications, is passed
- to this member function.
- */
+ // Sets font of the cell.
+ // Because wxPropertyGrid does not support rows of
+ // different height, it makes little sense to change
+ // size of the font. Therefore it is recommended
+ // to use return value of wxPropertyGrid::GetFont()
+ // or wxPropertyGrid::GetCaptionFont() as a basis
+ // for the font that, after modifications, is passed
+ // to this member function.
void SetFont( const wxFont& font );
void SetBgCol( const wxColour& col );
@@ -272,10 +254,8 @@ public:
const wxBitmap& GetBitmap() const { return GetData()->m_bitmap; }
const wxColour& GetFgCol() const { return GetData()->m_fgCol; }
- /**
- Returns font of the cell. If no specific font is set for this
- cell, then the font will be invalid.
- */
+ // Returns font of the cell. If no specific font is set for this
+ // cell, then the font will be invalid.
const wxFont& GetFont() const { return GetData()->m_font; }
const wxColour& GetBgCol() const { return GetData()->m_bgCol; }
@@ -305,11 +285,8 @@ private:
// -----------------------------------------------------------------------
-/** @class wxPGAttributeStorage
-
- wxPGAttributeStorage is somewhat optimized storage for
- key=variant pairs (ie. a map).
-*/
+// wxPGAttributeStorage is somewhat optimized storage for
+// key=variant pairs (ie. a map).
class WXDLLIMPEXP_PROPGRID wxPGAttributeStorage
{
public:
@@ -355,356 +332,260 @@ protected:
// -----------------------------------------------------------------------
-/** @section propgrid_propflags wxPGProperty Flags
- @{
-*/
-
enum wxPGPropertyFlags
{
-/** Indicates bold font.
-*/
+// Indicates bold font.
wxPG_PROP_MODIFIED = 0x0001,
-/** Disables ('greyed' text and editor does not activate) property.
-*/
+// Disables ('greyed' text and editor does not activate) property.
wxPG_PROP_DISABLED = 0x0002,
-/** Hider button will hide this property.
-*/
+// Hider button will hide this property.
wxPG_PROP_HIDDEN = 0x0004,
-/** This property has custom paint image just in front of its value.
- If property only draws custom images into a popup list, then this
- flag should not be set.
-*/
+// This property has custom paint image just in front of its value.
+// If property only draws custom images into a popup list, then this
+// flag should not be set.
wxPG_PROP_CUSTOMIMAGE = 0x0008,
-/** Do not create text based editor for this property (but button-triggered
- dialog and choice are ok).
-*/
+// Do not create text based editor for this property (but button-triggered
+// dialog and choice are ok).
wxPG_PROP_NOEDITOR = 0x0010,
-/** Property is collapsed, ie. it's children are hidden.
-*/
+// Property is collapsed, ie. it's children are hidden.
wxPG_PROP_COLLAPSED = 0x0020,
-/**
- If property is selected, then indicates that validation failed for pending
- value.
-
- If property is not selected, that indicates that the actual property
- value has failed validation (NB: this behaviour is not currently supported,
- but may be used in future).
-*/
+// If property is selected, then indicates that validation failed for pending
+// value.
+// If property is not selected, that indicates that the actual property
+// value has failed validation (NB: this behaviour is not currently supported,
+// but may be used in future).
wxPG_PROP_INVALID_VALUE = 0x0040,
// 0x0080,
-/** Switched via SetWasModified(). Temporary flag - only used when
- setting/changing property value.
-*/
+// Switched via SetWasModified(). Temporary flag - only used when
+// setting/changing property value.
wxPG_PROP_WAS_MODIFIED = 0x0200,
-/**
- If set, then child properties (if any) are private, and should be
- "invisible" to the application.
-*/
+// If set, then child properties (if any) are private, and should be
+// "invisible" to the application.
wxPG_PROP_AGGREGATE = 0x0400,
-/** If set, then child properties (if any) are copies and should not
- be deleted in dtor.
-*/
+// If set, then child properties (if any) are copies and should not
+// be deleted in dtor.
wxPG_PROP_CHILDREN_ARE_COPIES = 0x0800,
-/**
- Classifies this item as a non-category.
-
- Used for faster item type identification.
-*/
+// Classifies this item as a non-category.
+// Used for faster item type identification.
wxPG_PROP_PROPERTY = 0x1000,
-/**
- Classifies this item as a category.
-
- Used for faster item type identification.
-*/
+// Classifies this item as a category.
+// Used for faster item type identification.
wxPG_PROP_CATEGORY = 0x2000,
-/** Classifies this item as a property that has children, but is not aggregate
- (ie children are not private).
-*/
+// Classifies this item as a property that has children,
+//but is not aggregate (i.e. children are not private).
wxPG_PROP_MISC_PARENT = 0x4000,
-/** Property is read-only. Editor is still created for wxTextCtrl-based
- property editors. For others, editor is not usually created because
- they do implement wxTE_READONLY style or equivalent.
-*/
+// Property is read-only. Editor is still created for wxTextCtrl-based
+// property editors. For others, editor is not usually created because
+// they do implement wxTE_READONLY style or equivalent.
wxPG_PROP_READONLY = 0x8000,
//
// NB: FLAGS ABOVE 0x8000 CANNOT BE USED WITH PROPERTY ITERATORS
//
-/** Property's value is composed from values of child properties.
- @remarks
- This flag cannot be used with property iterators.
-*/
+// Property's value is composed from values of child properties.
+// This flag cannot be used with property iterators.
wxPG_PROP_COMPOSED_VALUE = 0x00010000,
-/** Common value of property is selectable in editor.
- @remarks
- This flag cannot be used with property iterators.
-*/
+// Common value of property is selectable in editor.
+// This flag cannot be used with property iterators.
wxPG_PROP_USES_COMMON_VALUE = 0x00020000,
-/** Property can be set to unspecified value via editor.
- Currently, this applies to following properties:
- - wxIntProperty, wxUIntProperty, wxFloatProperty, wxEditEnumProperty:
- Clear the text field
-
- @remarks
- This flag cannot be used with property iterators.
-
- @see wxPGProperty::SetAutoUnspecified()
-*/
+// Property can be set to unspecified value via editor.
+// Currently, this applies to following properties:
+// - wxIntProperty, wxUIntProperty, wxFloatProperty, wxEditEnumProperty:
+// Clear the text field
+// This flag cannot be used with property iterators.
+// See wxPGProperty::SetAutoUnspecified().
wxPG_PROP_AUTO_UNSPECIFIED = 0x00040000,
-/** Indicates the bit useable by derived properties.
-*/
+// Indicates the bit useable by derived properties.
wxPG_PROP_CLASS_SPECIFIC_1 = 0x00080000,
-/** Indicates the bit useable by derived properties.
-*/
+// Indicates the bit useable by derived properties.
wxPG_PROP_CLASS_SPECIFIC_2 = 0x00100000,
-/** Indicates that the property is being deleted and should be ignored.
-*/
+// Indicates that the property is being deleted and should be ignored.
wxPG_PROP_BEING_DELETED = 0x00200000,
-/** Indicates the bit useable by derived properties.
-*/
+// Indicates the bit useable by derived properties.
wxPG_PROP_CLASS_SPECIFIC_3 = 0x00400000
};
-/** Topmost flag.
-*/
+// Topmost flag.
#define wxPG_PROP_MAX wxPG_PROP_AUTO_UNSPECIFIED
-/** Property with children must have one of these set, otherwise iterators
- will not work correctly.
- Code should automatically take care of this, however.
-*/
+// Property with children must have one of these set, otherwise iterators
+// will not work correctly.
+// Code should automatically take care of this, however.
#define wxPG_PROP_PARENTAL_FLAGS \
((wxPGPropertyFlags)(wxPG_PROP_AGGREGATE | \
wxPG_PROP_CATEGORY | \
wxPG_PROP_MISC_PARENT))
-/** @}
-*/
-
// Combination of flags that can be stored by GetFlagsAsString
#define wxPG_STRING_STORED_FLAGS \
(wxPG_PROP_DISABLED|wxPG_PROP_HIDDEN|wxPG_PROP_NOEDITOR|wxPG_PROP_COLLAPSED)
// -----------------------------------------------------------------------
-/**
- @section propgrid_property_attributes wxPropertyGrid Property Attribute
- Identifiers.
+// wxPGProperty::SetAttribute() and
+// wxPropertyGridInterface::SetPropertyAttribute() accept one of these as
+// attribute name argument.
+// You can use strings instead of constants. However, some of these
+// constants are redefined to use cached strings which may reduce
+// your binary size by some amount.
- wxPGProperty::SetAttribute() and
- wxPropertyGridInterface::SetPropertyAttribute() accept one of these as
- attribute name argument.
-
- You can use strings instead of constants. However, some of these
- constants are redefined to use cached strings which may reduce
- your binary size by some amount.
-
- @{
-*/
-
-/** Set default value for property.
-*/
+// Set default value for property.
#define wxPG_ATTR_DEFAULT_VALUE wxS("DefaultValue")
-/** Universal, int or double. Minimum value for numeric properties.
-*/
+// Universal, int or double. Minimum value for numeric properties.
#define wxPG_ATTR_MIN wxS("Min")
-/** Universal, int or double. Maximum value for numeric properties.
-*/
+// Universal, int or double. Maximum value for numeric properties.
#define wxPG_ATTR_MAX wxS("Max")
-/** Universal, string. When set, will be shown as text after the displayed
- text value. Alternatively, if third column is enabled, text will be shown
- there (for any type of property).
-*/
+// Universal, string. When set, will be shown as text after the displayed
+// text value. Alternatively, if third column is enabled, text will be shown
+// there (for any type of property).
#define wxPG_ATTR_UNITS wxS("Units")
-/** When set, will be shown as 'greyed' text in property's value cell when
- the actual displayed value is blank.
-*/
+// When set, will be shown as 'greyed' text in property's value cell when
+// the actual displayed value is blank.
#define wxPG_ATTR_HINT wxS("Hint")
#if wxPG_COMPATIBILITY_1_4
-/**
- @deprecated Use "Hint" (wxPG_ATTR_HINT) instead.
-*/
+// Ddeprecated. Use "Hint" (wxPG_ATTR_HINT) instead.
#define wxPG_ATTR_INLINE_HELP wxS("InlineHelp")
#endif
-/** Universal, wxArrayString. Set to enable auto-completion in any
- wxTextCtrl-based property editor.
-*/
+// Universal, wxArrayString. Set to enable auto-completion in any
+// wxTextCtrl-based property editor.
#define wxPG_ATTR_AUTOCOMPLETE wxS("AutoComplete")
-/** wxBoolProperty and wxFlagsProperty specific. Value type is bool.
- Default value is False.
-
- When set to True, bool property will use check box instead of a
- combo box as its editor control. If you set this attribute
- for a wxFlagsProperty, it is automatically applied to child
- bool properties.
-*/
+// wxBoolProperty and wxFlagsProperty specific. Value type is bool.
+// Default value is False.
+// When set to True, bool property will use check box instead of a
+// combo box as its editor control. If you set this attribute
+// for a wxFlagsProperty, it is automatically applied to child
+// bool properties.
#define wxPG_BOOL_USE_CHECKBOX wxS("UseCheckbox")
-/** wxBoolProperty and wxFlagsProperty specific. Value type is bool.
- Default value is False.
-
- Set to True for the bool property to cycle value on double click
- (instead of showing the popup listbox). If you set this attribute
- for a wxFlagsProperty, it is automatically applied to child
- bool properties.
-*/
+// wxBoolProperty and wxFlagsProperty specific. Value type is bool.
+// Default value is False.
+// Set to True for the bool property to cycle value on double click
+// (instead of showing the popup listbox). If you set this attribute
+// for a wxFlagsProperty, it is automatically applied to child
+// bool properties.
#define wxPG_BOOL_USE_DOUBLE_CLICK_CYCLING wxS("UseDClickCycling")
-/**
- wxFloatProperty (and similar) specific, int, default -1.
-
- Sets the (max) precision used when floating point value is rendered as
- text. The default -1 means infinite precision.
-*/
+// wxFloatProperty (and similar) specific, int, default -1.
+// Sets the (max) precision used when floating point value is rendered as
+// text. The default -1 means infinite precision.
#define wxPG_FLOAT_PRECISION wxS("Precision")
-/**
- The text will be echoed as asterisks (wxTE_PASSWORD will be passed to
- textctrl etc.).
-*/
+// The text will be echoed as asterisks (wxTE_PASSWORD will be passed
+// to textctrl etc.).
#define wxPG_STRING_PASSWORD wxS("Password")
-/** Define base used by a wxUIntProperty. Valid constants are
- wxPG_BASE_OCT, wxPG_BASE_DEC, wxPG_BASE_HEX and wxPG_BASE_HEXL
- (lowercase characters).
-*/
+// Define base used by a wxUIntProperty. Valid constants are
+// wxPG_BASE_OCT, wxPG_BASE_DEC, wxPG_BASE_HEX and wxPG_BASE_HEXL
+// (lowercase characters).
#define wxPG_UINT_BASE wxS("Base")
-/** Define prefix rendered to wxUIntProperty. Accepted constants
- wxPG_PREFIX_NONE, wxPG_PREFIX_0x, and wxPG_PREFIX_DOLLAR_SIGN.
- Note: Only wxPG_PREFIX_NONE works with Decimal and Octal
- numbers.
-*/
+// Define prefix rendered to wxUIntProperty. Accepted constants
+// wxPG_PREFIX_NONE, wxPG_PREFIX_0x, and wxPG_PREFIX_DOLLAR_SIGN.
+// Note:
+// Only wxPG_PREFIX_NONE works with Decimal and Octal numbers.
#define wxPG_UINT_PREFIX wxS("Prefix")
-/**
- wxFileProperty/wxImageFileProperty specific, wxChar*, default is
- detected/varies.
- Sets the wildcard used in the triggered wxFileDialog. Format is the same.
-*/
+// wxFileProperty/wxImageFileProperty specific, wxChar*, default is
+// detected/varies.
+// Sets the wildcard used in the triggered wxFileDialog. Format is the same.
#define wxPG_FILE_WILDCARD wxS("Wildcard")
-/** wxFileProperty/wxImageFileProperty specific, int, default 1.
- When 0, only the file name is shown (i.e. drive and directory are hidden).
-*/
+// wxFileProperty/wxImageFileProperty specific, int, default 1.
+// When 0, only the file name is shown (i.e. drive and directory are hidden).
#define wxPG_FILE_SHOW_FULL_PATH wxS("ShowFullPath")
-/** Specific to wxFileProperty and derived properties, wxString, default empty.
- If set, then the filename is shown relative to the given path string.
-*/
+// Specific to wxFileProperty and derived properties, wxString, default empty.
+// If set, then the filename is shown relative to the given path string.
#define wxPG_FILE_SHOW_RELATIVE_PATH wxS("ShowRelativePath")
-/**
- Specific to wxFileProperty and derived properties, wxString, default is
- empty.
-
- Sets the initial path of where to look for files.
-*/
+// Specific to wxFileProperty and derived properties, wxString,
+// default is empty.
+// Sets the initial path of where to look for files.
#define wxPG_FILE_INITIAL_PATH wxS("InitialPath")
-/** Specific to wxFileProperty and derivatives, wxString, default is empty.
- Sets a specific title for the dir dialog.
-*/
+// Specific to wxFileProperty and derivatives, wxString, default is empty.
+// Sets a specific title for the dir dialog.
#define wxPG_FILE_DIALOG_TITLE wxS("DialogTitle")
-/** Specific to wxFileProperty and derivatives, long, default is 0.
- Sets a specific wxFileDialog style for the file dialog.
-*/
+// Specific to wxFileProperty and derivatives, long, default is 0.
+// Sets a specific wxFileDialog style for the file dialog, e.g. ::wxFD_SAVE.
#define wxPG_FILE_DIALOG_STYLE wxS("DialogStyle")
-/** Specific to wxDirProperty, wxString, default is empty.
- Sets a specific message for the dir dialog.
-*/
+// Specific to wxDirProperty, wxString, default is empty.
+// Sets a specific message for the dir dialog.
#define wxPG_DIR_DIALOG_MESSAGE wxS("DialogMessage")
-/**
- wxArrayStringProperty's string delimiter character. If this is a quotation
- mark or hyphen, then strings will be quoted instead (with given
- character).
-
- Default delimiter is quotation mark.
-*/
+// wxArrayStringProperty's string delimiter character. If this is
+// a quotation mark or hyphen, then strings will be quoted instead
+// (with given character).
+// Default delimiter is quotation mark.
#define wxPG_ARRAY_DELIMITER wxS("Delimiter")
-/** Sets displayed date format for wxDateProperty.
-*/
+// Sets displayed date format for wxDateProperty.
#define wxPG_DATE_FORMAT wxS("DateFormat")
-/** Sets wxDatePickerCtrl window style used with wxDateProperty. Default
- is wxDP_DEFAULT | wxDP_SHOWCENTURY.
-*/
+// Sets wxDatePickerCtrl window style used with wxDateProperty. Default
+// is wxDP_DEFAULT | wxDP_SHOWCENTURY. Using wxDP_ALLOWNONE will enable
+// better unspecified value support in the editor
#define wxPG_DATE_PICKER_STYLE wxS("PickerStyle")
#if wxUSE_SPINBTN
-/** SpinCtrl editor, int or double. How much number changes when button is
- pressed (or up/down on keyboard).
-*/
+// SpinCtrl editor, int or double. How much number changes when button is
+// pressed (or up/down on keyboard).
#define wxPG_ATTR_SPINCTRL_STEP wxS("Step")
-/** SpinCtrl editor, bool. If true, value wraps at Min/Max.
-*/
+// SpinCtrl editor, bool. If true, value wraps at Min/Max.
#define wxPG_ATTR_SPINCTRL_WRAP wxS("Wrap")
-/** SpinCtrl editor, bool. If true, moving mouse when one of the spin
- buttons is depressed rapidly changing "spin" value.
-*/
+// SpinCtrl editor, bool. If true, moving mouse when one of the spin
+// buttons is depressed rapidly changing "spin" value.
#define wxPG_ATTR_SPINCTRL_MOTION wxS("MotionSpin")
#endif // wxUSE_SPINBTN
-/**
- wxMultiChoiceProperty, int.
- If 0, no user strings allowed. If 1, user strings appear before list
- strings. If 2, user strings appear after list string.
-*/
+// wxMultiChoiceProperty, int.
+// If 0, no user strings allowed. If 1, user strings appear before list
+// strings. If 2, user strings appear after list string.
#define wxPG_ATTR_MULTICHOICE_USERSTRINGMODE wxS("UserStringMode")
-/**
- wxColourProperty and its kind, int, default 1.
-
- Setting this attribute to 0 hides custom colour from property's list of
- choices.
-*/
+// wxColourProperty and its kind, int, default 1.
+// Setting this attribute to 0 hides custom colour from property's list of
+// choices.
#define wxPG_COLOUR_ALLOW_CUSTOM wxS("AllowCustom")
-/**
- wxColourProperty and its kind: Set to True in order to support editing
- alpha colour component.
-*/
+// wxColourProperty and its kind: Set to True in order to support editing
+// alpha colour component.
#define wxPG_COLOUR_HAS_ALPHA wxS("HasAlpha")
-/** @}
-*/
-
// Redefine attribute macros to use cached strings
#undef wxPG_ATTR_DEFAULT_VALUE
#define wxPG_ATTR_DEFAULT_VALUE wxPGGlobalVars->m_strDefaultValue
@@ -723,9 +604,7 @@ wxPG_PROP_CLASS_SPECIFIC_3 = 0x00400000
// -----------------------------------------------------------------------
-/** @class wxPGChoiceEntry
- Data of a single wxPGChoices choice.
-*/
+// Data of a single wxPGChoices choice.
class WXDLLIMPEXP_PROPGRID wxPGChoiceEntry : public wxPGCell
{
public:
@@ -804,37 +683,27 @@ private:
#define wxPGChoicesEmptyData ((wxPGChoicesData*)NULL)
-/** @class wxPGChoices
-
- Helper class for managing choices of wxPropertyGrid properties.
- Each entry can have label, value, bitmap, text colour, and background
- colour.
-
- wxPGChoices uses reference counting, similar to other wxWidgets classes.
- This means that assignment operator and copy constructor only copy the
- reference and not the actual data. Use Copy() member function to create a
- real copy.
-
- @remarks If you do not specify value for entry, index is used.
-
- @library{wxpropgrid}
- @category{propgrid}
-*/
+// Helper class for managing choices of wxPropertyGrid properties.
+// Each entry can have label, value, bitmap, text colour, and background
+// colour.
+// wxPGChoices uses reference counting, similar to other wxWidgets classes.
+// This means that assignment operator and copy constructor only copy the
+// reference and not the actual data. Use Copy() member function to create
+// a real copy.
+// If you do not specify value for entry, index is used.
class WXDLLIMPEXP_PROPGRID wxPGChoices
{
public:
typedef long ValArrItem;
- /** Default constructor. */
+ // Default constructor.
wxPGChoices()
{
Init();
}
- /**
- Copy constructor, uses reference counting. To create a real copy,
- use Copy() member function instead.
- */
+ // Copy constructor, uses reference counting. To create a real copy,
+ // use Copy() member function instead.
wxPGChoices( const wxPGChoices& a )
{
if ( a.m_data != wxPGChoicesEmptyData )
@@ -848,30 +717,18 @@ public:
}
}
- /**
- Constructor.
-
- @param labels
- Labels for choices
-
- @param values
- Values for choices. If NULL, indexes are used.
- */
+ // Constructor.
+ // labels - Labels for choices.
+ // values - Values for choices. If NULL, indexes are used.
wxPGChoices( const wxChar* const* labels, const long* values = NULL )
{
Init();
Set(labels,values);
}
- /**
- Constructor.
-
- @param labels
- Labels for choices
-
- @param values
- Values for choices. If empty, indexes are used.
- */
+ // Constructor.
+ // labels - Labels for choices.
+ // values - Values for choices. If empty, indexes are used.
wxPGChoices( const wxArrayString& labels,
const wxArrayInt& values = wxArrayInt() )
{
@@ -879,7 +736,7 @@ public:
Set(labels,values);
}
- /** Simple interface constructor. */
+ // Simple interface constructor.
wxPGChoices( wxPGChoicesData* data )
{
wxASSERT(data);
@@ -887,73 +744,57 @@ public:
data->IncRef();
}
- /** Destructor. */
+ // Destructor.
~wxPGChoices()
{
Free();
}
- /**
- Adds to current.
-
- If did not have own copies, creates them now. If was empty, identical
- to set except that creates copies.
-
- @param labels
- Labels for added choices.
-
- @param values
- Values for added choices. If empty, relevant entry indexes are used.
- */
+ // Adds to current.
+ // If did not have own copies, creates them now. If was empty, identical
+ // to set except that creates copies.
+ // labels - Labels for added choices.
+ // values - Values for added choices. If empty, relevant entry indexes are used.
void Add( const wxChar* const* labels, const ValArrItem* values = NULL );
- /** Version that works with wxArrayString and wxArrayInt. */
+ // Version that works with wxArrayString and wxArrayInt.
void Add( const wxArrayString& arr, const wxArrayInt& arrint = wxArrayInt() );
- /**
- Adds a single choice.
-
- @param label
- Label for added choice.
-
- @param value
- Value for added choice. If unspecified, index is used.
- */
+ // Adds a single choice.
+ // label - Label for added choice.
+ // value - Value for added choice. If unspecified, index is used.
wxPGChoiceEntry& Add( const wxString& label,
int value = wxPG_INVALID_VALUE );
- /** Adds a single item, with bitmap. */
+ // Adds a single item, with bitmap.
wxPGChoiceEntry& Add( const wxString& label,
const wxBitmap& bitmap,
int value = wxPG_INVALID_VALUE );
- /** Adds a single item with full entry information. */
+ // Adds a single item with full entry information.
wxPGChoiceEntry& Add( const wxPGChoiceEntry& entry )
{
return Insert(entry, -1);
}
- /** Adds single item. */
+ // Adds a single item, sorted.
wxPGChoiceEntry& AddAsSorted( const wxString& label,
int value = wxPG_INVALID_VALUE );
- /**
- Assigns choices data, using reference counting. To create a real copy,
- use Copy() member function instead.
- */
+ // Assigns choices data, using reference counting. To create a real copy,
+ // use Copy() member function instead.
void Assign( const wxPGChoices& a )
{
AssignData(a.m_data);
}
+ // Assigns data from another set of choices.
void AssignData( wxPGChoicesData* data );
- /** Delete all choices. */
+ // Delete all choices.
void Clear();
- /**
- Returns a real copy of the choices.
- */
+ // Returns a real copy of the choices.
wxPGChoices Copy() const
{
wxPGChoices dst;
@@ -968,14 +809,16 @@ public:
m_data = new wxPGChoicesData();
}
- /** Gets a unsigned number identifying this list. */
+ // Gets a unsigned number identifying this list.
wxPGChoicesId GetId() const { return (wxPGChoicesId) m_data; }
+ // Returns label of item.
const wxString& GetLabel( unsigned int ind ) const
{
return Item(ind).GetText();
}
+ // Returns number of items.
unsigned int GetCount () const
{
if ( !m_data )
@@ -984,33 +827,33 @@ public:
return m_data->GetCount();
}
+ // Returns value of item.
int GetValue( unsigned int ind ) const { return Item(ind).GetValue(); }
- /** Returns array of values matching the given strings. Unmatching strings
- result in wxPG_INVALID_VALUE entry in array.
- */
+ // Returns array of values matching the given strings. Unmatching strings
+ // result in wxPG_INVALID_VALUE entry in array.
wxArrayInt GetValuesForStrings( const wxArrayString& strings ) const;
- /** Returns array of indices matching given strings. Unmatching strings
- are added to 'unmatched', if not NULL.
- */
+ // Returns array of indices matching given strings. Unmatching strings
+ // are added to 'unmatched', if not NULL.
wxArrayInt GetIndicesForStrings( const wxArrayString& strings,
wxArrayString* unmatched = NULL ) const;
+ // Returns index of item with given label.
int Index( const wxString& str ) const;
+ // Returns index of item with given value.
int Index( int val ) const;
- /** Inserts single item. */
+ // Inserts a single item.
wxPGChoiceEntry& Insert( const wxString& label,
int index,
int value = wxPG_INVALID_VALUE );
- /** Inserts a single item with full entry information. */
+ // Inserts a single item with full entry information.
wxPGChoiceEntry& Insert( const wxPGChoiceEntry& entry, int index );
- /** Returns false if this is a constant empty set of choices,
- which should not be modified.
- */
+ // Returns false if this is a constant empty set of choices,
+ // which should not be modified.
bool IsOk() const
{
return ( m_data != wxPGChoicesEmptyData );
@@ -1022,25 +865,27 @@ public:
return m_data->Item(i);
}
+ // Returns item at given index.
wxPGChoiceEntry& Item( unsigned int i )
{
wxASSERT( IsOk() );
return m_data->Item(i);
}
- /** Removes count items starting at position nIndex. */
+ // Removes count items starting at position nIndex.
void RemoveAt(size_t nIndex, size_t count = 1);
- /** Does not create copies for itself.
- TODO: Deprecate.
- */
+ // Sets contents from lists of strings and values.
+ // Does not create copies for itself.
+ // TODO: Deprecate.
void Set( const wxChar* const* labels, const long* values = NULL )
{
Free();
Add(labels,values);
}
- /** Version that works with wxArrayString and wxArrayInt. */
+ // Sets contents from lists of strings and values.
+ // Version that works with wxArrayString and wxArrayInt.
void Set( const wxArrayString& labels,
const wxArrayInt& values = wxArrayInt() )
{
@@ -1070,6 +915,7 @@ public:
return data;
}
+ // Returns array of choice labels.
wxArrayString GetLabels() const;
void operator= (const wxPGChoices& a)
@@ -1097,16 +943,7 @@ protected:
// -----------------------------------------------------------------------
-/** @class wxPGProperty
-
- wxPGProperty is base class for all wxPropertyGrid properties.
-
- NB: Full class overview is now only present in
- interface/wx/propgrid/property.h.
-
- @library{wxpropgrid}
- @category{propgrid}
-*/
+// wxPGProperty is base class for all wxPropertyGrid properties.
class WXDLLIMPEXP_PROPGRID wxPGProperty : public wxObject
{
friend class wxPropertyGrid;
@@ -1119,451 +956,286 @@ class WXDLLIMPEXP_PROPGRID wxPGProperty : public wxObject
public:
typedef wxUint32 FlagType;
- /**
- Default constructor.
- */
+ // Default constructor.
wxPGProperty();
- /**
- Constructor.
-
- All non-abstract property classes should have a constructor with
- the same first two arguments as this one.
- */
+ // Constructor.
+ // All non-abstract property classes should have a constructor with
+ // the same first two arguments as this one.
wxPGProperty( const wxString& label, const wxString& name );
- /**
- Virtual destructor.
- It is customary for derived properties to implement this.
- */
+ // Virtual destructor.
+ // It is customary for derived properties to implement this.
virtual ~wxPGProperty();
- /** 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.
- */
+ // 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.
virtual void OnSetValue();
- /** Override this to return something else than m_value as the value.
- */
+ // Override this to return something else than m_value as the value.
virtual wxVariant DoGetValue() const { return m_value; }
- /** Implement this function in derived class to check the value.
- Return true if it is ok. Returning false prevents property change events
- from occurring.
-
- @remarks
- - Default implementation always returns true.
- */
+ // Implement this function in derived class to check the value.
+ // Return true if it is ok. Returning false prevents property change
+ // events from occurring.
+ // Remark: Default implementation always returns true.
virtual bool ValidateValue( wxVariant& value,
wxPGValidationInfo& validationInfo ) const;
- /**
- Converts text into wxVariant value appropriate for this property.
-
- @param variant
- On function entry this is the old value (should not be wxNullVariant
- in normal cases). Translated value must be assigned back to it.
-
- @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).
-
- @return 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).
- */
+ // Converts text into wxVariant value appropriate for this property.
+ // Prameters:
+ // 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 true if resulting wxVariant value was different.
+ // 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).
virtual bool StringToValue( wxVariant& variant,
const wxString& text,
int argFlags = 0 ) const;
- /**
- Converts integer (possibly a choice selection) into wxVariant value
- appropriate for this property.
-
- @param variant
- On function entry this is the old value (should not be wxNullVariant
- 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.
-
- @return Returns @true if resulting wxVariant value was different.
-
- @remarks
- - If property is not supposed to use choice or spinctrl or other editor
- with int-based value, it is not necessary to implement this method.
- - Default implementation simply assign given int to m_value.
- - If property uses choice control, and displays a dialog on some choice
- items, then it is preferred to display that dialog in IntToValue
- instead of OnEvent.
- - You might want to take into account that m_value is Null variant if
- property value is unspecified (which is usually only case if you
- explicitly enabled that sort behaviour).
- */
+ // Converts integer (possibly a choice selection) 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.
+ // number - Integer to be translated into variant.
+ // argFlags - If wxPG_FULL_VALUE is set, returns complete, storable value
+ // instead of displayable one.
+ // Returns true if resulting wxVariant value was different.
+ // Remarks
+ // - If property is not supposed to use choice or spinctrl or other editor
+ // with int-based value, it is not necessary to implement this method.
+ // - Default implementation simply assign given int to m_value.
+ // - If property uses choice control, and displays a dialog on some choice
+ // items, then it is preferred to display that dialog in IntToValue
+ // instead of OnEvent.
+ // - You might want to take into account that m_value is Null variant
+ // if property value is unspecified (which is usually only case if
+ // you explicitly enabled that sort behaviour).
virtual bool IntToValue( wxVariant& value,
int number,
int argFlags = 0 ) 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
- 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().
- */
+ // 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.
+ // Default implementation calls GenerateComposedValue().
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
- /** Converts string to a value, and if successful, calls SetValue() on it.
- Default behaviour is to do nothing.
- @param text
- String to get the value from.
- @return
- true if value was changed.
- */
+ // Converts string to a value, and if successful, calls SetValue() on it.
+ // Default behaviour is to do nothing.
+ // Returns true if value was changed.
bool SetValueFromString( const wxString& text, int flags = wxPG_PROGRAMMATIC_VALUE );
- /** Converts integer to a value, and if successful, calls SetValue() on it.
- Default behaviour is to do nothing.
- @param value
- Int to get the value from.
- @param flags
- If has wxPG_FULL_VALUE, then the value given is a actual value and
- not an index.
- @return
- True if value was changed.
- */
+ // Converts integer to a value, and if successful, calls SetValue() on it.
+ // Default behaviour is to do nothing.
+ // Parameters:
+ // 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.
+ // Returns true if value was changed.
bool SetValueFromInt( long value, int flags = 0 );
- /**
- 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.
- @param item
- Normally -1, but can be an index to the property's list of items.
- @remarks
- - Default behaviour is to return wxSize(0,0), which means no image.
- - Default image width or height is indicated with dimension -1.
- - You can also return wxPG_DEFAULT_IMAGE_SIZE, i.e. wxDefaultSize.
- */
+ // 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.
+ // Remarks:
+ // - Default behaviour is to return wxSize(0,0), which means no image.
+ // - Default image width or height is indicated with dimension -1.
+ // - You can also return wxPG_DEFAULT_IMAGE_SIZE, i.e. wxDefaultSize.
virtual wxSize OnMeasureImage( int item = -1 ) const;
- /**
- 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.
-
- @param event
- Associated wxEvent.
- @return
- Should return true if any changes in value should be reported.
- @remarks
- If property uses choice control, and displays a dialog on some choice
- items, then it is preferred to display that dialog in IntToValue
- instead of OnEvent.
- */
+ // 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.
+ // event - Associated wxEvent.
+ // Should return true if any changes in value should be reported.
+ // 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.
virtual bool OnEvent( wxPropertyGrid* propgrid,
wxWindow* wnd_primary,
wxEvent& event );
- /**
- Called after value of a child property has been altered. Must return
- new value of the whole property (after any alterations warranted by
- child's new value).
-
- Note that this function is usually called at the time that value of
- this property, or given child property, is still pending for change,
- and as such, result of GetValue() or m_value should not be relied
- on.
-
- Sample pseudo-code implementation:
-
- @code
- wxVariant 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;
- ...
- }
-
- // Return altered data
- return data;
- }
- @endcode
-
- @param thisValue
- Value of this property. Changed value should be returned (in
- previous versions of wxPropertyGrid it was only necessary to
- write value back to this argument).
- @param childIndex
- Index of child changed (you can use Item(childIndex) to get
- child property).
- @param childValue
- (Pending) value of the child property.
-
- @return
- Modified value of the whole property.
- */
+ // Called after value of a child property has been altered. Must return
+ // new value of the whole property (after any alterations warranted by
+ // child's new value).
+ // Note that this function is usually called at the time that value of
+ // this property, or given child property, is still pending for change,
+ // and as such, result of GetValue() or m_value should not be relied
+ // on.
+ // Parameters:
+ // thisValue - Value of this property. Changed value should be returned
+ // (in previous versions of wxPropertyGrid it was only necessary to
+ // write value back to this argument).
+ // childIndex - Index of child changed (you can use Item(childIndex)
+ // to get child property).
+ // childValue - (Pending) value of the child property.
+ // Returns modified value of the whole property.
virtual wxVariant ChildChanged( wxVariant& thisValue,
int childIndex,
wxVariant& childValue ) const;
- /** Returns pointer to an instance of used editor.
- */
+ // Returns pointer to an instance of used editor.
virtual const wxPGEditor* DoGetEditorClass() const;
- /** 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):
-
- @code
-
- wxValidator* wxMyPropertyClass::DoGetValidator () const
- {
- WX_PG_DOGETVALIDATOR_ENTRY()
-
- wxMyValidator* validator = new wxMyValidator(...);
-
- ... prepare validator...
-
- WX_PG_DOGETVALIDATOR_EXIT(validator)
- }
-
- @endcode
-
- @remarks
- You can get common filename validator by returning
- wxFileProperty::GetClassValidator(). wxDirProperty,
- for example, uses it.
- */
+ // 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.
+ // You can get common filename validator by returning
+ // wxFileProperty::GetClassValidator(). wxDirProperty,
+ // for example, uses it.
virtual wxValidator* DoGetValidator () const;
- /**
- 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.
-
- @param dc
- wxDC to paint on.
- @param rect
- Box reserved for custom graphics. Includes surrounding rectangle,
- if any. If x is < 0, then this is a measure item call (see above).
- @param paintdata
- wxPGPaintData structure with much useful data.
-
- @remarks
- - You can actually exceed rect width, but if you do so then
- paintdata.m_drawnWidth must be set to the full width drawn in
- pixels.
- - Due to technical reasons, rect's height will be default even if
- custom height was reported during measure call.
- - Brush is guaranteed to be default background colour. It has been
- already used to clear the background of area being painted. It
- can be modified.
- - Pen is guaranteed to be 1-wide 'black' (or whatever is the proper
- colour) pen for drawing framing rectangle. It can be changed as
- well.
-
- @see ValueToString()
- */
+ // Override to paint an image in front of the property value text or
+ // drop-down list item (but only if wxPGProperty::OnMeasureImage is
+ // overridden as well).
+ // If property's OnMeasureImage() returns size that has height != 0 but
+ // less than row height ( < 0 has special meanings), wxPropertyGrid calls
+ // this method to draw a custom image in a limited area in front of the
+ // editor control or value text/graphics, and if control has drop-down
+ // list, then the image is drawn there as well (even in the case
+ // OnMeasureImage() returned higher height than row height).
+ // NOTE: Following applies when OnMeasureImage() returns a "flexible"
+ // height ( using wxPG_FLEXIBLE_SIZE(W,H) macro), which implies variable
+ // height items: If rect.x is < 0, then this is a measure item call, which
+ // means that dc is invalid and only thing that should be done is to set
+ // paintdata.m_drawnHeight to the height of the image of item at index
+ // paintdata.m_choiceItem. This call may be done even as often as once
+ // every drop-down popup show.
+ // Parameters:
+ // dc - wxDC to paint on.
+ // rect - Box reserved for custom graphics. Includes surrounding rectangle,
+ // if any. If x is < 0, then this is a measure item call (see above).
+ // paintdata - wxPGPaintData structure with much useful data.
+ // Remarks:
+ // - You can actually exceed rect width, but if you do so then
+ // paintdata.m_drawnWidth must be set to the full width drawn in
+ // pixels.
+ // - Due to technical reasons, rect's height will be default even if
+ // custom height was reported during measure call.
+ // - Brush is guaranteed to be default background colour. It has been
+ // already used to clear the background of area being painted. It
+ // can be modified.
+ // - Pen is guaranteed to be 1-wide 'black' (or whatever is the proper
+ // colour) pen for drawing framing rectangle. It can be changed as
+ // well.
+ // See ValueToString()
virtual void OnCustomPaint( wxDC& dc,
const wxRect& rect,
wxPGPaintData& paintdata );
- /**
- Returns used wxPGCellRenderer instance for given property column
- (label=0, value=1).
-
- Default implementation returns editor's renderer for all columns.
- */
+ // Returns used wxPGCellRenderer instance for given property column
+ // (label=0, value=1).
+ // Default implementation returns editor's renderer for all columns.
virtual wxPGCellRenderer* GetCellRenderer( int column ) const;
- /** Returns which choice is currently selected. Only applies to properties
- which have choices.
-
- Needs to be reimplemented in derived class if property value does not
- map directly to a choice. Integer as index, bool, and string usually do.
- */
+ // Returns which choice is currently selected. Only applies to properties
+ // which have choices.
+ // Needs to be reimplemented in derived class if property value does not
+ // map directly to a choice. Integer as index, bool, and string usually do.
virtual int GetChoiceSelection() const;
- /**
- Refresh values of child properties.
-
- Automatically called after value is set.
- */
+ // Refresh values of child properties.
+ // Automatically called after value is set.
virtual void RefreshChildren();
- /**
- Reimplement this member function to add special handling for
- attributes of this property.
-
- @return 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.
- */
+ // Reimplement this member function to add special handling for
+ // attributes of this property.
+ // Return false to have the attribute automatically stored in
+ // m_attributes. Default implementation simply does that and
+ // nothing else.
+ // To actually set property attribute values from the
+ // application, use wxPGProperty::SetAttribute() instead.
virtual bool DoSetAttribute( const wxString& name, wxVariant& value );
- /** Returns value of an attribute.
-
- Override if custom handling of attributes is needed.
-
- Default implementation simply return NULL variant.
- */
+ // Returns value of an attribute.
+ // Override if custom handling of attributes is needed.
+ // Default implementation simply return NULL variant.
virtual wxVariant DoGetAttribute( const wxString& name ) const;
- /** 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).
- */
+ // 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).
virtual wxPGEditorDialogAdapter* GetEditorDialog() const;
- /**
- Called whenever validation has failed with given pending value.
-
- @remarks If you implement this in your custom property class, please
- remember to call the baser implementation as well, since they
- may use it to revert property into pre-change state.
- */
+ // Called whenever validation has failed with given pending value.
+ // If you implement this in your custom property class, please
+ // remember to call the baser implementation as well, since they
+ // may use it to revert property into pre-change state.
virtual void OnValidationFailure( wxVariant& pendingValue );
- /** Append a new choice to property's list of choices.
- */
+ // Append a new choice to property's list of choices.
int AddChoice( const wxString& label, int value = wxPG_INVALID_VALUE )
{
return InsertChoice(label, wxNOT_FOUND, value);
}
- /**
- 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).
- */
+ // 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 AreChildrenComponents() const
{
return (m_flags & (wxPG_PROP_COMPOSED_VALUE|wxPG_PROP_AGGREGATE)) != 0;
}
- /**
- Deletes children of the property.
- */
+ // Deletes children of the property.
void DeleteChildren();
- /**
- 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.
- */
+ // 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.
void DeleteChoice( int index );
- /**
- Enables or disables the property. Disabled property usually appears
- as having grey text.
-
- @param enable
- If @false, property is disabled instead.
-
- @see wxPropertyGridInterface::EnableProperty()
- */
+ // Enables or disables the property. Disabled property usually appears
+ // as having grey text.
+ // See wxPropertyGridInterface::EnableProperty()
void Enable( 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.
- */
+ // 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 EnableCommonValue( bool enable = true )
{
if ( enable ) SetFlag( wxPG_PROP_USES_COMMON_VALUE );
else ClearFlag( wxPG_PROP_USES_COMMON_VALUE );
}
- /**
- Composes text from values of child properties.
- */
+ // Composes text from values of child properties.
wxString GenerateComposedValue() const
{
wxString s;
@@ -1571,39 +1243,35 @@ public:
return s;
}
- /** Returns property's label. */
+ // Returns property's label.
const wxString& GetLabel() const { return m_label; }
- /** Returns property's name with all (non-category, non-root) parents. */
+ // Returns property's name with all (non-category, non-root) parents.
wxString GetName() const;
- /**
- Returns property's base name (i.e. parent's name is not added in any
- case)
- */
+ // Returns property's base name (i.e. parent's name is not added
+ // in any case).
const wxString& GetBaseName() const { return m_name; }
- /** Returns read-only reference to property's list of choices.
- */
+ // Returns read-only reference to property's list of choices.
const wxPGChoices& GetChoices() const
{
return m_choices;
}
- /** Returns coordinate to the top y of the property. Note that the
- position of scrollbars is not taken into account.
- */
+ // Returns coordinate to the top y of the property. Note that the
+ // position of scrollbars is not taken into account.
int GetY() const;
+ // Returns property's value.
wxVariant GetValue() const
{
return DoGetValue();
}
- /** 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.
- */
+ // 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.
wxVariant& GetValueRef()
{
return m_value;
@@ -1621,154 +1289,117 @@ public:
return m_value;
}
- /** 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
- 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 In older versions, this function used to be overridden to convert
- property's value into a string representation. This function is
- now handled by ValueToString(), and overriding this function now
- will result in run-time assertion failure.
- */
+ // Returns text representation of property's value.
+ // 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.
+ // In older versions, this function used to be overridden to convert
+ // property's value into a string representation. This function is
+ // now handled by ValueToString(), and overriding this function now
+ // will result in run-time assertion failure.
virtual wxString GetValueAsString( int argFlags = 0 ) const;
#if wxPG_COMPATIBILITY_1_4
- /** Synonymous to GetValueAsString().
-
- @deprecated Use GetValueAsString() instead.
-
- @see GetValueAsString()
- */
+ // Synonymous to GetValueAsString().
wxDEPRECATED( wxString GetValueString( int argFlags = 0 ) const );
#endif
- /**
- Returns wxPGCell of given column.
-
- @remarks const version of this member function returns 'default'
- wxPGCell object if the property itself didn't hold
- cell data.
- */
+ // Returns wxPGCell of given column.
+ // Const version of this member function returns 'default'
+ // wxPGCell object if the property itself didn't hold
+ // cell data.
const wxPGCell& GetCell( unsigned int column ) const;
- /**
- Returns wxPGCell of given column, creating one if necessary.
- */
+ // Returns wxPGCell of given column, creating one if necessary.
wxPGCell& GetCell( unsigned int column )
{
return GetOrCreateCell(column);
}
- /**
- Returns wxPGCell of given column, creating one if necessary.
- */
+ // Returns wxPGCell of given column, creating one if necessary.
wxPGCell& GetOrCreateCell( unsigned int column );
- /** Return number of displayed common values for this property.
- */
+ // Return number of displayed common values for this property.
int GetDisplayedCommonValueCount() const;
+ // Returns property's displayed text.
wxString GetDisplayedString() const
{
return GetValueAsString(0);
}
- /**
- Returns property's hint text (shown in empty value cell).
- */
+ // Returns property's hint text (shown in empty value cell).
inline wxString GetHintText() const;
- /** Returns property grid where property lies. */
+ // Returns property grid where property lies.
wxPropertyGrid* GetGrid() const;
- /** Returns owner wxPropertyGrid, but only if one is currently on a page
- displaying this property. */
+ // Returns owner wxPropertyGrid, but only if one is currently
+ // on a page displaying this property.
wxPropertyGrid* GetGridIfDisplayed() const;
- /** Returns highest level non-category, non-root parent. Useful when you
- have nested wxCustomProperties/wxParentProperties.
- @remarks
- Thus, if immediate parent is root or category, this will return the
- property itself.
- */
+ // Returns highest level non-category, non-root parent. Useful when you
+ // have nested properties with children.
+ // Thus, if immediate parent is root or category, this will return the
+ // property itself.
wxPGProperty* GetMainParent() const;
- /** Return parent of property */
+ // Return parent of property.
wxPGProperty* GetParent() const { return m_parent; }
- /** Returns true if property has editable wxTextCtrl when selected.
-
- @remarks
- Although disabled properties do not displayed editor, they still
- return True here as being disabled is considered a temporary
- condition (unlike being read-only or having limited editing enabled).
- */
+ // Returns true if property has editable wxTextCtrl when selected.
+ // Although disabled properties do not displayed editor, they still
+ // Returns true here as being disabled is considered a temporary
+ // condition (unlike being read-only or having limited editing enabled).
bool IsTextEditable() const;
+ // Returns true if property's value is considered unspecified.
+ // This usually means that value is Null variant.
bool IsValueUnspecified() const
{
return m_value.IsNull();
}
#if WXWIN_COMPATIBILITY_3_0
- /**
- Returns non-zero if property has given flag set.
-
- @see propgrid_propflags
- */
+ // Returns non-zero if property has given flag set.
FlagType HasFlag( wxPGPropertyFlags flag ) const
{
return ( m_flags & flag );
}
#else
- /**
- Returns true if property has given flag set.
-
- @see propgrid_propflags
- */
+ // Returns true if property has given flag set.
bool HasFlag(wxPGPropertyFlags flag) const
{
return (m_flags & flag) != 0;
}
#endif
- /**
- Returns true if property has given flag set.
- */
+ // Returns true if property has given flag set.
bool HasFlag(FlagType flag) const
{
return (m_flags & flag) != 0;
}
- /**
- Returns true if property has all given flags set.
- */
+ // Returns true if property has all given flags set.
bool HasFlagsExact(FlagType flags) const
{
return (m_flags & flags) == flags;
}
- /** Returns comma-delimited string of property attributes.
- */
+ // Returns comma-delimited string of property attributes.
const wxPGAttributeStorage& GetAttributes() const
{
return m_attributes;
}
- /** Returns m_attributes as list wxVariant.
- */
+ // Returns m_attributes as list wxVariant.
wxVariant GetAttributesAsList() const;
#if WXWIN_COMPATIBILITY_3_0
- /**
- Returns property flags.
- */
+ // Returns property flags.
wxDEPRECATED_MSG("Use HasFlag or HasFlagsExact functions instead.")
FlagType GetFlags() const
{
@@ -1776,15 +1407,18 @@ public:
}
#endif
+ // Returns wxPGEditor that will be used and created when
+ // property becomes selected. Returns more accurate value
+ // than DoGetEditorClass().
const wxPGEditor* GetEditorClass() const;
+ // Returns value type used by this property.
wxString GetValueType() const
{
return m_value.GetType();
}
- /** Returns editor used for given column. NULL for no editor.
- */
+ // Returns editor used for given column. NULL for no editor.
const wxPGEditor* GetColumnEditor( int column ) const
{
if ( column == 1 )
@@ -1793,44 +1427,31 @@ public:
return NULL;
}
- /** Returns common value selected for this property. -1 for none.
- */
+ // Returns common value selected for this property. -1 for none.
int GetCommonValue() const
{
return m_commonValue;
}
- /** Returns true if property has even one visible child.
- */
+ // Returns true if property has even one visible child.
bool HasVisibleChildren() const;
- /**
- Use this member function to add independent (ie. regular) children to
- a property.
-
- @return Inserted childProperty.
-
- @remarks wxPropertyGrid is not automatically refreshed by this
- function.
-
- @see AddPrivateChild()
- */
+ // Use this member function to add independent (i.e. regular) children to
+ // a property.
+ // Returns inserted childProperty.
+ // wxPropertyGrid is not automatically refreshed by this function.
wxPGProperty* InsertChild( int index, wxPGProperty* childProperty );
- /** Inserts a new choice to property's list of choices.
- */
+ // Inserts a new choice to property's list of choices.
int InsertChoice( const wxString& label, int index, int value = wxPG_INVALID_VALUE );
- /**
- Returns true if this property is actually a wxPropertyCategory.
- */
+ // Returns true if this property is actually a wxPropertyCategory.
bool IsCategory() const { return (m_flags & wxPG_PROP_CATEGORY) != 0; }
- /** Returns true if this property is actually a wxRootProperty.
- */
+ // Returns true if this property is actually a wxRootProperty.
bool IsRoot() const { return (m_parent == NULL); }
- /** Returns true if this is a sub-property. */
+ // Returns true if this is a sub-property.
bool IsSubProperty() const
{
wxPGProperty* parent = (wxPGProperty*)m_parent;
@@ -1839,268 +1460,200 @@ public:
return false;
}
- /** Returns last visible sub-property, recursively.
- */
+ // Returns last visible sub-property, recursively.
const wxPGProperty* GetLastVisibleSubItem() const;
+ // Returns property's default value. If property's value type is not
+ // a built-in one, and "DefaultValue" attribute is not defined, then
+ // this function usually returns Null variant.
wxVariant GetDefaultValue() const;
+ // Returns maximum allowed length of property's text value.
int GetMaxLength() const
{
return (int) m_maxLen;
}
- /**
- Determines, recursively, if all children are not unspecified.
-
- @param pendingList
- Assumes members in this wxVariant list as pending
- replacement values.
- */
+ // Determines, recursively, if all children are not unspecified.
+ // pendingList - Assumes members in this wxVariant list as pending
+ // replacement values.
bool AreAllChildrenSpecified( wxVariant* pendingList = NULL ) const;
- /** Updates composed values of parent non-category properties, recursively.
- Returns topmost property updated.
-
- @remarks
- - Must not call SetValue() (as can be called in it).
- */
+ // Updates composed values of parent non-category properties, recursively.
+ // Returns topmost property updated.
+ // Must not call SetValue() (as can be called in it).
wxPGProperty* UpdateParentValues();
- /** Returns true if containing grid uses wxPG_EX_AUTO_UNSPECIFIED_VALUES.
- */
+ // Returns true if containing grid uses wxPG_EX_AUTO_UNSPECIFIED_VALUES.
bool UsesAutoUnspecified() const
{
return (m_flags & wxPG_PROP_AUTO_UNSPECIFIED) != 0;
}
+ // Returns bitmap that appears next to value text. Only returns non-@NULL
+ // bitmap if one was set with SetValueImage().
wxBitmap* GetValueImage() const
{
return m_valueBitmap;
}
+ // Returns property attribute value, null variant if not found.
wxVariant GetAttribute( const wxString& name ) const;
- /**
- Returns named attribute, as string, if found.
-
- Otherwise defVal is returned.
- */
+ // Returns named attribute, as string, if found.
+ // Otherwise defVal is returned.
wxString GetAttribute( const wxString& name, const wxString& defVal ) const;
- /**
- Returns named attribute, as long, if found.
-
- Otherwise defVal is returned.
- */
+ // Returns named attribute, as long, if found.
+ // Otherwise defVal is returned.
long GetAttributeAsLong( const wxString& name, long defVal ) const;
- /**
- Returns named attribute, as double, if found.
-
- Otherwise defVal is returned.
- */
+ // Returns named attribute, as double, if found.
+ // Otherwise defVal is returned.
double GetAttributeAsDouble( const wxString& name, double defVal ) const;
unsigned int GetDepth() const { return (unsigned int)m_depth; }
- /** Gets flags as a'|' delimited string. Note that flag names are not
- prepended with 'wxPG_PROP_'.
- @param flagsMask
- String will only be made to include flags combined by this parameter.
- */
+ // Gets flags as a'|' delimited string. Note that flag names are not
+ // prepended with 'wxPG_PROP_'.
+ // flagmask - String will only be made to include flags combined by this parameter.
wxString GetFlagsAsString( FlagType flagsMask ) const;
- /** Returns position in parent's array. */
+ // Returns position in parent's array.
unsigned int GetIndexInParent() const
{
return (unsigned int)m_arrIndex;
}
- /** Hides or reveals the property.
- @param hide
- true for hide, false for reveal.
- @param flags
- By default changes are applied recursively. Set this paramter
- wxPG_DONT_RECURSE to prevent this.
- */
+ // 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.
bool Hide( bool hide, int flags = wxPG_RECURSE );
+ // Returns true if property has visible children.
bool IsExpanded() const
{ return (!(m_flags & wxPG_PROP_COLLAPSED) && GetChildCount()); }
- /** Returns true if all parents expanded.
- */
+ // Returns true if all parents expanded.
bool IsVisible() const;
+ // Returns true if property is enabled.
bool IsEnabled() const { return !(m_flags & wxPG_PROP_DISABLED); }
- /** If property's editor is created this forces its recreation.
- Useful in SetAttribute etc. Returns true if actually did anything.
- */
+ // If property's editor is created this forces its recreation.
+ // Useful in SetAttribute etc. Returns true if actually did anything.
bool RecreateEditor();
- /** If property's editor is active, then update it's value.
- */
+ // If property's editor is active, then update it's value.
void RefreshEditor();
- /** Sets an attribute for this property.
- @param name
- Text identifier of attribute. See @ref propgrid_property_attributes.
- @param value
- Value of attribute.
- */
+ // Sets an attribute for this property.
+ // name - Text identifier of attribute. See @ref propgrid_property_attributes.
+ // value - Value of attribute.
+ // Setting attribute's value to Null variant will simply remove it
+ // from property's set of attributes.
void SetAttribute( const wxString& name, wxVariant value );
void SetAttributes( const wxPGAttributeStorage& attributes );
- /**
- Set if user can change the property's value to unspecified by
- modifying the value of the editor control (usually by clearing
- it). Currently, this can work with following properties:
- wxIntProperty, wxUIntProperty, wxFloatProperty, wxEditEnumProperty.
-
- @param enable
- Whether to enable or disable this behaviour (it is disabled by
- default).
- */
+ // Set if user can change the property's value to unspecified by
+ // modifying the value of the editor control (usually by clearing
+ // it). Currently, this can work with following properties:
+ // wxIntProperty, wxUIntProperty, wxFloatProperty, wxEditEnumProperty.
+ // enable - Whether to enable or disable this behaviour (it is disabled
+ // by default).
void SetAutoUnspecified( bool enable = true )
{
ChangeFlag(wxPG_PROP_AUTO_UNSPECIFIED, enable);
}
- /**
- Sets property's background colour.
-
- @param colour
- Background colour to use.
-
- @param flags
- Default is wxPG_RECURSE which causes colour to be set recursively.
- Omit this flag to only set colour for the property in question
- and not any of its children.
- */
+ // Sets property's background colour.
+ // colour - Background colour to use.
+ // flags - Default is wxPG_RECURSE which causes colour to be set recursively.
+ // Omit this flag to only set colour for the property in question
+ // and not any of its children.
void SetBackgroundColour( const wxColour& colour,
int flags = wxPG_RECURSE );
- /**
- Sets property's text colour.
-
- @param colour
- Text colour to use.
-
- @param flags
- Default is wxPG_RECURSE which causes colour to be set recursively.
- Omit this flag to only set colour for the property in question
- and not any of its children.
- */
+ // Sets property's text colour.
+ // colour - Text colour to use.
+ // flags - Default is wxPG_RECURSE which causes colour to be set recursively.
+ // Omit this flag to only set colour for the property in question
+ // and not any of its children.
void SetTextColour( const wxColour& colour,
int flags = wxPG_RECURSE );
- /**
- Sets property's default text and background colours.
-
- @param flags
- Default is wxPG_RECURSE which causes colours to be set recursively.
- Omit this flag to only set colours for the property in question
- and not any of its children.
- */
+ // Sets property's default text and background colours.
+ // flags - Default is wxPG_RECURSE which causes colours to be set recursively.
+ // Omit this flag to only set colours for the property in question
+ // and not any of its children.
void SetDefaultColours(int flags = wxPG_RECURSE);
- /** Set default value of a property. Synonymous to
-
- @code
- SetAttribute("DefaultValue", value);
- @endcode
- */
+ // Set default value of a property. Synonymous to
+ // SetAttribute("DefaultValue", value);
void SetDefaultValue( wxVariant& value );
- /** Sets editor for a property.
-
- @param editor
- For builtin editors, use wxPGEditor_X, where X is builtin editor's
- name (TextCtrl, Choice, etc. see wxPGEditor documentation for full
- list).
-
- For custom editors, use pointer you received from
- wxPropertyGrid::RegisterEditorClass().
- */
+ // Sets editor for a property.
+ // editor - For builtin editors, use wxPGEditor_X, where X is builtin editor's
+ // name (TextCtrl, Choice, etc. see wxPGEditor documentation for full
+ // list).
+ // For custom editors, use pointer you received from
+ // wxPropertyGrid::RegisterEditorClass().
void SetEditor( const wxPGEditor* editor )
{
m_customEditor = editor;
}
- /** Sets editor for a property.
- */
+ // Sets editor for a property, , by editor name.
inline void SetEditor( const wxString& editorName );
- /**
- Sets cell information for given column.
- */
+ // Sets cell information for given column.
void SetCell( int column, const wxPGCell& cell );
- /** Sets common value selected for this property. -1 for none.
- */
+ // Sets common value selected for this property. -1 for none.
void SetCommonValue( int commonValue )
{
m_commonValue = commonValue;
}
- /** Sets flags from a '|' delimited string. Note that flag names are not
- prepended with 'wxPG_PROP_'.
- */
+ // Sets flags from a '|' delimited string. Note that flag names are not
+ // prepended with 'wxPG_PROP_'.
void SetFlagsFromString( const wxString& str );
- /** Sets property's "is it modified?" flag. Affects children recursively.
- */
+ // Sets property's "is it modified?" flag. Affects children recursively.
void SetModifiedStatus( bool modified )
{
SetFlagRecursively(wxPG_PROP_MODIFIED, modified);
}
- /** Call in OnEvent(), OnButtonClick() etc. to change the property value
- based on user input.
-
- @remarks
- This method is const since it doesn't actually modify value, but posts
- given variant as pending value, stored in wxPropertyGrid.
- */
+ // Call in OnEvent(), OnButtonClick() etc. to change the property value
+ // based on user input.
+ // This method is const since it doesn't actually modify value, but posts
+ // given variant as pending value, stored in wxPropertyGrid.
void SetValueInEvent( wxVariant value ) const;
- /**
- Call this to set value of the property.
-
- Unlike methods in wxPropertyGrid, this does not automatically update
- the display.
-
- @remarks
- Use wxPropertyGrid::ChangePropertyValue() instead if you need to run
- through validation process and send property change event.
-
- If you need to change property value in event, based on user input, use
- SetValueInEvent() instead.
-
- @param pList
- Pointer to list variant that contains child values. Used to
- indicate which children should be marked as modified.
-
- @param flags
- Various flags (for instance, wxPG_SETVAL_REFRESH_EDITOR, which is
- enabled by default).
- */
+ // Call this to set value of the property.
+ // Unlike methods in wxPropertyGrid, this does not automatically update
+ // the display.
+ // Use wxPropertyGrid::ChangePropertyValue() instead if you need to run
+ // through validation process and send property change event.
+ // If you need to change property value in event, based on user input, use
+ // SetValueInEvent() instead.
+ // 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, which
+ // is enabled by default).
void SetValue( wxVariant value, wxVariant* pList = NULL,
int flags = wxPG_SETVAL_REFRESH_EDITOR );
- /** Set wxBitmap in front of the value. This bitmap may be ignored
- by custom cell renderers.
- */
+ // Set wxBitmap in front of the value. This bitmap may be ignored
+ // by custom cell renderers.
void SetValueImage( wxBitmap& bmp );
- /** Sets selected choice and changes property value.
-
- Tries to retain value type, although currently if it is not string,
- then it is forced to integer.
- */
+ // Sets selected choice and changes property value.
+ // Tries to retain value type, although currently if it is not string,
+ // then it is forced to integer.
void SetChoiceSelection( int newValue );
void SetExpanded( bool expanded )
@@ -2109,16 +1662,11 @@ public:
else m_flags &= ~wxPG_PROP_COLLAPSED;
}
- /**
- Sets or clears given property flag. Mainly for internal use.
-
- @remarks Setting a property flag never has any side-effect, and is
- intended almost exclusively for internal use. So, for
- example, if you want to disable a property, call
- Enable(false) instead of setting wxPG_PROP_DISABLED flag.
-
- @see HasFlag(), HasFlagsExact()
- */
+ // Sets or clears given property flag. Mainly for internal use.
+ // Setting a property flag never has any side-effect, and is
+ // intended almost exclusively for internal use. So, for
+ // example, if you want to disable a property, call
+ // Enable(false) instead of setting wxPG_PROP_DISABLED flag.
void ChangeFlag( wxPGPropertyFlags flag, bool set )
{
if ( set )
@@ -2127,40 +1675,38 @@ public:
m_flags &= ~flag;
}
- /**
- Sets or clears given property flag, recursively. This function is
- primarily intended for internal use.
-
- @see ChangeFlag()
- */
+ // Sets or clears given property flag, recursively. This function is
+ // primarily intended for internal use.
void SetFlagRecursively( wxPGPropertyFlags flag, bool set );
+ // Sets property's help string, which is shown, for example, in
+ // wxPropertyGridManager's description text box.
void SetHelpString( const wxString& helpString )
{
m_helpString = helpString;
}
+ // Sets property's label.
+ // Properties under same parent may have same labels. However,
+ // property names must still remain unique.
void SetLabel( const wxString& label );
+ // Sets new (base) name for property.
void SetName( const wxString& newName );
- /**
- Changes what sort of parent this property is for its children.
-
- @param flag
- Use one of the following values: wxPG_PROP_MISC_PARENT (for
- generic parents), wxPG_PROP_CATEGORY (for categories), or
- wxPG_PROP_AGGREGATE (for derived property classes with private
- children).
-
- @remarks You generally do not need to call this function.
- */
+ // Changes what sort of parent this property is for its children.
+ // flag - Use one of the following values: wxPG_PROP_MISC_PARENT (for
+ // generic parents), wxPG_PROP_CATEGORY (for categories), or
+ // wxPG_PROP_AGGREGATE (for derived property classes with private
+ // children).
+ // You generally do not need to call this function.
void SetParentalType( int flag )
{
m_flags &= ~(wxPG_PROP_PROPERTY|wxPG_PROP_PARENTAL_FLAGS);
m_flags |= flag;
}
+ // Sets property's value to unspecified (i.e. Null variant).
void SetValueToUnspecified()
{
wxVariant val; // Create NULL variant
@@ -2175,13 +1721,13 @@ public:
}
#if wxUSE_VALIDATORS
- /** Sets wxValidator for a property*/
+ // Sets wxValidator for a property.
void SetValidator( const wxValidator& validator )
{
m_validator = wxDynamicCast(validator.Clone(),wxValidator);
}
- /** Gets assignable version of property's validator. */
+ // Gets assignable version of property's validator.
wxValidator* GetValidator() const
{
if ( m_validator )
@@ -2190,127 +1736,107 @@ public:
}
#endif // wxUSE_VALIDATORS
- /** Returns client data (void*) of a property.
- */
+ // Returns client data (void*) of a property.
void* GetClientData() const
{
return m_clientData;
}
- /** Sets client data (void*) of a property.
- @remarks
- This untyped client data has to be deleted manually.
- */
+ // Sets client data (void*) of a property.
+ // This untyped client data has to be deleted manually.
void SetClientData( void* clientData )
{
m_clientData = clientData;
}
- /** Returns client object of a property.
- */
+ // Sets client object of a property.
void SetClientObject(wxClientData* clientObject)
{
delete m_clientObject;
m_clientObject = clientObject;
}
- /** Sets managed client object of a property.
- */
+ // Gets managed client object of a property.
wxClientData *GetClientObject() const { return m_clientObject; }
- /**
- Sets new set of choices for the property.
-
- @remarks This operation deselects the property and clears its
- value.
- */
+ // Sets new set of choices for the property.
+ // This operation deselects the property and clears its
+ // value.
bool SetChoices( const wxPGChoices& choices );
- /** Set max length of text in text editor.
- */
+ // Set max length of text in text editor.
inline bool SetMaxLength( int maxLen );
- /** Call with 'false' in OnSetValue to cancel value changes after all
- (i.e. cancel 'true' returned by StringToValue() or IntToValue()).
- */
+ // Call with 'false' in OnSetValue to cancel value changes after all
+ // (i.e. cancel 'true' returned by StringToValue() or IntToValue()).
void SetWasModified( bool set = true )
{
if ( set ) m_flags |= wxPG_PROP_WAS_MODIFIED;
else m_flags &= ~wxPG_PROP_WAS_MODIFIED;
}
+ // Returns property's help or description text.
const wxString& GetHelpString() const
{
return m_helpString;
}
+ // Returns true if candidateParent is some parent of this property.
// Use, for example, to detect if item is inside collapsed section.
bool IsSomeParent( wxPGProperty* candidate_parent ) const;
- /**
- Adapts list variant into proper value using consecutive
- ChildChanged-calls.
- */
+ // Adapts list variant into proper value using consecutive
+ // ChildChanged-calls.
void AdaptListToValue( wxVariant& list, wxVariant* value ) const;
#if wxPG_COMPATIBILITY_1_4
- /**
- Adds a private child property.
-
- @deprecated Use AddPrivateChild() instead.
-
- @see AddPrivateChild()
- */
+ // Adds a private child property.
+ // Use AddPrivateChild() instead.
wxDEPRECATED( void AddChild( wxPGProperty* prop ) );
#endif
- /**
- Adds a private child property. If you use this instead of
- wxPropertyGridInterface::Insert() or
- wxPropertyGridInterface::AppendIn(), then property's parental
- type will automatically be set up to wxPG_PROP_AGGREGATE. In other
- words, all properties of this property will become private.
- */
+ // Adds a private child property. If you use this instead of
+ // wxPropertyGridInterface::Insert() or
+ // wxPropertyGridInterface::AppendIn(), then property's parental
+ // type will automatically be set up to wxPG_PROP_AGGREGATE. In other
+ // words, all properties of this property will become private.
void AddPrivateChild( wxPGProperty* prop );
- /**
- Appends a new child property.
- */
+ // Use this member function to add independent (i.e. regular) children to
+ // a property.
+ // wxPropertyGrid is not automatically refreshed by this function.
wxPGProperty* AppendChild( wxPGProperty* prop )
{
return InsertChild(-1, prop);
}
- /** Returns height of children, recursively, and
- by taking expanded/collapsed status into account.
-
- iMax is used when finding property y-positions.
- */
+ // Returns height of children, recursively, and
+ // by taking expanded/collapsed status into account.
+ // lh - Line height. Pass result of GetGrid()->GetRowHeight() here.
+ // iMax - Only used (internally) when finding property y-positions.
int GetChildrenHeight( int lh, int iMax = -1 ) const;
- /** Returns number of child properties */
+ // Returns number of child properties.
unsigned int GetChildCount() const
{
return (unsigned int) m_children.size();
}
- /** Returns sub-property at index i. */
+ // Returns sub-property at index i.
wxPGProperty* Item( unsigned int i ) const
{ return m_children[i]; }
- /** Returns last sub-property.
- */
+ // Returns last sub-property.
wxPGProperty* Last() const { return m_children.back(); }
- /** Returns index of given child property. */
+ // Returns index of given child property. wxNOT_FOUND if
+ // given property is not child of this.
int Index( const wxPGProperty* p ) const;
// Puts correct indexes to children
void FixIndicesOfChildren( unsigned int starthere = 0 );
- /**
- Converts image width into full image offset, with margins.
- */
+ // Converts image width into full image offset, with margins.
int GetImageOffset( int imageWidth ) const;
// Returns wxPropertyGridPageState in which this property resides.
@@ -2320,12 +1846,10 @@ public:
unsigned int lh,
unsigned int* nextItemY ) const;
- /** Returns property at given virtual y coordinate.
- */
+ // Returns property at given virtual y coordinate.
wxPGProperty* GetItemAtY( unsigned int y ) const;
- /** Returns (direct) child property with given name (or NULL if not found).
- */
+ // Returns (direct) child property with given name (or NULL if not found).
wxPGProperty* GetPropertyByName( const wxString& name ) const;
// Returns various display-related information for given column
@@ -2346,43 +1870,26 @@ public:
static wxString* sm_wxPG_LABEL;
- /** This member is public so scripting language bindings
- wrapper code can access it freely.
- */
+ // This member is public so scripting language bindings
+ // wrapper code can access it freely.
void* m_clientData;
protected:
- /**
- Sets property cell in fashion that reduces number of exclusive
- copies of cell data. Used when setting, for instance, same
- background colour for a number of properties.
-
- @param firstCol
- First column to affect.
-
- @param lastCol
- Last column to affect.
-
- @param preparedCell
- Pre-prepared cell that is used for those which cell data
- before this matched unmodCellData.
-
- @param srcData
- If unmodCellData did not match, valid cell data from this
- is merged into cell (usually generating new exclusive copy
- of cell's data).
-
- @param unmodCellData
- If cell's cell data matches this, its cell is now set to
- preparedCell.
-
- @param ignoreWithFlags
- Properties with any one of these flags are skipped.
-
- @param recursively
- If @true, apply this operation recursively in child properties.
- */
+ // Sets property cell in fashion that reduces number of exclusive
+ // copies of cell data. Used when setting, for instance, same
+ // background colour for a number of properties.
+ // firstCol - First column to affect.
+ // lastCol- Last column to affect.
+ // preparedCell - Pre-prepared cell that is used for those which cell data
+ // before this matched unmodCellData.
+ // srcData - If unmodCellData did not match, valid cell data from this
+ // is merged into cell (usually generating new exclusive copy
+ // of cell's data).
+ // unmodCellData - If cell's cell data matches this, its cell is now set to
+ // preparedCell.
+ // ignoreWithFlags - Properties with any one of these flags are skipped.
+ // recursively - If true, apply this operation recursively in child properties.
void AdaptiveSetCell( unsigned int firstCol,
unsigned int lastCol,
const wxPGCell& preparedCell,
@@ -2391,32 +1898,21 @@ protected:
FlagType ignoreWithFlags,
bool recursively );
- /**
- Clear cells associated with property.
-
- @param recursively
- If @true, apply this operation recursively in child properties.
- */
+ // Clear cells associated with property.
+ // recursively - If true, apply this operation recursively in child properties.
void ClearCells(FlagType ignoreWithFlags, bool recursively);
- /**
- Makes sure m_cells has size of column+1 (or more).
- */
+ // Makes sure m_cells has size of column+1 (or more).
void EnsureCells( unsigned int column );
- /** Returns (direct) child property with given name (or NULL if not found),
- with hint index.
-
- @param hintIndex
- Start looking for the child at this index.
-
- @remarks
- Does not support scope (i.e. Parent.Child notation).
- */
+ // Returns (direct) child property with given name (or NULL if not found),
+ // with hint index.
+ // hintIndex - Start looking for the child at this index.
+ // Does not support scope (i.e. Parent.Child notation).
wxPGProperty* GetPropertyByNameWH( const wxString& name,
unsigned int hintIndex ) const;
- /** This is used by Insert etc. */
+ // This is used by Insert etc.
void DoAddChild( wxPGProperty* prop,
int index = -1,
bool correct_mode = true );
@@ -2430,7 +1926,7 @@ protected:
void DoSetName(const wxString& str) { m_name = str; }
- /** Deletes all sub-properties. */
+ // Deletes all sub-properties.
void Empty();
bool HasCell( unsigned int column ) const
@@ -2441,9 +1937,7 @@ protected:
void InitAfterAdded( wxPropertyGridPageState* pageState,
wxPropertyGrid* propgrid );
- /**
- Returns true if child property is selected.
- */
+ // Returns true if child property is selected.
bool IsChildSelected( bool recursive = false ) const;
// Removes child property with given pointer. Does not delete it.
@@ -2577,17 +2071,14 @@ wxPG_IMPLEMENT_PROPERTY_CLASS_PLAIN(PROPNAME, EDITOR)
// -----------------------------------------------------------------------
-/** @class wxPGRootProperty
- @ingroup classes
- Root parent property.
-*/
+// Root parent property.
class WXDLLIMPEXP_PROPGRID wxPGRootProperty : public wxPGProperty
{
public:
WX_PG_DECLARE_PROPERTY_CLASS(wxPGRootProperty)
public:
- /** Constructor. */
+ // Constructor.
wxPGRootProperty( const wxString& name = wxS("") );
virtual ~wxPGRootProperty();
@@ -2601,10 +2092,7 @@ protected:
// -----------------------------------------------------------------------
-/** @class wxPropertyCategory
- @ingroup classes
- Category (caption) property.
-*/
+// Category (caption) property.
class WXDLLIMPEXP_PROPGRID wxPropertyCategory : public wxPGProperty
{
friend class wxPropertyGrid;
@@ -2612,7 +2100,7 @@ class WXDLLIMPEXP_PROPGRID wxPropertyCategory : public wxPGProperty
WX_PG_DECLARE_PROPERTY_CLASS(wxPropertyCategory)
public:
- /** Default constructor is only used in special cases. */
+ // Default constructor is only used in special cases.
wxPropertyCategory();
wxPropertyCategory( const wxString& label,
diff --git a/interface/wx/propgrid/property.h b/interface/wx/propgrid/property.h
index 8ffda34f05..8dfb65ec18 100644
--- a/interface/wx/propgrid/property.h
+++ b/interface/wx/propgrid/property.h
@@ -8,6 +8,30 @@
#define wxNullProperty ((wxPGProperty*)NULL)
+/** @class wxPGPaintData
+
+ Contains information related to property's OnCustomPaint.
+*/
+struct wxPGPaintData
+{
+ /** wxPropertyGrid */
+ const wxPropertyGrid* m_parent;
+
+ /**
+ Normally -1, otherwise index to drop-down list item that has to be
+ drawn.
+ */
+ int m_choiceItem;
+
+ /** Set to drawn width in OnCustomPaint (optional). */
+ int m_drawnWidth;
+
+ /**
+ In a measure item call, set this to the height of item at m_choiceItem
+ index.
+ */
+ int m_drawnHeight;
+};
/**
@section propgrid_property_attributes wxPropertyGrid Property Attribute Identifiers
@@ -45,11 +69,6 @@
*/
#define wxPG_ATTR_HINT wxS("Hint")
-/**
- @deprecated Use "Hint" (wxPG_ATTR_HINT) instead.
-*/
-#define wxPG_ATTR_INLINE_HELP wxS("InlineHelp")
-
/** Universal, wxArrayString. Set to enable auto-completion in any
wxTextCtrl-based property editor.
*/
@@ -81,7 +100,8 @@
*/
#define wxPG_FLOAT_PRECISION wxS("Precision")
-/** The text will be echoed as asterisks (wxTE_PASSWORD will be passed to textctrl etc).
+/** The text will be echoed as asterisks (wxTE_PASSWORD will be passed
+ to textctrl etc.).
*/
#define wxPG_STRING_PASSWORD wxS("Password")
@@ -126,8 +146,6 @@
/** Specific to wxFileProperty and derivatives, long, default is 0.
Sets a specific wxFileDialog style for the file dialog, e.g. ::wxFD_SAVE.
-
- @since 2.9.4
*/
#define wxPG_FILE_DIALOG_STYLE wxS("DialogStyle")
@@ -167,7 +185,7 @@
/** SpinCtrl editor, bool. If @true, value can also by changed by moving
mouse when left mouse button is being pressed.
*/
-#define wxPG_ATTR_SPINCTRL_MOTIONSPIN wxS("MotionSpin")
+#define wxPG_ATTR_SPINCTRL_MOTION wxS("MotionSpin")
/** wxMultiChoiceProperty, int. If 0, no user strings allowed. If 1, user strings
appear before list strings. If 2, user strings appear after list string.
@@ -197,29 +215,35 @@ enum wxPGPropertyFlags
{
/** Indicates bold font.
+ @hideinitializer
*/
wxPG_PROP_MODIFIED = 0x0001,
/** Disables ('greyed' text and editor does not activate) property.
+ @hideinitializer
*/
wxPG_PROP_DISABLED = 0x0002,
/** Hider button will hide this property.
+ @hideinitializer
*/
wxPG_PROP_HIDDEN = 0x0004,
/** This property has custom paint image just in front of its value.
If property only draws custom images into a popup list, then this
flag should not be set.
+ @hideinitializer
*/
wxPG_PROP_CUSTOMIMAGE = 0x0008,
/** Do not create text based editor for this property (but button-triggered
dialog and choice are ok).
+ @hideinitializer
*/
wxPG_PROP_NOEDITOR = 0x0010,
/** Property is collapsed, ie. it's children are hidden.
+ @hideinitializer
*/
wxPG_PROP_COLLAPSED = 0x0020,
@@ -230,24 +254,26 @@ wxPG_PROP_COLLAPSED = 0x0020,
If property is not selected, then indicates that the actual property
value has failed validation (NB: this behaviour is not currently supported,
but may be used in the future).
+ @hideinitializer
*/
wxPG_PROP_INVALID_VALUE = 0x0040,
-// 0x0080,
-
/** Switched via SetWasModified(). Temporary flag - only used when
setting/changing property value.
+ @hideinitializer
*/
wxPG_PROP_WAS_MODIFIED = 0x0200,
/**
If set, then child properties (if any) are private, and should be
"invisible" to the application.
+ @hideinitializer
*/
wxPG_PROP_AGGREGATE = 0x0400,
/** If set, then child properties (if any) are copies and should not
be deleted in dtor.
+ @hideinitializer
*/
wxPG_PROP_CHILDREN_ARE_COPIES = 0x0800,
@@ -255,6 +281,7 @@ wxPG_PROP_CHILDREN_ARE_COPIES = 0x0800,
Classifies this item as a non-category.
Used for faster item type identification.
+ @hideinitializer
*/
wxPG_PROP_PROPERTY = 0x1000,
@@ -262,17 +289,20 @@ wxPG_PROP_PROPERTY = 0x1000,
Classifies this item as a category.
Used for faster item type identification.
+ @hideinitializer
*/
wxPG_PROP_CATEGORY = 0x2000,
/** Classifies this item as a property that has children, but is not aggregate
- (ie children are not private).
+ (i.e. children are not private).
+ @hideinitializer
*/
wxPG_PROP_MISC_PARENT = 0x4000,
/** Property is read-only. Editor is still created for wxTextCtrl-based
property editors. For others, editor is not usually created because
they do implement wxTE_READONLY style or equivalent.
+ @hideinitializer
*/
wxPG_PROP_READONLY = 0x8000,
@@ -283,12 +313,14 @@ wxPG_PROP_READONLY = 0x8000,
/** Property's value is composed from values of child properties.
@remarks
This flag cannot be used with property iterators.
+ @hideinitializer
*/
wxPG_PROP_COMPOSED_VALUE = 0x00010000,
/** Common value of property is selectable in editor.
@remarks
This flag cannot be used with property iterators.
+ @hideinitializer
*/
wxPG_PROP_USES_COMMON_VALUE = 0x00020000,
@@ -301,21 +333,30 @@ wxPG_PROP_USES_COMMON_VALUE = 0x00020000,
This flag cannot be used with property iterators.
@see wxPGProperty::SetAutoUnspecified()
+ @hideinitializer
*/
wxPG_PROP_AUTO_UNSPECIFIED = 0x00040000,
/** Indicates the bit usable by derived properties.
+ @hideinitializer
*/
wxPG_PROP_CLASS_SPECIFIC_1 = 0x00080000,
/** Indicates the bit usable by derived properties.
+ @hideinitializer
*/
wxPG_PROP_CLASS_SPECIFIC_2 = 0x00100000,
/** Indicates that the property is being deleted and should be ignored.
+ @hideinitializer
*/
wxPG_PROP_BEING_DELETED = 0x00200000
+/** Indicates the bit useable by derived properties.
+ @hideinitializer
+*/
+wxPG_PROP_CLASS_SPECIFIC_3 = 0x00400000
+
};
/** Topmost flag.
@@ -331,9 +372,15 @@ wxPG_PROP_BEING_DELETED = 0x00200000
wxPG_PROP_CATEGORY | \
wxPG_PROP_MISC_PARENT))
+/** Combination of flags that can be stored by GetFlagsAsString().
+*/
+#define wxPG_STRING_STORED_FLAGS \
+ (wxPG_PROP_DISABLED|wxPG_PROP_HIDDEN|wxPG_PROP_NOEDITOR|wxPG_PROP_COLLAPSED)
+
/** @}
*/
+// -----------------------------------------------------------------------
/**
@class wxPGProperty
@@ -725,7 +772,7 @@ public:
This virtual function is called after m_value has been set.
@remarks
- - If m_value was set to Null variant (ie. unspecified value), OnSetValue()
+ - 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
@@ -833,7 +880,7 @@ public:
@return @true if value was changed.
*/
- bool SetValueFromString( const wxString& text, int flags = 0 );
+ bool SetValueFromString( const wxString& text, int flags = wxPG_PROGRAMMATIC_VALUE );
/**
Converts integer to a value, and if successful, calls SetValue() on it.
@@ -859,7 +906,7 @@ public:
@remarks
- Default behaviour is to return wxSize(0,0), which means no image.
- Default image width or height is indicated with dimension -1.
- - You can also return wxPG_DEFAULT_IMAGE_SIZE which equals wxSize(-1, -1).
+ - You can also return wxPG_DEFAULT_IMAGE_SIZE which equals wxDefaultSize.
*/
virtual wxSize OnMeasureImage( int item = -1 ) const;
@@ -1082,7 +1129,7 @@ public:
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
+ Default implementation returns @NULL (i.e. no action is generated when
button is pressed).
*/
virtual wxPGEditorDialogAdapter* GetEditorDialog() const;
@@ -1111,15 +1158,6 @@ public:
*/
int AddChoice( const wxString& label, int value = wxPG_INVALID_VALUE );
- /**
- Adds a private child property.
-
- @deprecated Use AddPrivateChild() instead.
-
- @see AddPrivateChild()
- */
- wxDEPRECATED( void AddChild( wxPGProperty* prop ) );
-
/**
Adds a private child property. If you use this instead of
wxPropertyGridInterface::Insert() or
@@ -1136,7 +1174,7 @@ public:
void AdaptListToValue( wxVariant& list, wxVariant* value ) const;
/**
- Use this member function to add independent (ie. regular) children to
+ Use this member function to add independent (i.e. regular) children to
a property.
@return Appended childProperty.
@@ -1198,11 +1236,25 @@ public:
*/
void Enable( 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 EnableCommonValue( bool enable = true );
+
/**
Composes text from values of child properties.
*/
wxString GenerateComposedValue() const;
+ /**
+ Returns property's label.
+ */
+ const wxString& GetLabel() const;
+
/**
Returns property attribute value, null variant if not found.
*/
@@ -1220,6 +1272,11 @@ public:
*/
double GetAttributeAsDouble( const wxString& name, double defVal ) const;
+ /**
+ Returns comma-delimited string of property attributes.
+ */
+ const wxPGAttributeStorage& GetAttributes() const;
+
/**
Returns attributes as list wxVariant.
*/
@@ -1230,7 +1287,9 @@ public:
*/
const wxPGEditor* GetColumnEditor( int column ) const;
- /** Returns property's base name (ie. parent's name is not added in any case) */
+ /** Returns property's base name (ie. parent's name is not added
+ in any case).
+ */
const wxString& GetBaseName() const;
/**
@@ -1279,7 +1338,7 @@ public:
*/
void* GetClientData() const;
- /** Sets managed client object of a property.
+ /** Gets managed client object of a property.
*/
wxClientData *GetClientObject() const;
@@ -1290,6 +1349,18 @@ public:
*/
wxVariant GetDefaultValue() const;
+ /**
+ Returns common value selected for this property. -1 for none.
+ */
+ int GetCommonValue() const;
+
+ unsigned int GetDepth() const;
+
+ /**
+ Return number of displayed common values for this property.
+ */
+ int GetDisplayedCommonValueCount() const;
+
/** Returns property's displayed text.
*/
wxString GetDisplayedString() const;
@@ -1302,9 +1373,9 @@ public:
const wxPGEditor* GetEditorClass() const;
/**
- Returns property flags.
+ Returns property's hint text (shown in empty value cell).
*/
- FlagType GetFlags() const;
+ inline wxString GetHintText() const;
/** Returns property grid where property lies. */
wxPropertyGrid* GetGrid() const;
@@ -1322,14 +1393,19 @@ public:
*/
const wxString& GetHelpString() const;
+ /** Gets flags as a'|' delimited string. Note that flag names are not
+ prepended with 'wxPG_PROP_'.
+
+ @param flagsMask
+ String will only be made to include flags combined by this parameter.
+ */
+ wxString GetFlagsAsString( FlagType flagsMask ) const;
+
/**
Returns position in parent's array.
*/
unsigned int GetIndexInParent() const;
- /** Returns property's label. */
- const wxString& GetLabel() const;
-
/**
Returns last visible child property, recursively.
*/
@@ -1391,14 +1467,6 @@ public:
*/
virtual wxString GetValueAsString( int argFlags = 0 ) const;
- /** Synonymous to GetValueAsString().
-
- @deprecated Use GetValueAsString() instead.
-
- @see GetValueAsString()
- */
- wxDEPRECATED( wxString GetValueString( int argFlags = 0 ) const );
-
/**
Returns value type used by this property.
*/
@@ -1411,11 +1479,30 @@ public:
int GetY() const;
/**
- Returns non-zero if property has given flag set.
+ Converts image width into full image offset, with margins.
+ */
+ int GetImageOffset( int imageWidth ) const;
+
+ /** Returns property at given virtual y coordinate.
+ */
+ wxPGProperty* GetItemAtY( unsigned int y ) const;
+
+ /**
+ Returns true if property has given flag set.
@see propgrid_propflags
*/
- FlagType HasFlag( wxPGPropertyFlags flag ) const;
+ bool HasFlag(wxPGPropertyFlags flag) const;
+
+ /**
+ Returns true if property has given flag set.
+ */
+ bool HasFlag(FlagType flag) const;
+
+ /**
+ Returns true if property has all given flags set.
+ */
+ bool HasFlagsExact(FlagType flags) const;
/**
Returns @true if property has even one visible child.
@@ -1440,7 +1527,7 @@ public:
int Index( const wxPGProperty* p ) const;
/**
- Use this member function to add independent (ie. regular) children to
+ Use this member function to add independent (i.e. regular) children to
a property.
@return Inserted childProperty.
@@ -1487,8 +1574,14 @@ public:
*/
bool IsRoot() const;
+ /**
+ Returns true if this is a sub-property.
+ */
+ bool IsSubProperty() const;
+
/**
Returns @true if candidateParent is some parent of this property.
+ Use, for example, to detect if item is inside collapsed section.
*/
bool IsSomeParent( wxPGProperty* candidateParent ) const;
@@ -1517,6 +1610,17 @@ public:
*/
wxPGProperty* Item( unsigned int i ) const;
+ /**
+ Returns last sub-property.
+ */
+ wxPGProperty* Last() const;
+
+ /**
+ If property's editor is created this forces its recreation.
+ Useful in SetAttribute etc. Returns true if actually did anything.
+ */
+ bool RecreateEditor();
+
/**
If property's editor is active, then update it's value.
*/
@@ -1536,6 +1640,8 @@ public:
*/
void SetAttribute( const wxString& name, wxVariant value );
+ void SetAttributes( const wxPGAttributeStorage& attributes );
+
/**
Set if user can change the property's value to unspecified by
modifying the value of the editor control (usually by clearing
@@ -1583,6 +1689,11 @@ public:
*/
void SetCell( int column, const wxPGCell& cell );
+ /**
+ Sets common value selected for this property. -1 for none.
+ */
+ void SetCommonValue( int commonValue );
+
/**
Sets new set of choices for the property.
@@ -1598,7 +1709,7 @@ public:
*/
void SetClientData( void* clientData );
- /** Returns client object of a property.
+ /** Sets client object of a property.
*/
void SetClientObject(wxClientData* clientObject);
@@ -1618,6 +1729,13 @@ public:
*/
void SetDefaultValue( wxVariant& value );
+ void SetExpanded( bool expanded );
+
+ /** Sets flags from a '|' delimited string. Note that flag names are not
+ prepended with 'wxPG_PROP_'.
+ */
+ void SetFlagsFromString( const wxString& str );
+
/**
Sets or clears given property flag, recursively. This function is
primarily intended for internal use.
@@ -1682,6 +1800,16 @@ public:
void SetTextColour( const wxColour& colour,
int flags = wxPG_RECURSE );
+ /**
+ Sets property's default text and background colours.
+
+ @param flags
+ Default is wxPG_RECURSE which causes colours to be set recursively.
+ Omit this flag to only set colours for the property in question
+ and not any of its children.
+ */
+ void SetDefaultColours(int flags = wxPG_RECURSE);
+
/** Sets wxValidator for a property */
void SetValidator( const wxValidator& validator );
@@ -1724,19 +1852,22 @@ public:
void SetValueInEvent( wxVariant value ) const;
/**
- Sets property's value to unspecified (ie. Null variant).
+ Sets property's value to unspecified (i.e. Null variant).
*/
void SetValueToUnspecified();
/**
Call with @false in OnSetValue() to cancel value changes after all
- (ie. cancel @true returned by StringToValue() or IntToValue()).
+ (i.e. cancel @true returned by StringToValue() or IntToValue()).
*/
void SetWasModified( bool set = true );
/**
Updates composed values of parent non-category properties, recursively.
Returns topmost property updated.
+
+ @remarks
+ Must not call SetValue() (as can be called in it).
*/
wxPGProperty* UpdateParentValues();
@@ -1745,11 +1876,91 @@ public:
*/
bool UsesAutoUnspecified() const;
+ /** This member is public so scripting language bindings
+ wrapper code can access it freely.
+ */
+ void* m_clientData;
+
protected:
+ /**
+ Sets property cell in fashion that reduces number of exclusive
+ copies of cell data. Used when setting, for instance, same
+ background colour for a number of properties.
+
+ @param firstCol
+ First column to affect.
+
+ @param lastCol
+ Last column to affect.
+
+ @param preparedCell
+ Pre-prepared cell that is used for those which cell data
+ before this matched unmodCellData.
+
+ @param srcData
+ If unmodCellData did not match, valid cell data from this
+ is merged into cell (usually generating new exclusive copy
+ of cell's data).
+
+ @param unmodCellData
+ If cell's cell data matches this, its cell is now set to
+ preparedCell.
+
+ @param ignoreWithFlags
+ Properties with any one of these flags are skipped.
+
+ @param recursively
+ If @true, apply this operation recursively in child properties.
+ */
+ void AdaptiveSetCell( unsigned int firstCol,
+ unsigned int lastCol,
+ const wxPGCell& preparedCell,
+ const wxPGCell& srcData,
+ wxPGCellData* unmodCellData,
+ FlagType ignoreWithFlags,
+ bool recursively );
+
+ /**
+ Clear cells associated with property.
+
+ @param recursively
+ If @true, apply this operation recursively in child properties.
+ */
+ void ClearCells(FlagType ignoreWithFlags, bool recursively);
+
+ /**
+ Makes sure m_cells has size of column+1 (or more).
+ */
+ void EnsureCells( unsigned int column );
+
+ /** Returns (direct) child property with given name (or @NULL if not found),
+ with hint index.
+
+ @param hintIndex
+ Start looking for the child at this index.
+
+ @remarks
+ Does not support scope (i.e. Parent.Child notation).
+ */
+ wxPGProperty* GetPropertyByNameWH( const wxString& name,
+ unsigned int hintIndex ) const;
+
+ /** This is used by Insert etc. */
+ void DoAddChild( wxPGProperty* prop,
+ int index = -1,
+ bool correct_mode = true );
+
/** Deletes all child properties. */
void Empty();
+
+ /**
+ Returns true if child property is selected.
+ */
+ bool IsChildSelected( bool recursive = false ) const;
};
+// -----------------------------------------------------------------------
+
/** @class wxPGCellRenderer
Base class for wxPropertyGrid cell renderers.
@@ -1757,7 +1968,7 @@ protected:
@library{wxpropgrid}
@category{propgrid}
*/
-class WXDLLIMPEXP_PROPGRID wxPGCellRenderer : public wxObjectRefData
+class wxPGCellRenderer : public wxObjectRefData
{
public:
wxPGCellRenderer();
@@ -1766,16 +1977,17 @@ public:
/**
@anchor pgcellrenderer_render_flags
- Flags for wxPGCellRenderer::Render(), wxPGCellRenderer::PreDrawCell()
- and wxPGCellRenderer::PostDrawCell().
+ Flags for Render(), PreDrawCell() and PostDrawCell().
*/
enum
{
/** We are painting selected item.
+ @hideinitializer
*/
Selected = 0x00010000,
/** We are painting item in choice popup.
+ @hideinitializer
*/
ChoicePopup = 0x00020000,
@@ -1783,10 +1995,12 @@ public:
We are rendering wxOwnerDrawnComboBox control
or other owner drawn control, but that is only
officially supported one ATM).
+ @hideinitializer
*/
Control = 0x00040000,
/** We are painting a disable property.
+ @hideinitializer
*/
Disabled = 0x00080000,
@@ -1794,9 +2008,16 @@ public:
We are painting selected, disabled, or similar
item that dictates fore- and background colours,
overriding any cell values.
+ @hideinitializer
*/
DontUseCellFgCol = 0x00100000,
+ /**
+ @hideinitializer
+ */
DontUseCellBgCol = 0x00200000,
+ /**
+ @hideinitializer
+ */
DontUseCellColours = DontUseCellFgCol |
DontUseCellBgCol
};
@@ -1819,7 +2040,7 @@ public:
/** Returns size of the image in front of the editable area.
@remarks
- If property is NULL, then this call is for a custom value. In that case
+ If property is @NULL, then this call is for a custom value. In that case
the item is index to wxPropertyGrid's custom values.
*/
virtual wxSize GetImageSize( const wxPGProperty* property,
@@ -1840,7 +2061,7 @@ public:
/**
Utility to draw editor's value, or vertically aligned text if editor is
- NULL.
+ @NULL.
*/
void DrawEditorValue( wxDC& dc, const wxRect& rect,
int xOffset, const wxString& text,
@@ -1875,6 +2096,7 @@ public:
int flags ) const;
};
+// -----------------------------------------------------------------------
/**
@class wxPGDefaultRenderer
@@ -1885,7 +2107,7 @@ public:
@library{wxpropgrid}
@category{propgrid}
*/
-class WXDLLIMPEXP_PROPGRID wxPGDefaultRenderer : public wxPGCellRenderer
+class wxPGDefaultRenderer : public wxPGCellRenderer
{
public:
/**
@@ -1908,6 +2130,8 @@ public:
int item ) const;
};
+// -----------------------------------------------------------------------
+
/**
@class wxPGCellData
@@ -1961,6 +2185,7 @@ public:
virtual ~wxPGCell();
+ wxPGCellData* GetData();
const wxPGCellData* GetData() const;
/**
@@ -1968,6 +2193,11 @@ public:
*/
bool HasText() const;
+ /**
+ Sets empty but valid data to this cell object.
+ */
+ void SetEmptyData();
+
/**
Merges valid data from srcCell into this.
*/
@@ -2007,6 +2237,29 @@ public:
wxPGCell& operator=( const wxPGCell& other );
};
+// -----------------------------------------------------------------------
+
+/** @class wxPGAttributeStorage
+
+ wxPGAttributeStorage is somewhat optimized storage for
+ key=variant pairs (i.e. a map).
+*/
+class wxPGAttributeStorage
+{
+public:
+ wxPGAttributeStorage();
+ ~wxPGAttributeStorage();
+
+ void Set( const wxString& name, const wxVariant& value );
+ unsigned int GetCount() const;
+ wxVariant FindValue( const wxString& name ) const;
+
+ typedef wxPGHashMapS2P::const_iterator const_iterator;
+ const_iterator StartIteration() const;
+ bool GetNext( const_iterator& it, wxVariant& variant ) const;
+};
+
+// -----------------------------------------------------------------------
/**
@class wxPGChoices
@@ -2041,38 +2294,80 @@ public:
*/
wxPGChoices( const wxPGChoices& a );
- /** Constructor. */
+ /**
+ Constructor.
+
+ @param labels
+ Labels for choices.
+
+ @param values
+ Values for choices. If @NULL, indexes are used.
+ */
wxPGChoices( const wxChar** labels, const long* values = NULL );
- /** Constructor. */
+ /**
+ Constructor.
+
+ @param labels
+ Labels for choices.
+
+ @param values
+ Values for choices. If empty, indexes are used.
+ */
wxPGChoices( const wxArrayString& labels, const wxArrayInt& values = wxArrayInt() );
- /** Constructor. */
+ /**
+ Simple interface constructor.
+ */
wxPGChoices( wxPGChoicesData* data );
- /** Destructor. */
+ /**
+ Destructor.
+ */
~wxPGChoices();
/**
Adds to current. If did not have own copies, creates them now. If was empty,
identical to set except that creates copies.
+
+ @param labels
+ Labels for added choices.
+
+ @param values
+ Values for added choices. If empty, relevant entry indexes are used.
*/
void Add( const wxChar** labels, const ValArrItem* values = NULL );
- /** Version that works with wxArrayString and wxArrayInt. */
+ /**
+ Adds to current. Version that works with wxArrayString and wxArrayInt.
+ */
void Add( const wxArrayString& arr, const wxArrayInt& arrint );
- /** Adds single item. */
+ /**
+ Adds a single choice item.
+
+ @param label
+ Label for added choice.
+
+ @param value
+ Value for added choice. If unspecified, index is used.
+ */
wxPGChoiceEntry& Add( const wxString& label, int value = wxPG_INVALID_VALUE );
- /** Adds a single item, with bitmap. */
+ /**
+ Adds a single item, with bitmap.
+ */
wxPGChoiceEntry& Add( const wxString& label, const wxBitmap& bitmap,
int value = wxPG_INVALID_VALUE );
- /** Adds a single item with full entry information. */
+ /**
+ Adds a single item with full entry information.
+ */
wxPGChoiceEntry& Add( const wxPGChoiceEntry& entry );
- /** Adds single item, sorted. */
+ /**
+ Adds a single item, sorted.
+ */
wxPGChoiceEntry& AddAsSorted( const wxString& label, int value = wxPG_INVALID_VALUE );
/**
@@ -2096,6 +2391,13 @@ public:
*/
wxPGChoices Copy() const;
+ void EnsureData();
+
+ /**
+ Gets a unsigned number identifying this list.
+ */
+ wxPGChoicesId GetId() const;
+
/**
Returns label of item.
*/
@@ -2107,7 +2409,7 @@ public:
unsigned int GetCount() const;
/**
- Returns value of item;
+ Returns value of item.
*/
int GetValue( unsigned int ind ) const;
@@ -2135,7 +2437,7 @@ public:
int Index( int val ) const;
/**
- Inserts single item.
+ Inserts a single item.
*/
wxPGChoiceEntry& Insert( const wxString& label, int index, int value = wxPG_INVALID_VALUE );
@@ -2180,6 +2482,21 @@ public:
*/
void AllocExclusive();
+ /**
+ Returns data, increases refcount.
+ */
+ wxPGChoicesData* GetData();
+
+ /**
+ Returns plain data ptr - no refcounting stuff is done.
+ */
+ wxPGChoicesData* GetDataPtr() const;
+
+ /**
+ Changes ownership of data to you.
+ */
+ wxPGChoicesData* ExtractData();
+
/**
Returns array of choice labels.
*/
@@ -2189,6 +2506,74 @@ public:
wxPGChoiceEntry& operator[](unsigned int i);
const wxPGChoiceEntry& operator[](unsigned int i) const;
+
+protected:
+ wxPGChoicesData* m_data;
+
+ void Init();
+ void Free();
};
// -----------------------------------------------------------------------
+
+/** @class wxPGChoiceEntry
+
+ Data of a single wxPGChoices choice.
+*/
+class wxPGChoiceEntry : public wxPGCell
+{
+public:
+ wxPGChoiceEntry();
+ wxPGChoiceEntry(const wxPGChoiceEntry& other);
+ wxPGChoiceEntry( const wxString& label,
+ int value = wxPG_INVALID_VALUE );
+
+ virtual ~wxPGChoiceEntry();
+
+ void SetValue( int value );
+ int GetValue() const;
+
+ wxPGChoiceEntry& operator=( const wxPGChoiceEntry& other );
+};
+
+// -----------------------------------------------------------------------
+
+/** @class wxPGRootProperty
+
+ Root parent property.
+*/
+class wxPGRootProperty : public wxPGProperty
+{
+public:
+
+ /** Constructor. */
+ wxPGRootProperty( const wxString& name = wxS("") );
+ virtual ~wxPGRootProperty();
+
+ virtual bool StringToValue( wxVariant&, const wxString&, int ) const;
+};
+
+// -----------------------------------------------------------------------
+
+/** @class wxPropertyCategory
+
+ Category (caption) property.
+*/
+class wxPropertyCategory : public wxPGProperty
+{
+ friend class wxPropertyGrid;
+ friend class wxPropertyGridPageState;
+public:
+
+ /** Default constructor is only used in special cases. */
+ wxPropertyCategory();
+
+ wxPropertyCategory( const wxString& label,
+ const wxString& name = wxPG_LABEL );
+ ~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;
+};