3 #include "pool/pool.hpp"
4 #include "pool/symbol.hpp"
8 #include "document/idocument_symbol.hpp"
14 bool has_object_type(ObjectType ty)
const override;
15 Symbol *get_symbol()
override;
18 Line *get_line(
const UUID &uu)
override;
20 Arc *get_arc(
const UUID &uu)
override;
23 void delete_junction(
const UUID &uu)
override;
24 Line *insert_line(
const UUID &uu)
override;
25 void delete_line(
const UUID &uu)
override;
26 Arc *insert_arc(
const UUID &uu)
override;
27 void delete_arc(
const UUID &uu)
override;
30 void delete_symbol_pin(
const UUID &uu)
override;
34 std::vector<Line *> get_lines()
override;
35 std::vector<Arc *> get_arcs()
override;
36 std::vector<const Pin *> get_pins()
override;
38 void rebuild(
bool from_undo =
false)
override;
40 bool set_property(ObjectType type,
const UUID &uu, ObjectProperty::ID property,
42 bool get_property(ObjectType type,
const UUID &uu, ObjectProperty::ID property,
44 bool get_property_meta(ObjectType type,
const UUID &uu, ObjectProperty::ID property,
47 std::string get_display_name(ObjectType type,
const UUID &uu)
override;
49 const Symbol *get_canvas_data();
50 std::pair<Coordi, Coordi> get_bbox()
override;
52 void reload_pool()
override;
56 const std::string &get_filename()
const override;
58 ObjectType get_object_type()
const override
60 return ObjectType::SYMBOL;
64 std::map<UUID, Text> *get_text_map()
override;
65 std::map<UUID, Polygon> *get_polygon_map()
override;
68 std::string m_filename;
73 HistoryItem(
const Symbol &s) : sym(s)
78 void history_push()
override;
79 void history_load(
unsigned int i)
override;
80 void save(
const std::string &suffix)
override;
81 void delete_autosave()
override;