/////////////////////////////////////////////////////////////////////////////
-// Name: wx/propgeid/propgridiface.h
+// Name: wx/propgrid/propgridiface.h
// Purpose: wxPropertyGridInterface class
// Author: Jaakko Salli
// Modified by:
// Created: 2008-08-24
-// RCS-ID: $Id$
// Copyright: (c) Jaakko Salli
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __WX_PROPGRID_PROPGRIDIFACE_H__
#define __WX_PROPGRID_PROPGRIDIFACE_H__
+#include "wx/defs.h"
+
#if wxUSE_PROPGRID
#include "wx/propgrid/property.h"
class WXDLLIMPEXP_PROPGRID wxPGPropArgCls
{
public:
- wxPGPropArgCls() { }
wxPGPropArgCls( const wxPGProperty* property )
{
m_ptr.property = (wxPGProperty*) property;
m_ptr.charName = str;
m_flags = IsCharPtr;
}
-#if wxUSE_WCHAR_T
wxPGPropArgCls( const wchar_t* str )
{
m_ptr.wcharName = str;
m_flags = IsWCharPtr;
}
-#endif
/** This constructor is required for NULL. */
wxPGPropArgCls( int )
{
{
wxPGProperty* property;
const char* charName;
-#if wxUSE_WCHAR_T
const wchar_t* wcharName;
-#endif
const wxString* stringName;
} m_ptr;
unsigned char m_flags;
bool ChangePropertyValue( wxPGPropArg id, wxVariant newValue );
/**
- Deletes a property by id. If category is deleted, all children are
- automatically deleted as well.
- */
+ Removes and deletes a property and any children.
+
+ @param id
+ Pointer or name of a property.
+
+ @remarks If you delete a property in a wxPropertyGrid event
+ handler, the actual deletion is postponed until the next
+ idle event.
+
+ This functions deselects selected property, if any.
+ Validation failure option wxPG_VFB_STAY_IN_PROPERTY is not
+ respected, ie. selection is cleared even if editor had
+ invalid value.
+ */
void DeleteProperty( wxPGPropArg id );
/**
- Removes and returns a property.
+ Removes a property. Does not delete the property object, but
+ instead returns it.
@param id
Pointer or name of a property.
@remarks Removed property cannot have any children.
+
+ Also, if you remove property in a wxPropertyGrid event
+ handler, the actual removal is postponed until the next
+ idle event.
*/
wxPGProperty* RemoveProperty( wxPGPropArg id );
- /** Disables property. */
+ /**
+ Disables a property.
+
+ @see EnableProperty(), wxPGProperty::Enable()
+ */
bool DisableProperty( wxPGPropArg id ) { return EnableProperty(id,false); }
/**
/**
Enables or disables property, depending on whether enable is true or
- false.
+ false. Disabled property usually appears as having grey text.
+
+ @param id
+ Name or pointer to a property.
+ @param enable
+ If @false, property is disabled instead.
+
+ @see wxPGProperty::Enable()
*/
bool EnableProperty( wxPGPropArg id, bool enable = true );
If there is no property with such name, @NULL pointer is returned.
@remarks Properties which have non-category, non-root parent
- can not be accessed globally by their name. Instead, use
+ cannot be accessed globally by their name. Instead, use
"<property>.<subproperty>" instead of "<subproperty>".
*/
wxPGProperty* GetProperty( const wxString& name ) const
wxString SaveEditableState( int includedStates = AllStates ) const;
/**
- Lets user to set the strings listed in the choice dropdown of a
+ Lets user set the strings listed in the choice dropdown of a
wxBoolProperty. Defaults are "True" and "False", so changing them to,
say, "Yes" and "No" may be useful in some less technical applications.
*/
/**
Set proportion of a auto-stretchable column. wxPG_SPLITTER_AUTO_CENTER
window style needs to be used to indicate that columns are auto-
- resizeable.
+ resizable.
@returns Returns @false on failure.
@remarks You should call this for individual pages of
wxPropertyGridManager (if used).
+
+ @see GetColumnProportion()
*/
bool SetColumnProportion( unsigned int column, int proportion );
+ /**
+ Returns auto-resize proportion of the given column.
+
+ @see SetColumnProportion()
+ */
+ int GetColumnProportion( unsigned int column ) const
+ {
+ return m_pState->DoGetColumnProportion(column);
+ }
+
/** Sets an attribute for this property.
@param name
Text identifier of attribute. See @ref propgrid_property_attributes.
wxVariant v(value);
SetPropVal( id, v );
}
-#if wxUSE_WCHAR_T
void SetPropertyValue( wxPGPropArg id, const wchar_t* value )
{
SetPropertyValueString( id, wxString(value) );
}
-#endif
void SetPropertyValue( wxPGPropArg id, const char* value )
{
SetPropertyValueString( id, wxString(value) );
{
if ( !m_pState )
return NULL;
- return static_cast<const wxPropertyGrid*>(m_pState->GetGrid());
+
+ return m_pState->GetGrid();
}
friend class wxPropertyGrid;