Removed macros to create enum and flag props with custom, static choice sets. Now use wxPGProperty::SetChoices() instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55744 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Jaakko Salli
2008-09-19 17:39:09 +00:00
parent d53f610c1c
commit d577449426
4 changed files with 12 additions and 92 deletions

View File

@@ -402,11 +402,11 @@ Here's extended example using values as well:
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

View File

@@ -73,64 +73,6 @@ WX_PG_IMPLEMENT_STRING_PROPERTY_WITH_VALIDATOR(NAME,FLAGS) \
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) \

View File

@@ -1349,6 +1349,7 @@ void FormMain::PopulateWithExamples ()
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.") );
@@ -1403,7 +1404,7 @@ void FormMain::PopulateWithExamples ()
// 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"));
@@ -1482,10 +1483,13 @@ void FormMain::PopulateWithExamples ()
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,

View File

@@ -27,15 +27,6 @@
#include "sampleprops.h"
// -----------------------------------------------------------------------
// Declare custom test properties
// -----------------------------------------------------------------------
WX_PG_DECLARE_CUSTOM_FLAGS_PROPERTY(wxTestCustomFlagsProperty)
WX_PG_DECLARE_CUSTOM_ENUM_PROPERTY(wxTestCustomEnumProperty)
// -----------------------------------------------------------------------
// wxTestCustomFlagsProperty
// -----------------------------------------------------------------------
@@ -73,18 +64,6 @@ static const long _fs_framestyle_values[] = {
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"),
@@ -243,11 +222,6 @@ public:
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"),