pg->Append( new wxEnumProperty(wxT("Secondary Diet"),
wxPG_LABEL,
chs) );
-
@endcode
-You can later change choices of property by using wxPGProperty::InsertChoice(),
-wxPGProperty::DeleteChoice(), and wxPGProperty::SetChoices().
+You can later change choices of property by using wxPGProperty::AddChoice(),
+wxPGProperty::InsertChoice(), wxPGProperty::DeleteChoice(), and
+wxPGProperty::SetChoices().
<b>wxEditEnumProperty</b> is works exactly like wxEnumProperty, except
is uses non-readonly combobox as default editor, and value is stored as
wxValidator* NAME::DoGetValidator () const \
{ return (wxValidator*) NULL; }
-// -----------------------------------------------------------------------
-
-#define WX_PG_DECLARE_CUSTOM_FLAGS_PROPERTY_WITH_DECL(CLASSNAME,DECL) \
-DECL CLASSNAME : public wxFlagsProperty \
-{ \
- WX_PG_DECLARE_PROPERTY_CLASS(CLASSNAME) \
-public: \
- CLASSNAME( const wxString& label = wxPG_LABEL, \
- const wxString& name = wxPG_LABEL, \
- long value = -1 ); \
- virtual ~CLASSNAME(); \
-};
-
-#define WX_PG_DECLARE_CUSTOM_FLAGS_PROPERTY(CLASSNAME) \
-WX_PG_DECLARE_CUSTOM_FLAGS_PROPERTY_WITH_DECL(CLASSNAME, class)
-
-// This will create interface for wxFlagsProperty derived class
-// named CLASSNAME.
-#define WX_PG_IMPLEMENT_CUSTOM_FLAGS_PROPERTY(CLASSNAME,LABELS,VALUES,DEFVAL) \
-WX_PG_IMPLEMENT_PROPERTY_CLASS(CLASSNAME,wxFlagsProperty,long_##CLASSNAME,\
- long,TextCtrl) \
-CLASSNAME::CLASSNAME( const wxString& label, \
- const wxString& name, \
- long value ) \
- : wxFlagsProperty(label,name,LABELS,VALUES,value!=-1?value:DEFVAL) \
-{ \
- m_flags |= wxPG_PROP_STATIC_CHOICES; \
-} \
-CLASSNAME::~CLASSNAME() { }
-
-
-// -----------------------------------------------------------------------
-
-#define WX_PG_DECLARE_CUSTOM_ENUM_PROPERTY_WITH_DECL(CLASSNAME, DECL) \
-class CLASSNAME : public wxEnumProperty \
-{ \
- WX_PG_DECLARE_PROPERTY_CLASS(CLASSNAME) \
-public: \
- CLASSNAME( const wxString& label = wxPG_LABEL, \
- const wxString& name = wxPG_LABEL, \
- int value = -1 ); \
- virtual ~CLASSNAME(); \
-};
-
-#define WX_PG_DECLARE_CUSTOM_ENUM_PROPERTY(CLASSNAME) \
-WX_PG_DECLARE_CUSTOM_ENUM_PROPERTY_WITH_DECL(CLASSNAME, class)
-
-#define WX_PG_IMPLEMENT_CUSTOM_ENUM_PROPERTY(CLASSNAME,LABELS,VALUES,DEFVAL) \
-WX_PG_IMPLEMENT_PROPERTY_CLASS(CLASSNAME, wxEnumProperty, long_##CLASSNAME, \
- int, Choice) \
-CLASSNAME::CLASSNAME( const wxString& label, const wxString& name, int value ) \
- : wxEnumProperty(label,name,LABELS,VALUES,value!=-1?value:DEFVAL) \
-{ \
- m_flags |= wxPG_PROP_STATIC_CHOICES; \
-} \
-CLASSNAME::~CLASSNAME() { }
-
-
// -----------------------------------------------------------------------
#define WX_PG_DECLARE_CUSTOM_COLOUR_PROPERTY_WITH_DECL(CLASSNAME, DECL) \
wxPropertyGridManager* pgman = m_pPropGridManager;
wxPropertyGridPage* pg = pgman->GetPage(wxT("Examples"));
wxPGProperty* pid;
+ wxPGProperty* prop;
//pg->Append( new wxPropertyCategory(wxT("Examples (low priority)"),wxT("Examples")) );
//pg->SetPropertyHelpString ( wxT("Examples"), wxT("This category has example of (almost) every built-in property class.") );
// A file selector property. Note that argument between name
// and initial value is wildcard (format same as in wxFileDialog).
- wxPGProperty* prop = new wxFileProperty( wxT("FileProperty"), wxT("TextFile") );
+ prop = new wxFileProperty( wxT("FileProperty"), wxT("TextFile") );
pg->Append( prop );
prop->SetAttribute(wxPG_FILE_WILDCARD,wxT("Text Files (*.txt)|*.txt"));
240) );
pg->GetProperty(wxT("EnumProperty 2"))->AddChoice(wxT("Testing Extra"), 360);
- // Add a second time to test that the caching works
- pg->Append( new wxEnumProperty(wxT("EnumProperty 3"),wxPG_LABEL,
- soc, 360 ) );
- pg->SetPropertyHelpString(wxT("EnumProperty 3"),
+ // Add a second time to test that the caching works. Also use
+ // short form of constructor list + SetChoices.
+ prop = new wxEnumProperty(wxT("EnumProperty 3"), wxPG_LABEL);
+ pg->Append( prop );
+ prop->SetChoices(soc);
+ prop->SetValue(360);
+ pg->SetPropertyHelpString(prop,
wxT("Should have same choices as EnumProperty 2"));
pg->Append( new wxEnumProperty(wxT("EnumProperty 4"),wxPG_LABEL,
#include "sampleprops.h"
-// -----------------------------------------------------------------------
-// Declare custom test properties
-// -----------------------------------------------------------------------
-
-WX_PG_DECLARE_CUSTOM_FLAGS_PROPERTY(wxTestCustomFlagsProperty)
-
-WX_PG_DECLARE_CUSTOM_ENUM_PROPERTY(wxTestCustomEnumProperty)
-
-
// -----------------------------------------------------------------------
// wxTestCustomFlagsProperty
// -----------------------------------------------------------------------
wxFRAME_SHAPED
};
-
-WX_PG_IMPLEMENT_CUSTOM_FLAGS_PROPERTY(wxTestCustomFlagsProperty,
- _fs_framestyle_labels,
- _fs_framestyle_values,
- wxDEFAULT_FRAME_STYLE)
-
-WX_PG_IMPLEMENT_CUSTOM_ENUM_PROPERTY(wxTestCustomEnumProperty,
- _fs_framestyle_labels,
- _fs_framestyle_values,
- wxCAPTION)
-
-
// Colour labels. Last (before NULL, if any) must be Custom.
static const wxChar* mycolprop_labels[] = {
wxT("Black"),
void FormMain::AddTestProperties( wxPropertyGridPage* pg )
{
- pg->Append( new wxTestCustomFlagsProperty(wxT("Custom FlagsProperty"), wxPG_LABEL ) );
- pg->SetPropertyEditor( wxT("Custom FlagsProperty"), wxPG_EDITOR(TextCtrlAndButton) );
-
- pg->Append( new wxTestCustomEnumProperty(wxT("Custom EnumProperty"), wxPG_LABEL ) );
-
pg->Append( new wxMyColourProperty(wxT("CustomColourProperty1")) );
pg->SetPropertyHelpString(wxT("CustomColourProperty1"),