KiCad PCB EDA Suite
Loading...
Searching...
No Matches
EASYPC::SOURCE_DESIGN_ITEM Struct Reference

The base of nearly every class. More...

#include <easypc_classes_styles.h>

Inheritance diagram for EASYPC::SOURCE_DESIGN_ITEM:
EASYPC::OBJECT EASYPC::SOURCE_ATTRIBUTE EASYPC::SOURCE_ATTRIBUTE_NAME EASYPC::SOURCE_COMPONENT EASYPC::SOURCE_COMPONENT_INSTANCE EASYPC::SOURCE_CONNECTION EASYPC::SOURCE_CONNECT_POINT EASYPC::SOURCE_COPPER_INSTANCE EASYPC::SOURCE_DEFAULTS EASYPC::SOURCE_GATE EASYPC::SOURCE_GATE_MAP EASYPC::SOURCE_GATE_PIN EASYPC::SOURCE_GROUP EASYPC::SOURCE_LAYER EASYPC::SOURCE_LAYER_TYPE EASYPC::SOURCE_LINE_STYLE EASYPC::SOURCE_NET EASYPC::SOURCE_NET_CLASS EASYPC::SOURCE_NODE EASYPC::SOURCE_ORIGIN EASYPC::SOURCE_PAD_INSTANCE EASYPC::SOURCE_PAD_STYLE EASYPC::SOURCE_PAD_STYLE_EXCEPTION EASYPC::SOURCE_PCB_COMPONENT EASYPC::SOURCE_PIN_NAME_INSTANCE EASYPC::SOURCE_SCM_COMPONENT EASYPC::SOURCE_SHAPE_ITEM EASYPC::SOURCE_SPACINGS EASYPC::SOURCE_SYMBOL EASYPC::SOURCE_SYMBOL_INSTANCE EASYPC::SOURCE_TEXT_INSTANCE EASYPC::SOURCE_TEXT_POSITION EASYPC::SOURCE_TEXT_STYLE EASYPC::SOURCE_TRACK_STYLE EASYPC::SOURCE_TYPE_FONT

Public Member Functions

LOAD_TASK Load (ARCHIVE &aAr) override
 Read this object's fields.
 
int ItemFormat (const ARCHIVE &aAr) const override
 The version this object gates on; the base is the archive's current read format.
 
void LoadOldFormat (ARCHIVE &aAr, int &aFormat) const
 An older item format, stored only while the format is still 0.
 

Static Public Member Functions

static void LoadFormatted (ARCHIVE &aAr, int &aFormat)
 An item format, stored only from object schema 2, which governs what follows.
 

Public Attributes

OBJECT * Parent = nullptr
 null is the document in a design, nothing in a library item
 
OBJECT * Attributes = nullptr
 attribute array
 
const char * ClassName = "object"
 registered class name
 
uint16_t Schema = 0
 object schema from the class tag, 0 for an embedded member
 
size_t Offset = 0
 stream offset of the tag or of an embedded member's first field
 

Detailed Description

The base of nearly every class.

Its format is the nearest self-versioned ancestor's format, the document version or the archive's current read format.

Definition at line 121 of file easypc_classes_styles.h.

Member Function Documentation

◆ ItemFormat()

int EASYPC::SOURCE_DESIGN_ITEM::ItemFormat ( const ARCHIVE & aAr) const
overridevirtual

The version this object gates on; the base is the archive's current read format.

Reimplemented from EASYPC::OBJECT.

Reimplemented in EASYPC::SOURCE_PCB_COMPONENT, EASYPC::SOURCE_SCM_COMPONENT, and EASYPC::SOURCE_SYMBOL.

Definition at line 126 of file easypc_classes_styles.cpp.

References _, EASYPC::OBJECT::ClassName, EASYPC::ARCHIVE::CurrentReadFormat(), EASYPC::OBJECT::Offset, EASYPC::ARCHIVE::OrphanFormat(), Parent, EASYPC::ARCHIVE::ParentWalkDepth(), and THROW_IO_ERROR.

