23#ifndef PG_PROPERTIES_H
24#define PG_PROPERTIES_H
26#include <wx/propgrid/propgrid.h>
27#include <wx/propgrid/property.h>
28#include <wx/propgrid/props.h>
29#include <wx/propgrid/advprops.h>
51#if wxCHECK_VERSION( 3, 3, 0 )
53 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const;
55 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const;
57 bool StringToDistance( wxVariant& aVariant,
const wxString& aText,
int aArgFlags = 0 )
const;
75#if wxCHECK_VERSION( 3, 3, 0 )
76 bool StringToValue( wxVariant& aVariant,
const wxString& aText,
77 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override;
80 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override;
82 bool StringToValue( wxVariant& aVariant,
const wxString& aText,
83 int aArgFlags = 0 )
const override;
85 wxString
ValueToString( wxVariant& aVariant,
int aArgFlags = 0 )
const override;
102#if wxCHECK_VERSION( 3, 3, 0 )
103 bool StringToValue( wxVariant& aVariant,
const wxString& aText,
104 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override
110 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override
116 int aArgFlags = 0 )
const override
121 wxString
ValueToString( wxVariant& aVariant,
int aArgFlags = 0 )
const override
127 bool ValidateValue( wxVariant& aValue, wxPGValidationInfo& aValidationInfo )
const override;
140#if wxCHECK_VERSION( 3, 3, 0 )
141 bool StringToValue( wxVariant& aVariant,
const wxString& aText,
142 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override
148 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override
154 int aArgFlags = 0 )
const override
159 wxString
ValueToString( wxVariant& aVariant,
int aArgFlags = 0 )
const override
174 wxFloatProperty( wxPG_LABEL, wxPG_LABEL, 0 ),
181#if wxCHECK_VERSION( 3, 3, 0 )
182 bool StringToValue( wxVariant& aVariant,
const wxString& aText,
183 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override;
186 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override;
188 bool StringToValue( wxVariant& aVariant,
const wxString& aText,
189 int aArgFlags = 0 )
const override;
190 wxString
ValueToString( wxVariant& aVariant,
int aArgFlags = 0 )
const override;
201 bool ValidateValue( wxVariant&, wxPGValidationInfo& )
const override {
return true; }
214 wxEnumProperty( wxPG_LABEL, wxPG_LABEL, *aChoices, 0 ),
215 m_colorFunc( []( int aDummy ) {
return wxNullColour; } )
217#if wxCHECK_VERSION( 3, 3, 1 )
218 SetFlag( wxPGFlags::CustomImage );
219#elif wxCHECK_VERSION( 3, 3, 0 )
220 SetFlag( wxPGPropertyFlags::CustomImage );
222 SetFlag( wxPG_PROP_CUSTOMIMAGE );
230 void OnCustomPaint( wxDC& aDC,
const wxRect& aRect, wxPGPaintData& aPaintData )
override;
256#if wxCHECK_VERSION( 3, 3, 0 )
257 bool StringToValue( wxVariant& aVariant,
const wxString& aText,
258 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override;
261 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override;
263 bool StringToValue( wxVariant& aVariant,
const wxString& aText,
264 int aArgFlags = 0 )
const override;
266 wxString
ValueToString( wxVariant& aVariant,
int aArgFlags = 0 )
const override;
269 bool ValidateValue( wxVariant& aValue, wxPGValidationInfo& aValidationInfo )
const override;
279 wxStringProperty( wxPG_LABEL, wxPG_LABEL, wxEmptyString )
284#if wxCHECK_VERSION( 3, 3, 0 )
285 bool StringToValue( wxVariant& aVariant,
const wxString& aText,
286 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override;
289 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override;
291 wxString
ValueToString( wxVariant& aValue,
int aFlags = 0 )
const override;
293 bool StringToValue( wxVariant& aVariant,
const wxString& aString,
294 int aFlags = 0 )
const override;
302 PGPROPERTY_BOOL(
const wxString& aLabel = wxPG_LABEL,
const wxString& aName = wxPG_LABEL,
303 bool aValue =
false );
314 PGPROPERTY_COLOR4D(
const wxString& aLabel = wxPG_LABEL,
const wxString& aName = wxPG_LABEL,
320#if wxCHECK_VERSION( 3, 3, 0 )
321 bool StringToValue( wxVariant& aVariant,
const wxString& aText,
322 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override;
325 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override;
327 wxString
ValueToString( wxVariant& aValue,
int aFlags = 0 )
const override;
329 bool StringToValue( wxVariant &aVariant,
const wxString &aText,
330 int aFlags = 0 )
const override;
350#if wxCHECK_VERSION( 3, 3, 0 )
351 bool StringToValue( wxVariant& aVariant,
const wxString& aText,
352 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override;
355 wxPGPropValFormatFlags aFlags = wxPGPropValFormatFlags::Null )
const override;
357 bool StringToValue( wxVariant& aVariant,
const wxString& aText,
358 int aArgFlags = 0 )
const override;
360 wxString
ValueToString( wxVariant& aVariant,
int aArgFlags = 0 )
const override;
363 bool ValidateValue( wxVariant& aValue, wxPGValidationInfo& aValidationInfo )
const override;
The base class for create windows for drawing purpose.
A color representation with 4 components: red, green, blue, alpha.
static const COLOR4D UNSPECIFIED
For legacy support; used as a value to indicate color hasn't been set yet.
void SetScale(double aScale)
wxString ValueToString(wxVariant &aVariant, int aArgFlags=0) const override
double m_scale
< Scale factor to convert between raw and displayed value
wxValidator * DoGetValidator() const override
Do not perform PG validation; the UX is not what we want.
virtual ~PGPROPERTY_ANGLE()=default
bool StringToValue(wxVariant &aVariant, const wxString &aText, int aArgFlags=0) const override
bool ValidateValue(wxVariant &, wxPGValidationInfo &) const override
PGPROPERTY_AREA(EDA_DRAW_FRAME *aParentFrame)
wxString ValueToString(wxVariant &aVariant, int aArgFlags=0) const override
wxValidator * DoGetValidator() const override
virtual ~PGPROPERTY_AREA()=default
bool StringToValue(wxVariant &aVariant, const wxString &aText, int aArgFlags=0) const override
EDA_DRAW_FRAME * m_parentFrame
const wxPGEditor * DoGetEditorClass() const override
PGPROPERTY_BOOL(const wxString &aLabel=wxPG_LABEL, const wxString &aName=wxPG_LABEL, bool aValue=false)
virtual ~PGPROPERTY_BOOL()=default
virtual ~PGPROPERTY_COLOR4D()=default
KIGFX::COLOR4D m_backgroundColor
Used for rendering colors with opacity.
bool StringToValue(wxVariant &aVariant, const wxString &aText, int aFlags=0) const override
wxString ValueToString(wxVariant &aValue, int aFlags=0) const override
const KIGFX::COLOR4D & GetBackgroundColor() const
void SetBackgroundColor(const KIGFX::COLOR4D &aColor)
PGPROPERTY_COLOR4D(const wxString &aLabel=wxPG_LABEL, const wxString &aName=wxPG_LABEL, KIGFX::COLOR4D aValue=KIGFX::COLOR4D::UNSPECIFIED, KIGFX::COLOR4D aBackground=KIGFX::COLOR4D::UNSPECIFIED)
void SetColorFunc(std::function< wxColour(int aValue)> aFunc)
wxColour GetColor(int aValue)
wxSize OnMeasureImage(int aItem=-1) const override
void OnCustomPaint(wxDC &aDC, const wxRect &aRect, wxPGPaintData &aPaintData) override
virtual ~PGPROPERTY_COLORENUM()=default
std::function< wxColour(int aValue)> m_colorFunc
PGPROPERTY_COLORENUM(wxPGChoices *aChoices)
wxString ValueToString(wxVariant &aVariant, int aArgFlags=0) const override
bool StringToValue(wxVariant &aVariant, const wxString &aText, int aArgFlags=0) const override
virtual ~PGPROPERTY_COORD()=default
PGPROPERTY_COORD(EDA_DRAW_FRAME *aParentFrame, ORIGIN_TRANSFORMS::COORD_TYPES_T aCoordType)
wxValidator * DoGetValidator() const override
EDA_DRAW_FRAME * m_parentFrame
ORIGIN_TRANSFORMS::COORD_TYPES_T CoordType() const
wxString DistanceToString(wxVariant &aVariant, int aArgFlags=0) const
bool StringToDistance(wxVariant &aVariant, const wxString &aText, int aArgFlags=0) const
virtual ~PGPROPERTY_DISTANCE()=0
ORIGIN_TRANSFORMS::COORD_TYPES_T m_coordType
PGPROPERTY_DISTANCE(EDA_DRAW_FRAME *aParentFrame, ORIGIN_TRANSFORMS::COORD_TYPES_T aCoordType)
PGPROPERTY_NET(const wxPGChoices &aChoices=wxPGChoices())
virtual ~PGPROPERTY_NET()=default
const wxPGEditor * DoGetEditorClass() const override
wxValidator * DoGetValidator() const override
bool ValidateValue(wxVariant &aValue, wxPGValidationInfo &aValidationInfo) const override
bool StringToValue(wxVariant &aVariant, const wxString &aText, int aArgFlags=0) const override
wxString ValueToString(wxVariant &aVariant, int aArgFlags=0) const override
virtual ~PGPROPERTY_RATIO()=default
const wxPGEditor * DoGetEditorClass() const override
virtual ~PGPROPERTY_SIZE()=default
wxValidator * DoGetValidator() const override
bool ValidateValue(wxVariant &aValue, wxPGValidationInfo &aValidationInfo) const override
bool StringToValue(wxVariant &aVariant, const wxString &aText, int aArgFlags=0) const override
wxString ValueToString(wxVariant &aVariant, int aArgFlags=0) const override
PGPROPERTY_SIZE(EDA_DRAW_FRAME *aParentFrame)
wxString ValueToString(wxVariant &aValue, int aFlags=0) const override
bool StringToValue(wxVariant &aVariant, const wxString &aString, int aFlags=0) const override
virtual ~PGPROPERTY_STRING()=default
bool StringToValue(wxVariant &aVariant, const wxString &aText, int aArgFlags=0) const override
wxString ValueToString(wxVariant &aVariant, int aArgFlags=0) const override
EDA_DRAW_FRAME * m_parentFrame
virtual ~PGPROPERTY_TIME()=default
PGPROPERTY_TIME(EDA_DRAW_FRAME *aParentFrame)
wxValidator * DoGetValidator() const override
bool ValidateValue(wxVariant &aValue, wxPGValidationInfo &aValidationInfo) const override
wxPGProperty * PGPropertyFactory(const PROPERTY_BASE *aProperty, EDA_DRAW_FRAME *aFrame)
Customized abstract wxPGProperty class to handle coordinate/size units.