Horizon
Classes | Public Member Functions | List of all members
horizon::CoreSchematic Class Reference
Inheritance diagram for horizon::CoreSchematic:
horizon::Core horizon::IDocumentSchematic horizon::IDocumentBlockSymbol horizon::IInstanceMappingProvider horizon::Document horizon::IDocumentSchematicBlockSymbol horizon::IDocumentSchematicBlockSymbol horizon::IDocument horizon::IDocument horizon::IDocument

Public Member Functions

 CoreSchematic (const std::string &blocks_filename, const std::string &pictures_dir, IPool &pool, IPool &pool_caching)
 
bool has_object_type (ObjectType ty) const override
 
Schematicget_current_schematic () override
 
const Schematicget_current_schematic () const
 
Schematicget_top_schematic () override
 
const Schematicget_top_schematic () const
 
Sheetget_sheet () override
 
const Sheetget_sheet () const
 
BlockSymbolget_block_symbol () override
 
Junctionget_junction (const UUID &uu) override
 
Junctioninsert_junction (const UUID &uu) override
 
void delete_junction (const UUID &uu) override
 
class Blockget_top_block () override
 
const Blockget_top_block () const
 
class Blockget_current_block () override
 
const Blockget_current_block () const
 
class LayerProviderget_layer_provider () override
 
bool set_property (ObjectType type, const UUID &uu, ObjectProperty::ID property, const class PropertyValue &value) override
 
bool get_property (ObjectType type, const UUID &uu, ObjectProperty::ID property, class PropertyValue &value) override
 
bool get_property_meta (ObjectType type, const UUID &uu, ObjectProperty::ID property, class PropertyMeta &meta) override
 
std::string get_display_name (ObjectType type, const UUID &uu) override
 
std::string get_display_name (ObjectType type, const UUID &uu, const UUID &sheet) override
 
class Rulesget_rules () override
 
BOMExportSettingsget_bom_export_settings ()
 
PDFExportSettingsget_pdf_export_settings ()
 
void add_sheet ()
 
void delete_sheet (const UUID &uu)
 
void set_sheet (const UUID &uu)
 
const Sheetget_canvas_data ()
 
const BlockSymbolget_canvas_data_block_symbol ()
 
std::pair< Coordi, Coordiget_bbox () override
 
void set_block (const UUID &uu)
 
const UUIDget_current_block_uuid () const
 
const UUIDget_top_block_uuid () const
 
void set_block_symbol_mode ()
 
bool get_block_symbol_mode () const override
 
const BlocksSchematicget_blocks () const
 
BlocksSchematicget_blocks () override
 
bool current_block_is_top () const override
 
void set_instance_path (const UUIDVec &path)
 
const UUIDVec & get_instance_path () const override
 
bool in_hierarchy () const override
 
const BlockInstanceMappingget_block_instance_mapping () const override
 
BlockInstanceMappingget_block_instance_mapping ()
 
unsigned int get_sheet_index (const class UUID &sheet) const override
 
unsigned int get_sheet_total () const override
 
unsigned int get_sheet_index_for_path (const class UUID &sheet, const UUIDVec &path) const
 
Schematicget_schematic_for_instance_path (const UUIDVec &path) override
 
const std::string & get_filename () const override
 
ObjectType get_object_type () const override
 
const FileVersionget_version () const override
 
void reload_pool () override
 
- Public Member Functions inherited from horizon::Core
class Blockget_top_block () override
 
class Rulesget_rules () override
 
class GridSettingsget_grid_settings () override
 
class IPoolget_pool () override
 
class IPoolget_pool_caching () override
 
virtual ObjectType get_object_type () const =0
 
void rebuild (const std::string &comment)
 Expands the non-working document. More...
 
ToolResponse tool_begin (ToolID tool_id, const ToolArgs &args, class ImpInterface *imp, bool transient=false)
 
ToolResponse tool_update (const ToolArgs &args)
 
std::pair< bool, bool > tool_can_begin (ToolID tool_id, const std::set< SelectableRef > &selection)
 
void save ()
 
void autosave ()
 
virtual void delete_autosave ()=0
 
void undo ()
 
void redo ()
 
bool can_undo () const
 
bool can_redo () const
 
const std::string & get_undo_comment () const
 
const std::string & get_redo_comment () const
 
void set_history_max (unsigned int m)
 
bool tool_is_active ()
 
virtual bool set_property (ObjectType type, const UUID &uu, ObjectProperty::ID property, const class PropertyValue &value)
 
virtual bool get_property (ObjectType type, const UUID &uu, ObjectProperty::ID property, class PropertyValue &value)
 
