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:
@@ -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
|
||||
|
@@ -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) \
|
||||
|
@@ -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,
|
||||
|
@@ -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"),
|
||||
|
Reference in New Issue
Block a user