Version: 3.3.0
wxIntProperty Class Reference

#include <wx/propgrid/props.h>

+ Inheritance diagram for wxIntProperty:

Detailed Description

Basic property with integer value.

Seamlessly supports 64-bit integer (wxLongLong) on overflow.

Example how to use seamless 64-bit integer support

Getting value:

wxLongLong_t value = pg->GetPropertyValueAsLongLong();

or

wxLongLong_t value;
wxVariant variant = property->GetValue();
if ( variant.GetType() == "wxLongLong" )
value = wxLongLongFromVariant(variant);
else
value = variant.GetLong();
The wxVariant class represents a container for any type.
Definition: variant.h:170
long GetLong() const
Returns the integer value.
wxString GetType() const
Returns the value type as a string.

Setting value:

pg->SetPropertyValue(longLongVal);

or

property->SetValue(WXVARIANT(longLongVal));

Supported special attributes:

Public Member Functions

 wxIntProperty (const wxString &label=wxPG_LABEL, const wxString &name=wxPG_LABEL, long value=0)
 
virtual ~wxIntProperty ()
 
 wxIntProperty (const wxString &label, const wxString &name, const wxLongLong &value)
 
virtual wxString ValueToString (wxVariant &value, wxPGPropValFormatFlags flags=wxPGPropValFormatFlags::Null) const
 Converts property value into a text representation. More...
 
virtual bool StringToValue (wxVariant &variant, const wxString &text, wxPGPropValFormatFlags flags=wxPGPropValFormatFlags::Null) const
 Converts text into wxVariant value appropriate for this property. More...
 
virtual bool ValidateValue (wxVariant &value, wxPGValidationInfo &validationInfo) const
 Implement this function in derived class to check the value. More...
 
virtual bool IntToValue (wxVariant &variant, int number, wxPGPropValFormatFlags flags=wxPGPropValFormatFlags::Null) const
 Converts integer (possibly a choice selection) into wxVariant value appropriate for this property. More...
 
virtual wxValidatorDoGetValidator () const
 Returns pointer to the wxValidator that should be used with the editor of this property (nullptr for no validator). More...
 
virtual wxVariant AddSpinStepValue (long stepScale) const
 Returns what would be the new value of the property after adding SpinCtrl editor step to the current value. More...
 
- Public Member Functions inherited from wxNumericProperty
virtual ~wxNumericProperty ()
 
virtual bool DoSetAttribute (const wxString &name, wxVariant &value)
 Reimplement this member function to add special handling for attributes of this property. More...
 
bool UseSpinMotion () const
 Return true if value can be changed with SpinCtrl editor by moving the mouse. More...
 
- Public Member Functions inherited from wxPGProperty
virtual ~wxPGProperty ()
 Virtual destructor. More...
 
virtual void OnSetValue ()
 This virtual function is called after m_value has been set. More...
 
virtual wxVariant DoGetValue () const
 Override this to return something else than m_value as the value. More...
 
bool SetValueFromString (const wxString &text, wxPGPropValFormatFlags flags=wxPGPropValFormatFlags::ProgrammaticValue)
 Converts string to a value, and if successful, calls SetValue() on it. More...
 
bool SetValueFromInt (long value, wxPGPropValFormatFlags flags=wxPGPropValFormatFlags::Null)
 Converts integer to a value, and if successful, calls SetValue() on it. More...
 
virtual wxSize OnMeasureImage (int item=-1) const
 Returns size of the custom painted image in front of property. More...
 
virtual bool OnEvent (wxPropertyGrid *propgrid, wxWindow *wnd_primary, wxEvent &event)
 Events received by editor widgets are processed here. More...
 
virtual wxVariant ChildChanged (wxVariant &thisValue, int childIndex, wxVariant &childValue) const
 Called after value of a child property has been altered. More...
 
virtual const wxPGEditorDoGetEditorClass () const
 Returns pointer to an instance of used editor. More...
 
virtual void OnCustomPaint (wxDC &dc, const wxRect &rect, wxPGPaintData &paintdata)
 Override to paint an image in front of the property value text or drop-down list item (but only if wxPGProperty::OnMeasureImage is overridden as well). More...
 
