X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0d6e0565c62a19264eb7d02dc2c2a1bad403d3f7..c6cf894ae2dc66126724a9aee8ba5c62f4d9572a:/include/wx/propgrid/property.h diff --git a/include/wx/propgrid/property.h b/include/wx/propgrid/property.h index 54c1ad1266..dc4947eded 100644 --- a/include/wx/propgrid/property.h +++ b/include/wx/propgrid/property.h @@ -615,7 +615,7 @@ public: // Takes ownership of 'item' void Insert( int index, wxPGChoiceEntry* item ) { - wxArrayPtrVoid::iterator it; + wxVector::iterator it; if ( index == -1 ) { it = m_items.end(); @@ -642,7 +642,7 @@ public: { wxCHECK_MSG( i < GetCount(), NULL, "invalid index" ); - return (wxPGChoiceEntry*) m_items[i]; + return m_items[i]; } void DecRef() @@ -654,7 +654,7 @@ public: } private: - wxArrayPtrVoid m_items; + wxVector m_items; // So that multiple properties can use the same set int m_refCount; @@ -1016,9 +1016,15 @@ public: wxPGValidationInfo& validationInfo ) const; /** - Converts 'text' into proper value 'variant'. - Returns true if new (different than m_value) value could be interpreted - from the text. + 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). @@ -1026,25 +1032,36 @@ public: composite property string value (as generated by GetValueAsString() called with this same flag). - @remarks - Default implementation converts semicolon delimited tokens into child - values. Only works for properties with children. + @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 behavior). */ virtual bool StringToValue( wxVariant& variant, const wxString& text, int argFlags = 0 ) const; /** - Converts 'number' (including choice selection) into proper value - 'variant'. + 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. - Returns true if new (different than m_value) value could be interpreted - from the integer. + @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. @@ -1052,6 +1069,9 @@ public: - 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 behavior). */ virtual bool IntToValue( wxVariant& value, int number, @@ -1605,8 +1625,6 @@ public: */ double GetAttributeAsDouble( const wxString& name, double defVal ) const; - unsigned int GetArrIndex() const { return m_arrIndex; } - unsigned int GetDepth() const { return (unsigned int)m_depth; } /** Gets flags as a'|' delimited string. Note that flag names are not @@ -1890,19 +1908,18 @@ public: int GetChildrenHeight( int lh, int iMax = -1 ) const; /** Returns number of child properties */ - unsigned int GetChildCount() const { return m_children.GetCount(); } + unsigned int GetChildCount() const { return m_children.size(); } /** Returns sub-property at index i. */ wxPGProperty* Item( size_t i ) const - { return (wxPGProperty*)m_children.Item(i); } + { return m_children[i]; } /** Returns last sub-property. */ - wxPGProperty* Last() const { return (wxPGProperty*)m_children.Last(); } + wxPGProperty* Last() const { return m_children.back(); } - /** Returns index of given sub-property. */ - int Index( const wxPGProperty* p ) const - { return m_children.Index((wxPGProperty*)p); } + /** Returns index of given child property. */ + int Index( const wxPGProperty* p ) const; /** Deletes all sub-properties. */ void Empty(); @@ -1987,6 +2004,9 @@ protected: // Call for after sub-properties added with AddChild void PrepareSubProperties(); + // Removes child property with given pointer. Does not delete it. + void RemoveChild( wxPGProperty* p ); + void SetParentalType( int flag ) { m_flags &= ~(wxPG_PROP_PROPERTY|wxPG_PROP_PARENTAL_FLAGS); @@ -2023,7 +2043,7 @@ protected: wxVariant m_value; wxPGAttributeStorage m_attributes; - wxArrayPtrVoid m_children; + wxArrayPGProperty m_children; // Extended cell information wxArrayPtrVoid m_cells;