~wxPGAttributeStorage();
void Set( const wxString& name, const wxVariant& value );
- size_t GetCount() const { return m_map.size(); }
+ unsigned int GetCount() const { return (unsigned int) m_map.size(); }
wxVariant FindValue( const wxString& name ) const
{
wxPGHashMapS2P::const_iterator it = m_map.find(name);
if ( index == -1 )
{
it = m_items.end();
- index = m_items.size();
+ index = (int) m_items.size();
}
else
{
// Delete all entries
void Clear();
- size_t GetCount() const { return m_items.size(); }
+ unsigned int GetCount() const
+ {
+ return (unsigned int) m_items.size();
+ }
wxPGChoiceEntry* Item( unsigned int i ) const
{
/** Gets a unsigned number identifying this list. */
wxPGChoicesId GetId() const { return (wxPGChoicesId) m_data; };
- const wxString& GetLabel( size_t ind ) const
+ const wxString& GetLabel( unsigned int ind ) const
{
return Item(ind).GetText();
}
- size_t GetCount () const
+ unsigned int GetCount () const
{
if ( !m_data )
return 0;
return m_data->GetCount();
}
- int GetValue( size_t ind ) const { return Item(ind).GetValue(); }
+ 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.
variant << value;
SetValue(variant);
- // If has private child properties then create them here, e.g.:
+ // If has private child properties then create them here. Also
+ // set flag that indicates presence of private children. E.g.:
+ //
+ // SetParentalType(wxPG_PROP_AGGREGATE);
+ //
// AddChild( new wxStringProperty( "Subprop 1",
// wxPG_LABEL,
// value.GetSubProp1() ) );
inline 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 only need to call this if you use AddChild() to add
+ child properties. Adding properties with
+ wxPropertyGridInterface::Insert() or
+ wxPropertyGridInterface::AppendIn() will automatically set
+ property to use wxPG_PROP_MISC_PARENT style.
+ */
+ void SetParentalType( int flag )
+ {
+ m_flags &= ~(wxPG_PROP_PROPERTY|wxPG_PROP_PARENTAL_FLAGS);
+ m_flags |= flag;
+ }
+
void SetValueToUnspecified()
{
wxVariant val; // Create NULL variant
*/
void AdaptListToValue( wxVariant& list, wxVariant* value ) const;
- /** This is used by properties that have fixed sub-properties. */
+ /**
+ Adds a child property. If you use this instead of
+ wxPropertyGridInterface::Insert() or
+ wxPropertyGridInterface::AppendIn(), then you must set up
+ property's parental type before making the call. To do this,
+ call property's SetParentalType() function with either
+ wxPG_PROP_MISC_PARENT (normal, public children) or with
+ wxPG_PROP_AGGREGATE (private children for subclassed property).
+ For instance:
+
+ @code
+ wxPGProperty* prop = new wxStringProperty(wxS("Property"));
+ prop->SetParentalType(wxPG_PROP_MISC_PARENT);
+ wxPGProperty* prop2 = new wxStringProperty(wxS("Property2"));
+ prop->AddChild(prop2);
+ @endcode
+ */
void AddChild( wxPGProperty* prop );
/** Returns height of children, recursively, and
int GetChildrenHeight( int lh, int iMax = -1 ) const;
/** Returns number of child properties */
- unsigned int GetChildCount() const { return m_children.size(); }
+ unsigned int GetChildCount() const
+ {
+ return (unsigned int) m_children.size();
+ }
/** Returns sub-property at index i. */
- wxPGProperty* Item( size_t i ) const
+ wxPGProperty* Item( unsigned int i ) const
{ return m_children[i]; }
/** Returns last sub-property.
void Empty();
// Puts correct indexes to children
- void FixIndexesOfChildren( size_t starthere = 0 );
+ void FixIndicesOfChildren( unsigned int starthere = 0 );
#ifndef SWIG
// Returns wxPropertyGridPageState in which this property resides.
void DoSetName(const wxString& str) { m_name = str; }
- // Call for after sub-properties added with AddChild
- void PrepareSubProperties();
+ void InitAfterAdded( wxPropertyGridPageState* pageState,
+ wxPropertyGrid* propgrid );
// 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);
- m_flags |= flag;
- }
-
void SetParentState( wxPropertyGridPageState* pstate )
{ m_parentState = pstate; }