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.