3 #include "util/uuid.hpp"
4 #include "common/common.hpp"
5 #include "util/uuid_path.hpp"
6 #include "parameter/set.hpp"
19 void set_parent(Gtk::Window *w);
20 void set_interface(
class ImpInterface *intf);
22 std::optional<UUID> map_pin(
const std::vector<std::pair<const class Pin *, bool>> &pins);
23 std::optional<UUIDPath<2>> map_symbol(
const std::map<UUIDPath<2>, std::string> &gates);
24 std::optional<UUID> map_package(
const std::vector<std::pair<class Component *, bool>> &components);
25 std::optional<UUID> select_symbol(
class IPool &p,
const UUID &unit_uuid);
26 std::optional<UUID> select_part(
class IPool &p,
const UUID &entity_uuid,
const UUID &part_uuid,
27 bool show_none =
false);
28 std::optional<UUID> select_entity(
class IPool &pool);
29 std::optional<UUID> select_unit(
class IPool &pool);
30 std::optional<UUID> select_padstack(
class IPool &pool,
const UUID &package_uuid);
31 std::optional<UUID> select_hole_padstack(
class IPool &pool);
32 std::optional<UUID> select_via_padstack(
class ViaPadstackProvider &vpp);
33 std::optional<UUID> select_net(
const class Block &block,
bool power_only,
const UUID &net_default = UUID());
34 std::optional<UUID> select_bus(
const class Block &block);
35 std::optional<UUID> select_bus_member(
const class Block &block,
const UUID &bus_uuid);
36 std::optional<UUID> select_group_tag(
const class Block &block,
bool tag_mode,
const UUID ¤t);
37 std::optional<UUID> select_included_board(
const class Board &brd);
38 std::optional<UUID> select_decal(
class IPool &pool);
40 unsigned int ask_net_merge(
class Net &net,
class Net &into);
41 bool manage_buses(
class Block &b);
42 bool manage_net_classes(
class Block &b);
43 bool manage_power_nets(
class Block &b);
44 bool manage_via_templates(
class Board &b,
class ViaPadstackProvider &vpp);
45 bool manage_included_boards(
class Board &b);
46 bool edit_pad_parameter_set(std::set<class Pad *> &pads,
class IPool &pool,
class Package &pkg);
47 bool edit_board_hole(std::set<class BoardHole *> &holes,
class IPool &pool,
class Block &block);
48 bool annotate(
class Schematic &s);
49 bool edit_plane(
class Plane &plane,
class Board &brd);
50 bool edit_keepout(
class Keepout &keepout,
class IDocument &c,
bool add_mode);
51 bool edit_stackup(
class IDocumentBoard &brd);
52 bool edit_schematic_properties(
class Schematic &s,
class IPool &pool);
53 bool edit_frame_properties(
class Frame &fr);
54 std::optional<int64_t> ask_datum(
const std::string &label,
int64_t def = 0);
55 std::optional<Coordi> ask_datum_coord(
const std::string &label, Coordi def = Coordi());
56 std::optional<std::pair<Coordi, std::pair<bool, bool>>> ask_datum_coord2(
const std::string &label,
57 Coordi def = Coordi());
58 std::optional<std::string> ask_datum_string_multiline(
const std::string &label,
const std::string &def);
59 std::optional<std::string> ask_datum_string(
const std::string &label,
const std::string &def);
60 std::optional<int> ask_datum_angle(
const std::string &label,
int def = 0);
61 bool edit_shapes(std::set<class Shape *> shapes);
62 bool edit_via(std::set<class Via *> &vias,
class ViaPadstackProvider &vpp);
63 std::optional<std::string> ask_dxf_filename();
64 std::optional<std::string> ask_kicad_package_filename();
65 std::optional<std::string> ask_picture_filename();
67 class SymbolPinNamesWindow *show_symbol_pin_names_window(
class SchematicSymbol &symbol);
68 class RenumberPadsWindow *show_renumber_pads_window(
class Package &pkg,
const std::set<UUID> &pads);
69 class GenerateSilkscreenWindow *show_generate_silkscreen_window(
class ToolSettings &settings);
70 class EnterDatumWindow *show_enter_datum_window(
const std::string &label,
int64_t def = 0);
71 class RouterSettingsWindow *show_router_settings_window(
class ToolSettings &settings);
73 void close_nonmodal();
74 class ToolWindow *get_nonmodal();
77 Gtk::Window *parent =
nullptr;
78 class ImpInterface *
interface = nullptr;
79 class ToolWindow *window_nonmodal =
nullptr;