Referenced by EASYPC::SOURCE_AREA::Load(), EASYPC::SOURCE_ATTRIBUTE_NAME::Load(), EASYPC::SOURCE_BOARD::Load(), EASYPC::SOURCE_BUS::Load(), EASYPC::SOURCE_COMPONENT_INSTANCE::Load(), EASYPC::SOURCE_CONNECT_POINT::Load(), EASYPC::SOURCE_DEFAULTS::Load(), Load(), EASYPC::SOURCE_DESIGN_SPACINGS::Load(), EASYPC::SOURCE_FREE_COPPER::Load(), EASYPC::SOURCE_FREE_PAD::Load(), EASYPC::SOURCE_FREE_TEXT::Load(), EASYPC::SOURCE_GATE::Load(), EASYPC::SOURCE_GATE_MAP::Load(), EASYPC::SOURCE_GATE_PIN::Load(), EASYPC::SOURCE_GROUP::Load(), EASYPC::SOURCE_LAYER::Load(), EASYPC::SOURCE_LAYER_TYPE::Load(), EASYPC::SOURCE_LINE_STYLE::Load(), EASYPC::SOURCE_NET::Load(), EASYPC::SOURCE_NET_CLASS::Load(), EASYPC::SOURCE_ORIGIN::Load(), EASYPC::SOURCE_PAD_INSTANCE::Load(), EASYPC::SOURCE_PAD_STYLE::Load(), EASYPC::SOURCE_PAD_STYLE_EXCEPTION::Load(), EASYPC::SOURCE_PIN_NAME::Load(), EASYPC::SOURCE_PIN_NAME_INSTANCE::Load(), EASYPC::SOURCE_SHAPE_ITEM::Load(), EASYPC::SOURCE_SPACINGS::Load(), EASYPC::SOURCE_SYMBOL_INSTANCE::Load(), EASYPC::SOURCE_TEXT_STYLE::Load(), EASYPC::SOURCE_VALUE_POSITION::Load(), EASYPC::SOURCE_VIA::Load(), LoadOldFormat(), and EASYPC::SOURCE_TEXT_POSITION::LoadRemainder().

◆ Load()

LOAD_TASK EASYPC::SOURCE_DESIGN_ITEM::Load ( ARCHIVE & aAr)
overridevirtual

Read this object's fields.

Reimplemented from EASYPC::OBJECT.

Reimplemented in EASYPC::SOURCE_DESIGN_SPACINGS, EASYPC::SOURCE_FREE_COPPER, EASYPC::SOURCE_FREE_PAD, EASYPC::SOURCE_FREE_TEXT, EASYPC::SOURCE_GATE, EASYPC::SOURCE_GATE_MAP, EASYPC::SOURCE_GATE_PIN, EASYPC::SOURCE_GROUP, EASYPC::SOURCE_LAYER, EASYPC::SOURCE_LAYER_SPAN, EASYPC::SOURCE_LAYER_TYPE, EASYPC::SOURCE_LAYERED_SHAPE_ITEM, EASYPC::SOURCE_LINE_STYLE, EASYPC::SOURCE_NET, EASYPC::SOURCE_NET_CLASS, EASYPC::SOURCE_NET_NAME, EASYPC::SOURCE_NODE, EASYPC::SOURCE_ORIGIN, EASYPC::SOURCE_PAD_INSTANCE, EASYPC::SOURCE_PAD_STYLE, EASYPC::SOURCE_PAD_STYLE_EXCEPTION, EASYPC::SOURCE_PCB_COMPONENT, EASYPC::SOURCE_PIN_NAME, EASYPC::SOURCE_PIN_NAME_INSTANCE, EASYPC::SOURCE_SCM_COMPONENT, EASYPC::SOURCE_SHAPE_ITEM, EASYPC::SOURCE_SPACINGS, EASYPC::SOURCE_SYMBOL, EASYPC::SOURCE_SYMBOL_INSTANCE, EASYPC::SOURCE_TEXT_INSTANCE, EASYPC::SOURCE_TEXT_POSITION, EASYPC::SOURCE_TEXT_STYLE, EASYPC::SOURCE_TRACK_STYLE, EASYPC::SOURCE_TYPE_FONT, EASYPC::SOURCE_VALUE_POSITION, and EASYPC::SOURCE_VIA.

Definition at line 112 of file easypc_classes_styles.cpp.

References Attributes, ItemFormat(), EASYPC::ARCHIVE::Object(), Parent, and EASYPC::SkipFields().