virtual bool get_property_meta (ObjectType type, const UUID &uu, ObjectProperty::ID property, class PropertyMeta &meta)
 
void set_property_begin ()
 
void set_property_commit ()
 
bool get_property_transaction () const
 
virtual json get_meta ()
 
virtual void update_rules ()
 
virtual std::pair< Coordi, Coordiget_bbox ()=0
 
std::set< SelectableRef > & get_tool_selection ()
 
std::set< InToolActionID > get_tool_actions () const
 
bool get_needs_save () const
 
void set_needs_save ()
 
virtual const std::string & get_filename () const =0
 
type_signal_tool_changed signal_tool_changed ()
 
type_signal_rebuilt signal_rebuilt ()
 
type_signal_rebuilt signal_save ()
 Gets emitted right before saving. More...
 
type_signal_rebuilt signal_modified ()
 
type_signal_rebuilt signal_can_undo_redo ()
 
type_signal_needs_save signal_needs_save ()
 
type_signal_load_tool_settings signal_load_tool_settings ()
 
type_signal_save_tool_settings signal_save_tool_settings ()
 
virtual void reload_pool ()
 
- Public Member Functions inherited from horizon::Document
class Junctioninsert_junction (const class UUID &uu) override
 
class Junctionget_junction (const UUID &uu) override
 
void delete_junction (const UUID &uu) override
 
class Lineinsert_line (const UUID &uu) override
 
class Lineget_line (const UUID &uu) override
 
void delete_line (const UUID &uu) override
 
class Arcinsert_arc (const UUID &uu) override
 
class Arcget_arc (const UUID &uu) override
 
void delete_arc (const UUID &uu) override
 
class Textinsert_text (const UUID &uu) override
 
class Textget_text (const UUID &uu) override
 
void delete_text (const UUID &uu) override
 
class Polygoninsert_polygon (const UUID &uu) override
 
class Polygonget_polygon (const UUID &uu) override
 
void delete_polygon (const UUID &uu) override
 
class Holeinsert_hole (const UUID &uu) override
 
class Holeget_hole (const UUID &uu) override
 
void delete_hole (const UUID &uu) override
 
class Dimensioninsert_dimension (const UUID &uu) override
 
class Dimensionget_dimension (const UUID &uu) override
 
void delete_dimension (const UUID &uu) override
 
class Keepoutinsert_keepout (const UUID &uu) override
 
class Keepoutget_keepout (const UUID &uu) override
 
void delete_keepout (const UUID &uu) override
 
class Pictureinsert_picture (const UUID &uu) override
 
class Pictureget_picture (const UUID &uu) override
 
void delete_picture (const UUID &uu) override
 
std::vector< Line * > get_lines () override
 
std::vector< Arc * > get_arcs () override
 
std::vector< Keepout * > get_keepouts () override
 
std::string get_display_name (ObjectType type, const UUID &uu) override
 
std::string get_display_name (ObjectType type, const UUID &uu, const UUID &sheet) override
 
virtual bool has_object_type (ObjectType ty) const =0
 
virtual class Junctioninsert_junction (const class UUID &uu)=0
 
virtual class Junctionget_junction (const UUID &uu)=0
 
virtual void delete_junction (const UUID &uu)=0
 
virtual class Lineinsert_line (const UUID &uu)=0
 
virtual class Lineget_line (const UUID &uu)=0
 
virtual void delete_line (const UUID &uu)=0
 
virtual class Arcinsert_arc (const UUID &uu)=0
 
virtual class Arcget_arc (const UUID &uu)=0
 
virtual void delete_arc (const UUID &uu)=0
 
virtual class Textinsert_text (const UUID &uu)=0
 
virtual class Textget_text (const UUID &uu)=0
 
virtual void delete_text (const UUID &uu)=0
 
virtual class Polygoninsert_polygon (const UUID &uu)=0
 
virtual class Polygonget_polygon (const UUID &uu)=0
 
virtual void delete_polygon (const UUID &uu)=0
 
virtual class Holeinsert_hole (const UUID &uu)=0
 
virtual class Holeget_hole (const UUID &uu)=0
 
virtual void delete_hole (const UUID &uu)=0
 
virtual class Dimensioninsert_dimension (const UUID &uu)=0
 
virtual class Dimensionget_dimension (const UUID &uu)=0
 
virtual void delete_dimension (const UUID &uu)=0
 
virtual class Keepoutinsert_keepout (const UUID &uu)=0
 
virtual class Keepoutget_keepout (const UUID &uu)=0
 
virtual void delete_keepout (const UUID &uu)=0
 
