]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/propgrid/property.h
interface revisions of ta*h te*h headers; grouped wxTextAttr #defines into enums...
[wxWidgets.git] / include / wx / propgrid / property.h
index 3dab6627466b0f521e5f7496fbf80add19e9dc7a..dc4947eded833e27c1e5deb0c566617768ec9347 100644 (file)
@@ -615,7 +615,7 @@ public:
     // Takes ownership of 'item'
     void Insert( int index, wxPGChoiceEntry* item )
     {
     // Takes ownership of 'item'
     void Insert( int index, wxPGChoiceEntry* item )
     {
-        wxArrayPtrVoid::iterator it;
+        wxVector<wxPGChoiceEntry*>::iterator it;
         if ( index == -1 )
         {
             it = m_items.end();
         if ( index == -1 )
         {
             it = m_items.end();
@@ -642,7 +642,7 @@ public:
     {
         wxCHECK_MSG( i < GetCount(), NULL, "invalid index" );
 
     {
         wxCHECK_MSG( i < GetCount(), NULL, "invalid index" );
 
-        return (wxPGChoiceEntry*) m_items[i];
+        return m_items[i];
     }
 
     void DecRef()
     }
 
     void DecRef()
@@ -654,7 +654,7 @@ public:
     }
 
 private:
     }
 
 private:
-    wxArrayPtrVoid  m_items;
+    wxVector<wxPGChoiceEntry*>  m_items;
 
     // So that multiple properties can use the same set
     int             m_refCount;
 
     // So that multiple properties can use the same set
     int             m_refCount;
@@ -1016,9 +1016,15 @@ public:
                                 wxPGValidationInfo& validationInfo ) const;
 
     /**
                                 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).
         @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).
 
             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;
 
     /**
     */
     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.
 
 
         @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.
         @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.
         - 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,
     */
     virtual bool IntToValue( wxVariant& value,
                              int number,
@@ -1888,19 +1908,18 @@ public:
     int GetChildrenHeight( int lh, int iMax = -1 ) const;
 
     /** Returns number of child properties */
     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
 
     /** 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.
     */
 
     /** 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();
 
     /** Deletes all sub-properties. */
     void Empty();
@@ -1985,6 +2004,9 @@ protected:
     // Call for after sub-properties added with AddChild
     void PrepareSubProperties();
 
     // 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);
     void SetParentalType( int flag )
     {
         m_flags &= ~(wxPG_PROP_PROPERTY|wxPG_PROP_PARENTAL_FLAGS);
@@ -2021,7 +2043,7 @@ protected:
 
     wxVariant                   m_value;
     wxPGAttributeStorage        m_attributes;
 
     wxVariant                   m_value;
     wxPGAttributeStorage        m_attributes;
-    wxArrayPtrVoid              m_children;
+    wxArrayPGProperty           m_children;
 
     // Extended cell information
     wxArrayPtrVoid              m_cells;
 
     // Extended cell information
     wxArrayPtrVoid              m_cells;