Referenced by EASYPC::SOURCE_ATTRIBUTE::Load(), EASYPC::SOURCE_ATTRIBUTE_NAME::Load(), EASYPC::SOURCE_COMPONENT::Load(), EASYPC::SOURCE_COMPONENT_INSTANCE::Load(), EASYPC::SOURCE_CONNECT_POINT::Load(), EASYPC::SOURCE_CONNECTION::Load(), EASYPC::SOURCE_COPPER_INSTANCE::Load(), EASYPC::SOURCE_DEFAULTS::Load(), EASYPC::SOURCE_FREE_TEXT::Load(), EASYPC::SOURCE_GATE::Load(), EASYPC::SOURCE_GATE_MAP::Load(), EASYPC::SOURCE_GATE_PIN::Load(), EASYPC::SOURCE_GROUP::Load(), EASYPC::SOURCE_LAYER::Load(), EASYPC::SOURCE_LAYER_TYPE::Load(), EASYPC::SOURCE_LINE_STYLE::Load(), EASYPC::SOURCE_NET::Load(), EASYPC::SOURCE_NET_CLASS::Load(), EASYPC::SOURCE_NET_NAME::Load(), EASYPC::SOURCE_NODE::Load(), EASYPC::SOURCE_ORIGIN::Load(), EASYPC::SOURCE_PAD_INSTANCE::Load(), EASYPC::SOURCE_PAD_STYLE::Load(), EASYPC::SOURCE_PAD_STYLE_EXCEPTION::Load(), EASYPC::SOURCE_PCB_COMPONENT::Load(), EASYPC::SOURCE_PIN_NAME::Load(), EASYPC::SOURCE_PIN_NAME_INSTANCE::Load(), EASYPC::SOURCE_SCM_COMPONENT::Load(), EASYPC::SOURCE_SHAPE_ITEM::Load(), EASYPC::SOURCE_SPACINGS::Load(), EASYPC::SOURCE_SYMBOL::Load(), EASYPC::SOURCE_SYMBOL_INSTANCE::Load(), EASYPC::SOURCE_TEXT_INSTANCE::Load(), EASYPC::SOURCE_TEXT_POSITION::Load(), EASYPC::SOURCE_TEXT_STYLE::Load(), EASYPC::SOURCE_TRACK_STYLE::Load(), EASYPC::SOURCE_TYPE_FONT::Load(), and EASYPC::SOURCE_VALUE_POSITION::Load().

◆ LoadFormatted()

void EASYPC::SOURCE_DESIGN_ITEM::LoadFormatted ( ARCHIVE & aAr,
int & aFormat )
static

An item format, stored only from object schema 2, which governs what follows.

Definition at line 154 of file easypc_classes_styles.cpp.

References EASYPC::ARCHIVE::I32(), EASYPC::ARCHIVE::ObjectSchema(), and EASYPC::ARCHIVE::SetReadFormat().

◆ LoadOldFormat()

void EASYPC::SOURCE_DESIGN_ITEM::LoadOldFormat ( ARCHIVE & aAr,
int & aFormat ) const

An older item format, stored only while the format is still 0.

Definition at line 162 of file easypc_classes_styles.cpp.

References EASYPC::ARCHIVE::I32(), ItemFormat(), and EASYPC::ARCHIVE::SetReadFormat().

Referenced by EASYPC::SOURCE_PCB_COMPONENT::Load(), EASYPC::SOURCE_SCM_COMPONENT::Load(), and EASYPC::SOURCE_SYMBOL::Load().

Member Data Documentation

◆ Attributes

OBJECT* EASYPC::SOURCE_DESIGN_ITEM::Attributes = nullptr

attribute array

Definition at line 133 of file easypc_classes_styles.h.

Referenced by EASYPC::ConvertComponentSymbol(), Load(), and EASYPC::partAttributes().

◆ ClassName

const char* EASYPC::OBJECT::ClassName = "object"
inherited

◆ Offset

size_t EASYPC::OBJECT::Offset = 0
inherited

stream offset of the tag or of an embedded member's first field

Definition at line 132 of file easypc_archive.h.

Referenced by EASYPC::ARCHIVE::drive(), EASYPC::SOURCE_DESIGN_ITEM::ItemFormat(), EASYPC::ARCHIVE::readTag(), and EASYPC::ARCHIVE::throwBadClass().

◆ Parent

OBJECT* EASYPC::SOURCE_DESIGN_ITEM::Parent = nullptr

null is the document in a design, nothing in a library item

Definition at line 132 of file easypc_classes_styles.h.

Referenced by ItemFormat(), Load(), and EASYPC::netOf().

◆ Schema

uint16_t EASYPC::OBJECT::Schema = 0
inherited

object schema from the class tag, 0 for an embedded member

Definition at line 131 of file easypc_archive.h.

Referenced by EASYPC::SOURCE_COMMON_SHAPE::Load(), and EASYPC::ARCHIVE::readTag().


The documentation for this struct was generated from the following files: