*/
void DeleteProperty( wxPGPropArg id );
+ /**
+ Removes and returns a property.
+
+ @param id
+ Pointer or name of a property.
+
+ @remarks Removed property cannot have any children.
+ */
+ wxPGProperty* RemoveProperty( wxPGPropArg id );
+
/** Disables property. */
bool DisableProperty( wxPGPropArg id ) { return EnableProperty(id,false); }
*/
const wxPGAttributeStorage& GetPropertyAttributes( wxPGPropArg id ) const
{
- wxPG_PROP_ARG_CALL_PROLOG_RETVAL(*((const wxPGAttributeStorage*)NULL));
+ // If 'id' refers to invalid property, then we will return dummy
+ // attributes (ie. root property's attributes, which contents should
+ // should always be empty and of no consequence).
+ wxPG_PROP_ARG_CALL_PROLOG_RETVAL(m_pState->DoGetRoot()->GetAttributes());
return p->GetAttributes();
}