virtual wxPGCellRendererGetCellRenderer (int column) const
 Returns used wxPGCellRenderer instance for given property column (label=0, value=1). More...
 
virtual int GetChoiceSelection () const
 Returns which choice is currently selected. More...
 
virtual void RefreshChildren ()
 Refresh values of child properties. More...
 
virtual wxVariant DoGetAttribute (const wxString &name) const
 Returns value of an attribute. More...
 
virtual wxPGEditorDialogAdapterGetEditorDialog () const
 Returns instance of a new wxPGEditorDialogAdapter instance, which is used when user presses the (optional) button next to the editor control;. More...
 
virtual void OnValidationFailure (wxVariant &pendingValue)
 Called whenever validation has failed with given pending value. More...
 
int AddChoice (const wxString &label, int value=wxPG_INVALID_VALUE)
 Append a new choice to property's list of choices. More...
 
void AddChild (wxPGProperty *prop)
 Adds a private child property. More...
 
void AddPrivateChild (wxPGProperty *prop)
 Adds a private child property. More...
 
void AdaptListToValue (wxVariant &list, wxVariant *value) const
 Adapts list variant into proper value using consecutive ChildChanged() calls. More...
 
wxPGPropertyAppendChild (wxPGProperty *childProperty)
 Use this member function to add independent (i.e. More...
 
bool AreAllChildrenSpecified (const wxVariant *pendingList=nullptr) const
 Determines, recursively, if all children are not unspecified. More...
 
bool AreChildrenComponents () const
 Returns true if children of this property are component values (for instance, points size, face name, and is_underlined are component values of a font). More...
 
void ChangeFlag (wxPGPropertyFlags flag, bool set)
 Sets or clears given property flag. More...
 
void DeleteChildren ()
 Deletes children of the property. More...
 
void DeleteChoice (int index)
 Removes entry from property's wxPGChoices and editor control (if it is active). More...
 
void Enable (bool enable=true)
 Enables or disables the property. More...
 
void EnableCommonValue (bool enable=true)
 Call to enable or disable usage of common value (integer value that can be selected for properties instead of their normal values) for this property. More...
 
wxString GenerateComposedValue () const
 Composes text from values of child properties. More...
 
const wxStringGetLabel () const
 Returns property's label. More...
 
wxVariant GetAttribute (const wxString &name) const
 Returns property attribute value, null variant if not found. More...
 
wxString GetAttribute (const wxString &name, const wxString &defVal) const
 Returns named attribute, as string, if found. More...
 
long GetAttributeAsLong (const wxString &name, long defVal) const
 Returns named attribute, as long, if found. More...
 
double GetAttributeAsDouble (const wxString &name, double defVal) const
 Returns named attribute, as double, if found. More...
 
const wxPGAttributeStorageGetAttributes () const
 Returns map-like storage of property's attributes. More...
 
wxVariant GetAttributesAsList () const
 Returns attributes as list wxVariant. More...
 
const wxPGEditorGetColumnEditor (int column) const
 Returns editor used for given column. More...
 
const wxStringGetBaseName () const
 Returns property's base name (i.e. More...
 
const wxPGCellGetCell (unsigned int column) const
 Returns wxPGCell of given column. More...
 
wxPGCellGetCell (unsigned int column)
 Returns wxPGCell of given column, creating one if necessary. More...
 
wxPGCellGetOrCreateCell (unsigned int column)
 Returns wxPGCell of given column, creating one if necessary. More...
 
unsigned int GetChildCount () const
 Returns number of child properties. More...
 
bool HasAnyChild () const
 Checks if there is any child property. More...
 
int GetChildrenHeight (int lh, int iMax=-1) const
 Returns height of children, recursively, and by taking expanded/collapsed status into account. More...
 
const wxPGChoicesGetChoices () const
 Returns read-only reference to property's list of choices. More...
 
void * GetClientData () const
 Returns client data (void*) of a property. More...
 
wxClientDataGetClientObject () const
 Gets managed client object of a property. More...
 
wxVariant GetDefaultValue () const
 Returns property's default value. More...
 
int GetCommonValue () const
 Returns common value selected for this property. More...
 
unsigned int GetDepth () const
 
int GetDisplayedCommonValueCount () const
 Return number of displayed common values for this property. More...
 
wxString GetDisplayedString () const
 Returns property's displayed text. More...
 
const wxPGEditorGetEditorClass () const
 Returns wxPGEditor that will be used and created when property becomes selected. More...
 
wxString GetHintText () const
 Returns property's hint text (shown in empty value cell). More...
 
wxPropertyGridGetGrid () const
 Returns property grid where property lies. More...
 
wxPropertyGridGetGridIfDisplayed () const
 Returns owner wxPropertyGrid, but only if one is currently on a page displaying this property. More...
 
const wxStringGetHelpString () const
 Returns property's help or description text. More...
 
wxString GetFlagsAsString (wxPGPropertyFlags flagsMask) const
 Gets flags as a'|' delimited string. More...
 
unsigned int GetIndexInParent () const
 Returns position in parent's array. More...
 
const wxPGPropertyGetLastVisibleSubItem () const
 Returns last visible child property, recursively. More...
 
wxPGPropertyGetMainParent () const
 Returns highest level non-category, non-root parent. More...
 
int GetMaxLength () const
 Returns maximum allowed length of the text the user can enter in the property text editor. More...
 
wxString GetName () const
 Returns property's name with all (non-category, non-root) parents. More...
 
wxPGPropertyGetParent () const
 Return parent of property. More...
 
wxPGPropertyGetPropertyByName (const wxString &name) const
 Returns (direct) child property with given name (or nullptr if not found). More...
 
wxValidatorGetValidator () const
 Gets assignable version of property's validator. More...
 
wxVariant GetValue () const
 Returns property's value. More...
 
wxBitmapGetValueImage () const
 Returns bitmap that appears next to value text. More...
 
virtual wxString GetValueAsString (wxPGPropValFormatFlags flags=wxPGPropValFormatFlags::Null) const
 Returns text representation of property's value. More...
 
wxString GetValueType () const
 Returns value type used by this property. More...
 
int GetY () const
 Returns coordinate to the top y of the property. More...
 
int GetImageOffset (int imageWidth) const
 Converts image width into full image offset, with margins. More...
 
wxPGPropertyGetItemAtY (unsigned int y) const
 Returns property at given virtual y coordinate. More...
 
bool HasFlag (wxPGPropertyFlags flag) const
 Returns true if property has given flag set. More...
 
bool HasFlagsExact (wxPGPropertyFlags flags) const
 Returns true if property has all given flags set. More...
 
bool HasVisibleChildren () const
 Returns true if property has even one visible child. More...
 
bool Hide (bool hide, wxPGPropertyValuesFlags flags=wxPGPropertyValuesFlags::Recurse)
 Hides or reveals the property. More...
 
int Index (const wxPGProperty *p) const
 Returns index of given child property. More...
 
wxPGPropertyInsertChild (int index, wxPGProperty *childProperty)
 Use this member function to add independent (i.e. More...
 
int InsertChoice (const wxString &label, int index, int value=wxPG_INVALID_VALUE)
 Inserts a new choice to property's list of choices. More...
 
bool IsCategory () const
 Returns true if this property is actually a wxPropertyCategory. More...
 
bool IsEnabled () const
 Returns true if property is enabled. More...
 
bool IsExpanded () const
 Returns true if property has visible children. More...
 
bool IsRoot () const
 Returns true if this property is actually a wxRootProperty. More...
 
bool IsSubProperty () const
 Returns true if this is a sub-property. More...
 
bool IsSomeParent (wxPGProperty *candidateParent) const
 Returns true if candidateParent is some parent of this property. More...
 
bool IsTextEditable () const
 Returns true if property has editable wxTextCtrl when selected. More...
 
bool IsValueUnspecified () const
 Returns true if property's value is considered unspecified. More...
 
bool IsVisible () const
 Returns true if all parents expanded. More...
 
wxPGPropertyItem (unsigned int i) const
 Returns child property at index i. More...
 
wxPGPropertyLast () const
 Returns last sub-property. More...
 
bool RecreateEditor ()
 If property's editor is created this forces its recreation. More...
 
void RefreshEditor ()
 If property's editor is active, then update it's value. More...
 
void SetAttribute (const wxString &name, wxVariant value)
 Sets an attribute for this property. More...
 
void SetAttributes (const wxPGAttributeStorage &attributes)
 
void SetAutoUnspecified (bool enable=true)
 Set if user can change the property's value to unspecified by modifying the value of the editor control (usually by clearing it). More...
 
void SetBackgroundColour (const wxColour &colour, wxPGPropertyValuesFlags flags=wxPGPropertyValuesFlags::Recurse)
 Sets property's background colour. More...
 
void SetEditor (const wxPGEditor *editor)
 Sets editor for a property. More...
 
void SetEditor (const wxString &editorName)
 Sets editor for a property, by editor name. More...
 
void SetCell (int column, const wxPGCell &cell)
 Sets cell information for given column. More...
 
void SetCommonValue (int commonValue)
 Sets common value selected for this property. More...
 
bool SetChoices (wxPGChoices &choices)
 Sets new set of choices for the property. More...
 
void SetClientData (void *clientData)
 Sets client data (void*) of a property. More...
 
void SetClientObject (wxClientData *clientObject)
 Sets client object of a property. More...
 
void SetChoiceSelection (int newValue)
 Sets selected choice and changes property value. More...
 
void SetDefaultValue (wxVariant &value)
 Set default value of a property. More...
 
void SetExpanded (bool expanded)
 
void SetFlagsFromString (const wxString &str)
 Sets flags from a '|' delimited string. More...
 
void SetFlagRecursively (wxPGPropertyFlags flag, bool set)
 Sets or clears given property flag, recursively. More...
 
void SetHelpString (const wxString &helpString)
 Sets property's help string, which is shown, for example, in wxPropertyGridManager's description text box. More...
 
void SetLabel (const wxString &label)
 Sets property's label. More...
 
bool SetMaxLength (int maxLen)
 Set maximum length of the text the user can enter in the text editor associated with property. More...
 
void SetModifiedStatus (bool modified)
 Sets property's "is it modified?" flag. More...
 
void SetName (const wxString &newName)
 Sets new (base) name for property. More...
 
void SetParentalType (wxPGPropertyFlags flag)
 Changes what sort of parent this property is for its children. More...
 
void SetTextColour (const wxColour &colour, wxPGPropertyValuesFlags flags=wxPGPropertyValuesFlags::Recurse)
 Sets property's text colour. More...
 
void SetDefaultColours (wxPGPropertyValuesFlags flags=wxPGPropertyValuesFlags::Recurse)
 Sets property's default text and background colours. More...
 
void SetValidator (const wxValidator &validator)
 Sets wxValidator for a property. More...
 
void SetValue (wxVariant value, wxVariant *pList=nullptr, wxPGSetValueFlags flags=wxPGSetValueFlags::RefreshEditor)
 Call this to set value of the property. More...
 
void SetValueImage (wxBitmapBundle &bmp)
 Set wxBitmap taken from wxBitmapBundle in front of the value. More...
 
void SetValueInEvent (const wxVariant &value) const
 Call this function in OnEvent(), OnButtonClick() etc. More...
 
void SetValueToUnspecified ()
 Sets property's value to unspecified (i.e. More...
 
void SetWasModified (bool set=true)
 Call with false in OnSetValue() to cancel value changes after all (i.e. More...
 
wxPGPropertyUpdateParentValues ()
 Updates composed values of parent non-category properties, recursively. More...
 
bool UsesAutoUnspecified () const
 Returns true if containing grid uses wxPG_EX_AUTO_UNSPECIFIED_VALUES. More...
 
- Public Member Functions inherited from wxObject
 wxObject ()
 Default ctor; initializes to nullptr the internal reference data. More...
 
 wxObject (const wxObject &other)
 Copy ctor. More...
 
virtual ~wxObject ()
 Destructor. More...
 
virtual wxClassInfoGetClassInfo () const
 This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
 
wxObjectRefDataGetRefData () const
 Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
 
bool IsKindOf (const wxClassInfo *info) const
 Determines whether this class is a subclass of (or the same class as) the given class. More...
 
bool IsSameAs (const wxObject &obj) const
 Returns true if this object has the same data pointer as obj. More...
 
void Ref (const wxObject &clone)
 Makes this object refer to the data in clone. More...
 
void SetRefData (wxObjectRefData *data)
 Sets the wxObject::m_refData pointer. More...
 
void UnRef ()
 Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
 
void UnShare ()
 This is the same of AllocExclusive() but this method is public. More...
 
void operator delete (void *buf)
 The delete operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 
void * operator new (size_t size, const wxString &filename=nullptr, int lineNum=0)
 The new operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 

Static Public Member Functions

static wxValidatorGetClassValidator ()
 

Additional Inherited Members

- Public Attributes inherited from wxPGProperty
void * m_clientData
 This member is public so scripting language bindings wrapper code can access it freely. More...
 
- Protected Member Functions inherited from wxNumericProperty
 wxNumericProperty (const wxString &label, const wxString &name)
 Constructor is protected because wxNumericProperty is only a base class for other numeric property classes. More...
 
- Protected Member Functions inherited from wxPGProperty
 wxPGProperty ()
 Default constructor. More...
 
 wxPGProperty (const wxString &label, const wxString &name)
 Constructor. More...
 
void AdaptiveSetCell (unsigned int firstCol, unsigned int lastCol, const wxPGCell &preparedCell, const wxPGCell &srcData, wxPGCellData *unmodCellData, wxPGPropertyFlags ignoreWithFlags, bool recursively)
 Sets property cell in fashion that reduces number of exclusive copies of cell data. More...
 
void ClearCells (wxPGPropertyFlags ignoreWithFlags, bool recursively)
 Clear cells associated with property. More...
 
void EnsureCells (unsigned int column)
 Makes sure m_cells has size of column+1 (or more). More...
 
wxPGPropertyGetPropertyByNameWH (const wxString &name, unsigned int hintIndex) const
 Returns (direct) child property with given name (or nullptr if not found), with hint index. More...
 
void DoAddChild (wxPGProperty *prop, int index=-1, bool correct_mode=true)
 This is used by Insert etc. More...
 
void Empty ()
 Deletes all child properties. More...
 
bool IsChildSelected (bool recursive=false) const
 Returns true if child property is selected. More...
 
- Protected Member Functions inherited from wxObject
void AllocExclusive ()
 Ensure that this object's data is not shared with any other object. More...
 
virtual wxObjectRefDataCreateRefData () const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
 
virtual wxObjectRefDataCloneRefData (const wxObjectRefData *data) const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
 
- Protected Attributes inherited from wxNumericProperty
wxVariant m_minVal
 
wxVariant m_maxVal
 
bool m_spinMotion
 
wxVariant m_spinStep
 
bool m_spinWrap
 
- Protected Attributes inherited from wxObject
wxObjectRefDatam_refData
 Pointer to an object which is the object's reference-counted data. More...
 

Constructor & Destructor Documentation

◆ wxIntProperty() [1/2]

wxIntProperty::wxIntProperty ( const wxString label = wxPG_LABEL,
const wxString name = wxPG_LABEL,
long  value = 0 
)

◆ ~wxIntProperty()

virtual wxIntProperty::~wxIntProperty ( )
virtual

◆ wxIntProperty() [2/2]

wxIntProperty::wxIntProperty ( const wxString label,
const wxString name,
const wxLongLong value 
)

Member Function Documentation

◆ AddSpinStepValue()

virtual wxVariant wxIntProperty::AddSpinStepValue ( long  stepScale) const
virtual

Returns what would be the new value of the property after adding SpinCtrl editor step to the current value.

Current value range and wrapping (if enabled) are taken into account. This member has to be implemented in derived properties.

Parameters
stepScaleSpinCtrl editor step is first multiplied by this factor and next added to the current value.
Returns
Value which property would have after adding SpinCtrl editor step.
Remarks
Current property value is not changed.

Implements wxNumericProperty.

◆ DoGetValidator()

virtual wxValidator* wxIntProperty::DoGetValidator ( ) const
virtual

Returns pointer to the wxValidator that should be used with the editor of this property (nullptr for no validator).

Setting validator explicitly via SetPropertyValidator will override this.

In most situations, code like this should work well (macros are used to maintain one actual validator instance, so on the second call the function exits within the first macro):

wxValidator* wxMyPropertyClass::DoGetValidator () const
{
WX_PG_DOGETVALIDATOR_ENTRY()
wxMyValidator* validator = new wxMyValidator(...);
... prepare validator...
WX_PG_DOGETVALIDATOR_EXIT(validator)
}
wxValidator is the base class for a family of validator classes that mediate between a class of contr...
Definition: validate.h:38
Remarks
You can get common filename validator by returning wxFileProperty::GetClassValidator(). wxDirProperty, for example, uses it.

Reimplemented from wxPGProperty.

◆ GetClassValidator()

static wxValidator* wxIntProperty::GetClassValidator ( )
static

◆ IntToValue()

virtual bool wxIntProperty::IntToValue ( wxVariant variant,
int  number,
wxPGPropValFormatFlags  flags = wxPGPropValFormatFlags::Null 
) const
virtual

Converts integer (possibly a choice selection) into wxVariant value appropriate for this property.

Parameters
variantOn function entry this is the old value (should not be null wxVariant in normal cases). Translated value must be assigned back to it.
numberInteger to be translated into variant.
flagsIf wxPGPropValFormatFlags::FullValue is set, returns complete, storable value instead of displayable one.
Returns
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 Mull variant if property value is unspecified (which is usually only case if you explicitly enabled that sort behaviour).

Reimplemented from wxPGProperty.

◆ StringToValue()

virtual bool wxIntProperty::StringToValue ( wxVariant variant,
const wxString text,
wxPGPropValFormatFlags  flags = wxPGPropValFormatFlags::Null 
) const
virtual

Converts text into wxVariant value appropriate for this property.

Parameters
variantOn function entry this is the old value (should not be null wxVariant in normal cases). Translated value must be assigned back to it.
textText to be translated into variant.
flagsIf wxPGPropValFormatFlags::FullValue is set, returns complete, storable value instead of displayable one (they may be different). If wxPGPropValFormatFlags::CompositeFragment is set, text is interpreted as a part of composite property string value (as generated by ValueToString() called with this same flag).
Returns
Returns true if resulting wxVariant value was different.
Remarks
Default implementation converts semicolon delimited tokens into child values. Only works for properties with children.

You might want to take into account that m_value is Null variant if property value is unspecified (which is usually only case if you explicitly enabled that sort behaviour).

Reimplemented from wxPGProperty.

◆ ValidateValue()

virtual bool wxIntProperty::ValidateValue ( wxVariant value,
wxPGValidationInfo validationInfo 
) const
virtual

Implement this function in derived class to check the value.

Return true if it is ok. Returning false prevents property change events from occurring.

Remarks
  • Default implementation always returns true.

Reimplemented from wxPGProperty.

◆ ValueToString()

virtual wxString wxIntProperty::ValueToString ( wxVariant value,
wxPGPropValFormatFlags  flags = wxPGPropValFormatFlags::Null 
) const
virtual

Converts property value into a text representation.

Parameters
valueValue to be converted.
flagsIf wxPGPropValFormatFlags::Null (default value), then displayed string is returned. If wxPGPropValFormatFlags::FullValue is set, returns complete, storable string value instead of displayable. If wxPGPropValFormatFlags::EditableValue is set, returns string value that must be editable in textctrl. If wxPGPropValFormatFlags::CompositeFragment is set, returns text that is appropriate to display as a part of string property's composite text representation.
Remarks
Default implementation calls GenerateComposedValue().

Reimplemented from wxPGProperty.