2 #include "block/block.hpp"
3 #include "board/board.hpp"
5 #include "nlohmann/json.hpp"
6 #include "document/document_board.hpp"
12 CoreBoard(
const std::string &board_filename,
const std::string &blocks_filename,
const std::string &pictures_dir,
15 class Block *get_top_block()
override;
18 bool set_property(ObjectType type,
const UUID &uu, ObjectProperty::ID property,
20 bool get_property(ObjectType type,
const UUID &uu, ObjectProperty::ID property,
22 bool get_property_meta(ObjectType type,
const UUID &uu, ObjectProperty::ID property,
25 void reload_netlist();
27 const Board &get_canvas_data();
28 Board *get_board()
override;
29 const Board *get_board()
const;
31 class Rules *get_rules()
override;
34 return gerber_output_settings;
38 return odb_output_settings;
42 return pdf_export_settings;
46 return step_export_settings;
50 return pnp_export_settings;
54 return &grid_settings;
61 void update_rules()
override;
63 std::pair<Coordi, Coordi> get_bbox()
override;
67 const std::string &get_filename()
const override;
69 ObjectType get_object_type()
const override
71 return ObjectType::BOARD;
79 void reload_pool()
override;
82 std::optional<Block> block;
83 std::optional<Board> brd;
95 std::string m_board_filename;
96 std::string m_blocks_filename;
97 std::string m_pictures_dir;
101 HistoryItem(
const Block &b,
const Board &r,
const std::string &comment);
105 void rebuild_internal(
bool from_undo,
const std::string &comment)
override;
106 void history_push(
const std::string &comment)
override;
107 void history_load(
unsigned int i)
override;
108 void save(
const std::string &suffix)
override;
109 void delete_autosave()
override;
A block is one level of hierarchy in the netlist.
Definition: block.hpp:29
Definition: board_rules.hpp:27
Definition: core_board.hpp:10
json get_meta() override
Definition: core_board.cpp:795
Where Tools and and documents meet.
Definition: core.hpp:42
Definition: document_board.hpp:14
Definition: file_version.hpp:9
Definition: gerber_output_settings.hpp:10
Definition: grid_settings.hpp:9
Definition: layer_provider.hpp:7
Definition: odb_output_settings.hpp:10
Definition: pdf_export_settings.hpp:9
Definition: pnp_export_settings.hpp:11
Definition: core_properties.hpp:7
Definition: step_export_settings.hpp:10
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
a class to store JSON values
Definition: json.hpp:177