virtual class Pictureinsert_picture (const UUID &uu)=0
 
virtual class Pictureget_picture (const UUID &uu)=0
 
virtual void delete_picture (const UUID &uu)=0
 
virtual std::vector< Line * > get_lines ()=0
 
virtual std::vector< Arc * > get_arcs ()=0
 
virtual std::vector< Keepout * > get_keepouts ()=0
 
virtual class Blockget_top_block ()=0
 
virtual class Rulesget_rules ()=0
 
virtual class IPoolget_pool ()=0
 
virtual class IPoolget_pool_caching ()=0
 
virtual class LayerProviderget_layer_provider ()=0
 
virtual class GridSettingsget_grid_settings ()=0
 
virtual std::string get_display_name (ObjectType type, const UUID &uu)=0
 
virtual std::string get_display_name (ObjectType type, const UUID &uu, const UUID &sheet)=0
 
virtual const class FileVersionget_version () const =0
 
virtual class Schematicget_current_schematic ()=0
 
virtual class Schematicget_top_schematic ()=0
 
virtual class Sheetget_sheet ()=0
 
virtual bool current_block_is_top () const =0
 
virtual class Schematicget_schematic_for_instance_path (const UUIDVec &path)=0
 
virtual const UUIDVec & get_instance_path () const =0
 
virtual bool in_hierarchy () const =0
 
virtual bool get_block_symbol_mode () const =0
 
virtual class Blockget_current_block ()=0
 
virtual class BlocksSchematicget_blocks ()=0
 
virtual class BlockSymbolget_block_symbol ()=0
 
virtual const class BlockInstanceMappingget_block_instance_mapping () const =0
 
virtual unsigned int get_sheet_index (const class UUID &sheet) const =0
 
virtual unsigned int get_sheet_total () const =0
 

Additional Inherited Members

- Public Types inherited from horizon::Core
typedef sigc::signal< void, ToolID > type_signal_tool_changed
 
typedef sigc::signal< void > type_signal_rebuilt
 
typedef sigc::signal< void, bool > type_signal_needs_save
 
typedef sigc::signal< json, ToolID > type_signal_load_tool_settings
 
typedef sigc::signal< void, ToolID, jsontype_signal_save_tool_settings
 
- Protected Member Functions inherited from horizon::Core
 Core (class IPool &pool, IPool *m_pool_caching)
 
void set_needs_save (bool v)
 
void rebuild_finish (bool from_undo, const std::string &comment)
 
virtual void history_push (const std::string &comment)=0
 
virtual void history_load (unsigned int i)=0
 
virtual std::string get_history_comment_context () const
 
void history_clear ()
 
void history_trim ()
 
void layers_to_meta (class PropertyMeta &meta)
 
void get_placement (const Placement &placement, class PropertyValue &value, ObjectProperty::ID property)
 
void set_placement (Placement &placement, const class PropertyValue &value, ObjectProperty::ID property)
 
virtual void save (const std::string &suffix)=0
 
json get_meta_from_file (const std::string &filename)
 
- Protected Member Functions inherited from horizon::Document
virtual std::map< UUID, Junction > * get_junction_map ()
 
virtual std::map< UUID, Line > * get_line_map ()
 
virtual std::map< UUID, Arc > * get_arc_map ()
 
virtual std::map< UUID, Text > * get_text_map ()
 
virtual std::map< UUID, Polygon > * get_polygon_map ()
 
virtual std::map< UUID, Hole > * get_hole_map ()
 
virtual std::map< UUID, Dimension > * get_dimension_map ()
 
virtual std::map< UUID, Keepout > * get_keepout_map ()
 
virtual std::map< UUID, Picture > * get_picture_map ()
 
- Protected Attributes inherited from horizon::Core
class IPoolm_pool
 
class IPoolm_pool_caching
 
ToolID tool_id_current
 
std::unique_ptr< ToolBasetool = nullptr
 
type_signal_tool_changed s_signal_tool_changed
 
type_signal_rebuilt s_signal_rebuilt
 
type_signal_rebuilt s_signal_save
 
type_signal_rebuilt s_signal_modified
 
type_signal_rebuilt s_signal_can_undo_redo
 
type_signal_needs_save s_signal_needs_save
 
type_signal_load_tool_settings s_signal_load_tool_settings
 
type_signal_save_tool_settings s_signal_save_tool_settings
 
bool needs_save = false
 
std::deque< std::unique_ptr< HistoryItem > > history
 
int history_current = -1
 
size_t history_max = 50
 
bool property_transaction = false
 
- Static Protected Attributes inherited from horizon::Core
static const std::string autosave_suffix = ".autosave"
 

