KiCad PCB EDA Suite
Loading...
Searching...
No Matches
SCH_SYMBOL_INSTANCE_PROPERTY Class Referenceabstract
Inheritance diagram for SCH_SYMBOL_INSTANCE_PROPERTY:
PROPERTY_BASE SCH_SYMBOL_FIELD_PROPERTY SCH_SYMBOL_PIN_MAP_ENTRY_PROPERTY SCH_SYMBOL_PIN_MAP_FOOTPRINT_PROPERTY SCH_SYMBOL_PIN_MAP_MODE_PROPERTY SCH_SYMBOL_PIN_MAP_NAME_PROPERTY

Public Member Functions

wxAny getter (const void *aObject) const final
 
virtual wxAny ValueForInstance (const SCH_SYMBOL *aSymbol, const SCH_SHEET_PATH *aPath, const wxString &aVariant) const =0
 
 PROPERTY_BASE (const wxString &aName, PROPERTY_DISPLAY aDisplay=PT_DEFAULT, ORIGIN_TRANSFORMS::COORD_TYPES_T aCoordType=ORIGIN_TRANSFORMS::NOT_A_COORD)
 < Used to generate unique IDs. Must come up front so it's initialized before ctor.
 
const wxString & Name () const
 
virtual const wxPGChoices & Choices () const
 Return a limited set of possible values (e.g.
 
virtual void TranslateChoices ()
 
virtual void SetChoices (const wxPGChoices &aChoices)
 Set the possible values for for the property.
 
virtual bool HasChoices () const
 Return true if this PROPERTY has a limited set of possible values.
 
bool Available (INSPECTABLE *aObject) const
 Return true if aObject offers this PROPERTY.
 
PROPERTY_BASESetAvailableFunc (std::function< bool(INSPECTABLE *)> aFunc)
 Set a callback function to determine whether an object provides this property.
 
wxPGChoices GetChoices (INSPECTABLE *aObject) const
 
PROPERTY_BASESetChoicesFunc (std::function< wxPGChoices(INSPECTABLE *)> aFunc)
 
virtual bool IgnoreValue () const
 
virtual bool Writeable (INSPECTABLE *aObject) const
 
PROPERTY_BASESetWriteableFunc (std::function< bool(INSPECTABLE *)> aFunc)
 
virtual size_t OwnerHash () const =0
 Return type-id of the Owner class.
 
virtual size_t BaseHash () const =0
 Return type-id of the Base class.
 
virtual size_t TypeHash () const =0
 Return type-id of the property type.
 
PROPERTY_DISPLAY Display () const
 
PROPERTY_BASESetDisplay (PROPERTY_DISPLAY aDisplay)
 
ORIGIN_TRANSFORMS::COORD_TYPES_T CoordType () const
 
PROPERTY_BASESetCoordType (ORIGIN_TRANSFORMS::COORD_TYPES_T aType)
 
bool IsHiddenFromPropertiesManager () const
 
PROPERTY_BASESetIsHiddenFromPropertiesManager (bool aHide=true)
 
bool IsHiddenFromRulesEditor () const
 
PROPERTY_BASESetIsHiddenFromRulesEditor (bool aHide=true)
 
bool IsHiddenFromLibraryEditors () const
 
PROPERTY_BASESetIsHiddenFromLibraryEditors (bool aIsHidden=true)
 
bool IsHiddenFromDesignEditors () const
 
PROPERTY_BASESetIsHiddenFromDesignEditors (bool aIsHidden=true)
 
bool IsCopyable () const
 True for a property that says how an item looks, not what or where it is.
 
PROPERTY_BASESetIsCopyable (bool aIsCopyable=true)
 
wxString Group () const
 
PROPERTY_BASESetGroup (const wxString &aGroup)
 
PROPERTY_BASESetValidator (PROPERTY_VALIDATOR_FN &&aValidator)
 
VALIDATOR_RESULT Validate (const wxAny &&aValue, EDA_ITEM *aItem)
 

Static Public Member Functions

static VALIDATOR_RESULT NullValidator (const wxAny &&aValue, EDA_ITEM *aItem)
 

Protected Member Functions

template<typename T>
void set (void *aObject, T aValue)
 
template<typename T>
T get (const void *aObject) const
 

Private Member Functions

virtual void setter (void *aObject, wxAny &aValue)=0
 

Private Attributes

const wxString m_name
 Permanent identifier for this property.
 
PROPERTY_DISPLAY m_display
 The display style controls how properties are edited in the properties manager GUI.
 
ORIGIN_TRANSFORMS::COORD_TYPES_T m_coordType
 The coordinate type controls how distances are mapped to the user coordinate system.
 
bool m_hideFromPropertiesManager
 
bool m_hideFromLibraryEditors
 
bool m_hideFromDesignEditors
 
bool m_hideFromRulesEditor
 
bool m_copyable
 
wxString m_group
 Optional group identifier.
 
std::function< bool(INSPECTABLE *)> m_availFunc
 Eval to determine if prop is available.
 
std::function< bool(INSPECTABLE *)> m_writeableFunc
 Eval to determine if prop is read-only.
 
std::function< wxPGChoices(INSPECTABLE *)> m_choicesFunc
 
PROPERTY_VALIDATOR_FN m_validator
 

Detailed Description

Definition at line 103 of file sch_symbol.cpp.

Member Function Documentation

◆ Available()

bool PROPERTY_BASE::Available ( INSPECTABLE * aObject) const
inlineinherited

Return true if aObject offers this PROPERTY.

Definition at line 255 of file property.h.

References INSPECTABLE, and m_availFunc.

Referenced by BOOST_AUTO_TEST_CASE(), and PROPERTY_MANAGER::IsAvailableFor().

◆ BaseHash()

◆ Choices()

virtual const wxPGChoices & PROPERTY_BASE::Choices ( ) const
inlinevirtualinherited

Return a limited set of possible values (e.g.

enum). Check with HasChoices() if a particular PROPERTY provides such set.

Reimplemented in PROPERTY_ENUM< Owner, T, Base >.

Definition at line 227 of file property.h.

References empty().

Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), PCB_PROPERTIES_PANEL::createPGProperty(), PGPropertyFactory(), and KICAD_DIFF::WxAnyToDiffValue().

