2 #include "block/block.hpp"
3 #include "board/board.hpp"
5 #include "pool/pool.hpp"
8 #include "nlohmann/json.hpp"
9 #include "document/document_board.hpp"
14 CoreBoard(
const std::string &board_filename,
const std::string &block_filename,
const std::string &via_dir,
17 class Block *get_block()
override;
20 bool set_property(ObjectType type,
const UUID &uu, ObjectProperty::ID property,
22 bool get_property(ObjectType type,
const UUID &uu, ObjectProperty::ID property,
24 bool get_property_meta(ObjectType type,
const UUID &uu, ObjectProperty::ID property,
27 void rebuild(
bool from_undo =
false)
override;
28 void reload_netlist();
30 const Board *get_canvas_data();
31 Board *get_board()
override;
32 const Board *get_board()
const;
34 class Rules *get_rules()
override;
37 return &fab_output_settings;
41 return &pdf_export_settings;
45 return &step_export_settings;
49 return &pnp_export_settings;
56 void update_rules()
override;
58 std::pair<Coordi, Coordi> get_bbox()
override;
62 const std::string &get_filename()
const override;
78 std::string m_board_filename;
79 std::string m_block_filename;
80 std::string m_via_dir;
88 void history_push()
override;
89 void history_load(
unsigned int i)
override;
90 void save(
const std::string &suffix)
override;
91 void delete_autosave()
override;