2 #include "block/block.hpp"
4 #include "pool/pool.hpp"
5 #include "pool/symbol.hpp"
6 #include "schematic/schematic.hpp"
7 #include "document/idocument_schematic.hpp"
14 CoreSchematic(
const std::string &schematic_filename,
const std::string &block_filename,
Pool &pool);
15 bool has_object_type(ObjectType ty)
const override;
18 Line *get_line(
const UUID &uu)
override;
19 Arc *get_arc(
const UUID &uu)
override;
22 Sheet *get_sheet()
override;
23 Text *get_text(
const UUID &uu)
override;
26 void delete_junction(
const UUID &uu)
override;
27 Line *insert_line(
const UUID &uu)
override;
28 void delete_line(
const UUID &uu)
override;
29 Arc *insert_arc(
const UUID &uu)
override;
30 void delete_arc(
const UUID &uu)
override;
32 void delete_schematic_symbol(
const UUID &uu)
override;
35 void delete_line_net(
const UUID &uu)
override;
37 Text *insert_text(
const UUID &uu)
override;
38 void delete_text(
const UUID &uu)
override;
40 std::vector<Line *> get_lines()
override;
41 std::vector<Arc *> get_arcs()
override;
42 std::vector<LineNet *> get_net_lines()
override;
43 std::vector<NetLabel *> get_net_labels()
override;
45 class Block *get_block()
override;
48 bool set_property(ObjectType type,
const UUID &uu, ObjectProperty::ID property,
50 bool get_property(ObjectType type,
const UUID &uu, ObjectProperty::ID property,
52 bool get_property_meta(ObjectType type,
const UUID &uu, ObjectProperty::ID property,
55 std::string get_display_name(ObjectType type,
const UUID &uu)
override;
56 std::string get_display_name(ObjectType type,
const UUID &uu,
const UUID &sheet)
override;
58 class Rules *get_rules()
override;
62 return &bom_export_settings;
67 return &pdf_export_settings;
70 void rebuild(
bool from_undo =
false)
override;
73 void delete_sheet(
const UUID &uu);
75 void set_sheet(
const UUID &uu);
76 const Sheet *get_canvas_data();
77 std::pair<Coordi, Coordi> get_bbox()
override;
79 const std::string &get_filename()
const override;
81 bool get_project_meta_loaded_from_block()
const
83 return project_meta_loaded_from_block;
88 const bool project_meta_loaded_from_block;
97 std::string m_schematic_filename;
98 std::string m_block_filename;
102 HistoryItem(
const Block &b,
const Schematic &s) : block(b), sch(s)
108 void history_push()
override;
109 void history_load(
unsigned int i)
override;
110 void save(
const std::string &suffix)
override;
111 void delete_autosave()
override;