◆ CoordType()

ORIGIN_TRANSFORMS::COORD_TYPES_T PROPERTY_BASE::CoordType ( ) const
inlineinherited

Definition at line 317 of file property.h.

References m_coordType.

Referenced by PGPropertyFactory().

◆ Display()

PROPERTY_DISPLAY PROPERTY_BASE::Display ( ) const
inlineinherited

Definition at line 314 of file property.h.

References m_display.

Referenced by DIALOG_FIND_BY_PROPERTIES::formatValueForExpression(), and PGPropertyFactory().

◆ get()

template<typename T>
T PROPERTY_BASE::get ( const void * aObject) const
inlineprotectedinherited

Definition at line 428 of file property.h.

References getter(), and T.

Referenced by INSPECTABLE::Get(), and INSPECTABLE::Get().

◆ GetChoices()

wxPGChoices PROPERTY_BASE::GetChoices ( INSPECTABLE * aObject) const
inlineinherited

Definition at line 269 of file property.h.

References INSPECTABLE, and m_choicesFunc.

Referenced by PROPERTIES_PANEL::extractValueAndWritability(), and INSPECTABLE::Set().

◆ getter()

wxAny SCH_SYMBOL_INSTANCE_PROPERTY::getter ( const void * aObject) const
inlinefinalvirtual

◆ Group()

wxString PROPERTY_BASE::Group ( ) const
inlineinherited

◆ HasChoices()

◆ IgnoreValue()

virtual bool PROPERTY_BASE::IgnoreValue ( ) const
inlinevirtualinherited

Reimplemented in DUMMY_PROPERTY< Owner, T, Base >.

Definition at line 283 of file property.h.

◆ IsCopyable()

bool PROPERTY_BASE::IsCopyable ( ) const
inlineinherited

True for a property that says how an item looks, not what or where it is.

Opt-in. The safe answer for anything unexamined is no. Identity, position, size and connectivity stay off. Copying those between items would move or rewire them.

Definition at line 358 of file property.h.

References m_copyable.

Referenced by plan().

◆ IsHiddenFromDesignEditors()

bool PROPERTY_BASE::IsHiddenFromDesignEditors ( ) const
inlineinherited

Definition at line 345 of file property.h.

References m_hideFromDesignEditors.

◆ IsHiddenFromLibraryEditors()

bool PROPERTY_BASE::IsHiddenFromLibraryEditors ( ) const
inlineinherited

Definition at line 338 of file property.h.

References m_hideFromLibraryEditors.

◆ IsHiddenFromPropertiesManager()

bool PROPERTY_BASE::IsHiddenFromPropertiesManager ( ) const
inlineinherited

Definition at line 324 of file property.h.

References m_hideFromPropertiesManager.

Referenced by plan().

◆ IsHiddenFromRulesEditor()

bool PROPERTY_BASE::IsHiddenFromRulesEditor ( ) const
inlineinherited

Definition at line 331 of file property.h.

References m_hideFromRulesEditor.

◆ Name()

◆ NullValidator()

static VALIDATOR_RESULT PROPERTY_BASE::NullValidator ( const wxAny && aValue,
EDA_ITEM * aItem )
inlinestaticinherited

Definition at line 379 of file property.h.

◆ OwnerHash()

◆ PROPERTY_BASE()

PROPERTY_BASE::PROPERTY_BASE ( const wxString & aName,
PROPERTY_DISPLAY aDisplay = PT_DEFAULT,
ORIGIN_TRANSFORMS::COORD_TYPES_T aCoordType = ORIGIN_TRANSFORMS::NOT_A_COORD )
inline

< Used to generate unique IDs. Must come up front so it's initialized before ctor.

Definition at line 201 of file property.h.

◆ set()

template<typename T>
void PROPERTY_BASE::set ( void * aObject,
T aValue )
inlineprotectedinherited

◆ SetAvailableFunc()

◆ SetChoices()

virtual void PROPERTY_BASE::SetChoices ( const wxPGChoices & aChoices)
inlinevirtualinherited

Set the possible values for for the property.

Reimplemented in PROPERTY_ENUM< Owner, T, Base >.

Definition at line 238 of file property.h.

Referenced by BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), FOOTPRINT_DESC::FOOTPRINT_DESC(), and PCB_TUNING_PATTERN_DESC::PCB_TUNING_PATTERN_DESC().

◆ SetChoicesFunc()

◆ SetCoordType()

PROPERTY_BASE & PROPERTY_BASE::SetCoordType ( ORIGIN_TRANSFORMS::COORD_TYPES_T aType)
inlineinherited

Definition at line 318 of file property.h.

References m_coordType, and PROPERTY_BASE().

◆ SetDisplay()

PROPERTY_BASE & PROPERTY_BASE::SetDisplay ( PROPERTY_DISPLAY aDisplay)
inlineinherited

Definition at line 315 of file property.h.

References m_display, and PROPERTY_BASE().

◆ SetGroup()

◆ SetIsCopyable()

◆ SetIsHiddenFromDesignEditors()

PROPERTY_BASE & PROPERTY_BASE::SetIsHiddenFromDesignEditors ( bool aIsHidden = true)
inlineinherited

Definition at line 346 of file property.h.

References m_hideFromDesignEditors, and PROPERTY_BASE().

Referenced by SCH_ITEM_DESC::SCH_ITEM_DESC().

◆ SetIsHiddenFromLibraryEditors()

◆ SetIsHiddenFromPropertiesManager()

PROPERTY_BASE & PROPERTY_BASE::SetIsHiddenFromPropertiesManager ( bool aHide = true)
inlineinherited

◆ SetIsHiddenFromRulesEditor()

◆ setter()

◆ SetValidator()

◆ SetWriteableFunc()

PROPERTY_BASE & PROPERTY_BASE::SetWriteableFunc ( std::function< bool(INSPECTABLE *)> aFunc)
inlineinherited

◆ TranslateChoices()

virtual void PROPERTY_BASE::TranslateChoices ( )
inlinevirtualinherited

Reimplemented in PROPERTY_ENUM< Owner, T, Base >.

Definition at line 233 of file property.h.

◆ TypeHash()

◆ Validate()

VALIDATOR_RESULT PROPERTY_BASE::Validate ( const wxAny && aValue,
EDA_ITEM * aItem )
inlineinherited

Definition at line 374 of file property.h.

References m_validator.

Referenced by BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().

◆ ValueForInstance()

virtual wxAny SCH_SYMBOL_INSTANCE_PROPERTY::ValueForInstance ( const SCH_SYMBOL * aSymbol,
const SCH_SHEET_PATH * aPath,
const wxString & aVariant ) const
pure virtual

◆ Writeable()

Member Data Documentation

◆ m_availFunc

std::function<bool(INSPECTABLE*)> PROPERTY_BASE::m_availFunc
privateinherited

Eval to determine if prop is available.

Definition at line 471 of file property.h.

Referenced by Available(), PROPERTY_BASE(), and SetAvailableFunc().

◆ m_choicesFunc

std::function<wxPGChoices(INSPECTABLE*)> PROPERTY_BASE::m_choicesFunc
privateinherited

Definition at line 475 of file property.h.

Referenced by GetChoices(), HasChoices(), and SetChoicesFunc().

◆ m_coordType

ORIGIN_TRANSFORMS::COORD_TYPES_T PROPERTY_BASE::m_coordType
privateinherited

The coordinate type controls how distances are mapped to the user coordinate system.

Definition at line 458 of file property.h.

Referenced by CoordType(), PROPERTY_BASE(), and SetCoordType().

◆ m_copyable

bool PROPERTY_BASE::m_copyable
privateinherited

Definition at line 466 of file property.h.

Referenced by IsCopyable(), PROPERTY_BASE(), and SetIsCopyable().

◆ m_display

PROPERTY_DISPLAY PROPERTY_BASE::m_display
privateinherited

The display style controls how properties are edited in the properties manager GUI.

Definition at line 455 of file property.h.

Referenced by Display(), PROPERTY_BASE(), and SetDisplay().

◆ m_group

wxString PROPERTY_BASE::m_group
privateinherited

Optional group identifier.

Definition at line 469 of file property.h.

Referenced by Group(), and SetGroup().

◆ m_hideFromDesignEditors

bool PROPERTY_BASE::m_hideFromDesignEditors
privateinherited

◆ m_hideFromLibraryEditors

bool PROPERTY_BASE::m_hideFromLibraryEditors
privateinherited

◆ m_hideFromPropertiesManager

bool PROPERTY_BASE::m_hideFromPropertiesManager
privateinherited

◆ m_hideFromRulesEditor

bool PROPERTY_BASE::m_hideFromRulesEditor
privateinherited

Definition at line 465 of file property.h.

Referenced by IsHiddenFromRulesEditor(), PROPERTY_BASE(), and SetIsHiddenFromRulesEditor().

◆ m_name

const wxString PROPERTY_BASE::m_name
privateinherited

Permanent identifier for this property.

Property names are an API contract; changing them after release will impact the Custom DRC Rules system as well as the automatic API binding system. Never rename properties; instead deprecate them and hide them from the GUI.

Definition at line 452 of file property.h.

Referenced by Name(), and PROPERTY_BASE().

◆ m_validator

PROPERTY_VALIDATOR_FN PROPERTY_BASE::m_validator
privateinherited

Definition at line 477 of file property.h.

Referenced by SetValidator(), and Validate().

◆ m_writeableFunc

std::function<bool(INSPECTABLE*)> PROPERTY_BASE::m_writeableFunc
privateinherited

Eval to determine if prop is read-only.

Definition at line 473 of file property.h.

Referenced by SetWriteableFunc(), and Writeable().


The documentation for this class was generated from the following file: