2 #include "block/block.hpp"
3 #include "board/board.hpp"
5 #include "nlohmann/json.hpp"
6 #include "document/document_board.hpp"
9 class CoreBoard :
public Core,
public DocumentBoard {
11 CoreBoard(
const std::string &board_filename,
const std::string &block_filename,
const std::string &via_dir,
12 const std::string &pictures_dir, IPool &pool);
14 class Block *get_block()
override;
15 class LayerProvider &get_layer_provider()
override;
17 bool set_property(ObjectType type,
const UUID &uu, ObjectProperty::ID property,
18 const class PropertyValue &value)
override;
19 bool get_property(ObjectType type,
const UUID &uu, ObjectProperty::ID property,
20 class PropertyValue &value)
override;
21 bool get_property_meta(ObjectType type,
const UUID &uu, ObjectProperty::ID property,
22 class PropertyMeta &meta)
override;
24 void rebuild(
bool from_undo =
false)
override;
25 void reload_netlist();
27 const Board *get_canvas_data();
28 Board *get_board()
override;
29 const Board *get_board()
const;
33 return via_padstack_provider;
36 class Rules *get_rules()
override;
39 return fab_output_settings;
41 PDFExportSettings &get_pdf_export_settings()
override
43 return pdf_export_settings;
45 STEPExportSettings &get_step_export_settings()
override
47 return step_export_settings;
49 PnPExportSettings &get_pnp_export_settings()
override
51 return pnp_export_settings;
54 BoardColors &get_colors()
override
58 void update_rules()
override;
60 std::pair<Coordi, Coordi> get_bbox()
override;
64 const std::string &get_filename()
const override;
66 ObjectType get_object_type()
const override
68 return ObjectType::BOARD;
77 ViaPadstackProvider via_padstack_provider;
83 FabOutputSettings fab_output_settings;
84 PDFExportSettings pdf_export_settings;
85 STEPExportSettings step_export_settings;
86 PnPExportSettings pnp_export_settings;
90 std::string m_board_filename;
91 std::string m_block_filename;
92 std::string m_pictures_dir;
94 class HistoryItem :
public Core::HistoryItem {
96 HistoryItem(
const Block &b,
const Board &r);
100 void history_push()
override;
101 void history_load(
unsigned int i)
override;
102 void save(
const std::string &suffix)
override;
103 void delete_autosave()
override;