Member Function Documentation

◆ current_block_is_top()

bool horizon::CoreSchematic::current_block_is_top ( ) const
overridevirtual

◆ delete_junction()

void horizon::CoreSchematic::delete_junction ( const UUID uu)
overridevirtual

Implements horizon::IDocument.

◆ get_bbox()

std::pair< Coordi, Coordi > horizon::CoreSchematic::get_bbox ( )
overridevirtual

Implements horizon::Core.

◆ get_block_instance_mapping()

const BlockInstanceMapping * horizon::CoreSchematic::get_block_instance_mapping ( ) const
overridevirtual

◆ get_block_symbol()

BlockSymbol & horizon::CoreSchematic::get_block_symbol ( )
overridevirtual

◆ get_block_symbol_mode()

bool horizon::CoreSchematic::get_block_symbol_mode ( ) const
overridevirtual

◆ get_blocks()

BlocksSchematic & horizon::CoreSchematic::get_blocks ( )
overridevirtual

◆ get_current_block()

Block * horizon::CoreSchematic::get_current_block ( )
overridevirtual

◆ get_current_schematic()

Schematic * horizon::CoreSchematic::get_current_schematic ( )
overridevirtual

◆ get_display_name() [1/2]

std::string horizon::CoreSchematic::get_display_name ( ObjectType  type,
const UUID uu 
)
overridevirtual

Implements horizon::IDocument.

◆ get_display_name() [2/2]

std::string horizon::CoreSchematic::get_display_name ( ObjectType  type,
const UUID uu,
const UUID sheet 
)
overridevirtual

Implements horizon::IDocument.

◆ get_filename()

const std::string & horizon::CoreSchematic::get_filename ( ) const
overridevirtual

Implements horizon::Core.

◆ get_instance_path()

const UUIDVec & horizon::CoreSchematic::get_instance_path ( ) const
overridevirtual

◆ get_junction()

Junction * horizon::CoreSchematic::get_junction ( const UUID uu)
overridevirtual

Implements horizon::IDocument.

◆ get_layer_provider()

LayerProvider & horizon::CoreSchematic::get_layer_provider ( )
overridevirtual

Implements horizon::IDocument.

◆ get_object_type()

ObjectType horizon::CoreSchematic::get_object_type ( ) const
inlineoverridevirtual

Implements horizon::Core.

◆ get_property()

bool horizon::CoreSchematic::get_property ( ObjectType  type,
const UUID uu,
ObjectProperty::ID  property,
class PropertyValue value 
)
overridevirtual

Reimplemented from horizon::Core.

◆ get_property_meta()

bool horizon::CoreSchematic::get_property_meta ( ObjectType  type,
const UUID uu,
ObjectProperty::ID  property,
class PropertyMeta meta 
)
overridevirtual

Reimplemented from horizon::Core.

◆ get_rules()

Rules * horizon::CoreSchematic::get_rules ( )
overridevirtual

Reimplemented from horizon::Core.

◆ get_schematic_for_instance_path()

Schematic & horizon::CoreSchematic::get_schematic_for_instance_path ( const UUIDVec &  path)
overridevirtual

◆ get_sheet()

Sheet * horizon::CoreSchematic::get_sheet ( )
overridevirtual

◆ get_sheet_index()

unsigned int horizon::CoreSchematic::get_sheet_index ( const class UUID sheet) const
overridevirtual

◆ get_sheet_total()

unsigned int horizon::CoreSchematic::get_sheet_total ( ) const
overridevirtual

◆ get_top_block()

Block * horizon::CoreSchematic::get_top_block ( )
overridevirtual

Reimplemented from horizon::Core.

◆ get_top_schematic()

Schematic * horizon::CoreSchematic::get_top_schematic ( )
overridevirtual

◆ get_version()

const FileVersion & horizon::CoreSchematic::get_version ( ) const
inlineoverridevirtual

Implements horizon::IDocument.

◆ has_object_type()

bool horizon::CoreSchematic::has_object_type ( ObjectType  ty) const
overridevirtual

Implements horizon::IDocument.

◆ in_hierarchy()

bool horizon::CoreSchematic::in_hierarchy ( ) const
overridevirtual

◆ reload_pool()

void horizon::CoreSchematic::reload_pool ( )
overridevirtual

Reimplemented from horizon::Core.

◆ set_property()

bool horizon::CoreSchematic::set_property ( ObjectType  type,
const UUID uu,
ObjectProperty::ID  property,
const class PropertyValue value 
)
overridevirtual

Reimplemented from horizon::Core.


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