KiCad PCB EDA Suite
Loading...
Searching...
No Matches
property.h File Reference
#include <core/wx_stl_compat.h>
#include <origin_transforms.h>
#include <properties/color4d_variant.h>
#include <properties/eda_angle_variant.h>
#include <properties/property_validator.h>
#include <wx/any.h>
#include <wx/string.h>
#include <wx/bitmap.h>
#include <wx/font.h>
#include <wx/validate.h>
#include <wx/propgrid/property.h>
#include <functional>
#include <unordered_map>
#include <memory>
#include <typeindex>
#include <type_traits>
#include "std_optional_variants.h"

Go to the source code of this file.

Classes

class  GETTER_BASE< Owner, T >
 
class  GETTER< Owner, T, FuncType >
 
class  SETTER_BASE< Owner, T >
 
class  SETTER< Owner, T, FuncType >
 
class  METHOD< Owner, T, Base >
 
class  PROPERTY_BASE
 
class  PROPERTY< Owner, T, Base >
 
class  PROPERTY_ENUM< Owner, T, Base >
 
class  TYPE_CAST_BASE
 
class  TYPE_CAST< Base, Derived >
 
class  ENUM_MAP< T >
 

Macros

#define TYPE_HASH(x)
 
#define TYPE_NAME(x)
 
#define DECLARE_ENUM_TO_WXANY(type)
 
#define IMPLEMENT_ENUM_TO_WXANY(type)
 
#define ENUM_TO_WXANY(type)
 Macro to define read-only fields (no setter method available)
 
#define NO_SETTER(owner, type)
 

Enumerations

enum  PROPERTY_DISPLAY {
  PT_DEFAULT , PT_SIZE , PT_AREA , PT_COORD ,
  PT_DEGREE , PT_DECIDEGREE , PT_RATIO , PT_TIME ,
  PT_NET
}
 Common property types. More...
 

Macro Definition Documentation

◆ DECLARE_ENUM_TO_WXANY

#define DECLARE_ENUM_TO_WXANY ( type)

Definition at line 765 of file property.h.

◆ ENUM_TO_WXANY

#define ENUM_TO_WXANY ( type)
Value:
IMPLEMENT_ENUM_TO_WXANY( type )
#define DECLARE_ENUM_TO_WXANY(type)
Definition property.h:765

Macro to define read-only fields (no setter method available)

Definition at line 801 of file property.h.

◆ IMPLEMENT_ENUM_TO_WXANY

#define IMPLEMENT_ENUM_TO_WXANY ( type)
Value:
WX_IMPLEMENT_ANY_VALUE_TYPE( wxAnyValueTypeImpl<type> )

Definition at line 799 of file property.h.

◆ NO_SETTER

◆ TYPE_HASH

#define TYPE_HASH ( x)
Value:
typeid( x ).hash_code()

Definition at line 73 of file property.h.

Referenced by ALIGNED_DIMENSION_DESC::ALIGNED_DIMENSION_DESC(), PCB_FOOTPRINT_FIELD_PROPERTY::BaseHash(), SCH_SYMBOL_FIELD_PROPERTY::BaseHash(), TYPE_CAST< Base, Derived >::BaseHash(), BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), BOARD_ITEM_DESC::BOARD_ITEM_DESC(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), CENTER_DIMENSION_DESC::CENTER_DIMENSION_DESC(), CLASS_B_DESC::CLASS_B_DESC(), CLASS_D_DESC::CLASS_D_DESC(), CLASS_E_DESC::CLASS_E_DESC(), PCB_PROPERTIES_PANEL::createPGProperty(), PCBEXPR_UCODE::CreateVarRef(), TYPE_CAST< Base, Derived >::DerivedHash(), DIMENSION_DESC::DIMENSION_DESC(), PROPERTIES_PANEL::extractValueAndWritability(), FOOTPRINT_DESC::FOOTPRINT_DESC(), GENERATOR_TOOL::GENERATOR_TOOL(), INSPECTABLE::Get(), INSPECTABLE::Get(), PCB_PROPERTIES_PANEL::getPropertyFromEvent(), SCH_PROPERTIES_PANEL::getPropertyFromEvent(), PCBEXPR_VAR_REF::GetValue(), LEADER_DIMENSION_DESC::LEADER_DIMENSION_DESC(), ORTHOGONAL_DIMENSION_DESC::ORTHOGONAL_DIMENSION_DESC(), PCB_FOOTPRINT_FIELD_PROPERTY::OwnerHash(), SCH_SYMBOL_FIELD_PROPERTY::OwnerHash(), PAD_DESC::PAD_DESC(), PCB_FIELD_DESC::PCB_FIELD_DESC(), PCB_GROUP_DESC::PCB_GROUP_DESC(), PCB_MARKER_DESC::PCB_MARKER_DESC(), PCB_POINT_DESC::PCB_POINT_DESC(), PCB_REFERENCE_IMAGE_DESC::PCB_REFERENCE_IMAGE_DESC(), PCB_SHAPE_DESC::PCB_SHAPE_DESC(), PCB_TABLE_DESC::PCB_TABLE_DESC(), PCB_TABLECELL_DESC::PCB_TABLECELL_DESC(), PCB_TARGET_DESC::PCB_TARGET_DESC(), PCB_TEXT_DESC::PCB_TEXT_DESC(), PCB_TEXTBOX_DESC::PCB_TEXTBOX_DESC(), PCB_TUNING_PATTERN_DESC::PCB_TUNING_PATTERN_DESC(), PGPropertyFactory(), PROPERTY< Owner, T, Base >::PROPERTY(), PROPERTY_MANAGER::PropertyChanged(), RADIAL_DIMENSION_DESC::RADIAL_DIMENSION_DESC(), PCB_PROPERTIES_PANEL::rebuildProperties(), PROPERTIES_PANEL::rebuildProperties(), SCH_PROPERTIES_PANEL::rebuildProperties(), SCH_BITMAP_DESC::SCH_BITMAP_DESC(), SCH_BUS_ENTRY_DESC::SCH_BUS_ENTRY_DESC(), SCH_DIRECTIVE_LABEL_DESC::SCH_DIRECTIVE_LABEL_DESC(), SCH_FIELD_DESC::SCH_FIELD_DESC(), SCH_GROUP_DESC::SCH_GROUP_DESC(), SCH_ITEM_DESC::SCH_ITEM_DESC(), SCH_JUNCTION_DESC::SCH_JUNCTION_DESC(), SCH_LABEL_DESC::SCH_LABEL_DESC(), SCH_LINE_DESC::SCH_LINE_DESC(), SCH_PIN_DESC::SCH_PIN_DESC(), SCH_RULE_AREA_DESC::SCH_RULE_AREA_DESC(), SCH_SHAPE_DESC::SCH_SHAPE_DESC(), SCH_SHEET_DESC::SCH_SHEET_DESC(), SCH_SHEET_PIN_DESC::SCH_SHEET_PIN_DESC(), SCH_SYMBOL_DESC::SCH_SYMBOL_DESC(), SCH_TABLE_DESC::SCH_TABLE_DESC(), SCH_TABLECELL_DESC::SCH_TABLECELL_DESC(), SCH_TEXT_DESC::SCH_TEXT_DESC(), SCH_TEXTBOX_DESC::SCH_TEXTBOX_DESC(), SCHEMATIC::SCHEMATIC(), INSPECTABLE::Set(), INSPECTABLE::Set(), INSPECTABLE::Set(), INSPECTABLE::Set(), TRACK_VIA_DESC::TRACK_VIA_DESC(), PCB_FOOTPRINT_FIELD_PROPERTY::TypeHash(), SCH_SYMBOL_FIELD_PROPERTY::TypeHash(), PCB_PROPERTIES_PANEL::updateLists(), PCB_PROPERTIES_PANEL::valueChanged(), SCH_PROPERTIES_PANEL::valueChanged(), ZONE_DESC::ZONE_DESC(), and SCHEMATIC::~SCHEMATIC().

◆ TYPE_NAME

#define TYPE_NAME ( x)
Value:
typeid( x ).name()
const char * name

Definition at line 74 of file property.h.

Enumeration Type Documentation

◆ PROPERTY_DISPLAY

Common property types.

Enumerator
PT_DEFAULT 

Default property for a given type.

PT_SIZE 

Size expressed in distance units (mm/inch)

PT_AREA 

Area expressed in distance units-squared (mm/inch)

PT_COORD 

Coordinate expressed in distance units (mm/inch)

PT_DEGREE 

Angle expressed in degrees.

PT_DECIDEGREE 

Angle expressed in decidegrees.

PT_RATIO 
PT_TIME 

Time expressed in ps.

PT_NET 

Net selection property.

Definition at line 59 of file property.h.