3 #include "common/common.hpp" 4 #include "pool/unit.hpp" 5 #include "pool/part.hpp" 6 #include "pool/entity.hpp" 7 #include "../pool_notebook.hpp" 8 #include "util/window_state_store.hpp" 17 PartWizard(BaseObjectType *cobject,
const Glib::RefPtr<Gtk::Builder> &x,
const class Package *p,
18 const std::string &bp,
class Pool *po);
20 bool get_has_finished()
const;
26 std::string pool_base_path;
29 Gtk::Button *button_back =
nullptr;
30 Gtk::Button *button_next =
nullptr;
31 Gtk::Button *button_finish =
nullptr;
32 Gtk::Stack *stack =
nullptr;
34 Gtk::ListBox *pads_lb =
nullptr;
35 Gtk::ToolButton *button_link_pads =
nullptr;
36 Gtk::ToolButton *button_unlink_pads =
nullptr;
37 Gtk::ToolButton *button_import_pads =
nullptr;
39 Glib::RefPtr<Gtk::SizeGroup> sg_name;
40 Gtk::Box *page_assign =
nullptr;
41 Gtk::Box *page_edit =
nullptr;
42 Gtk::Box *edit_left_box =
nullptr;
44 Gtk::Entry *entity_name_entry =
nullptr;
45 Gtk::Button *entity_name_from_mpn_button =
nullptr;
46 Gtk::Entry *entity_prefix_entry =
nullptr;
47 Gtk::Entry *entity_tags_entry =
nullptr;
49 Gtk::Entry *part_mpn_entry =
nullptr;
50 Gtk::Entry *part_value_entry =
nullptr;
51 Gtk::Entry *part_manufacturer_entry =
nullptr;
52 Gtk::Entry *part_tags_entry =
nullptr;
53 Gtk::Button *part_autofill_button =
nullptr;
58 Gtk::Grid *steps_grid =
nullptr;
63 class ListColumns :
public Gtk::TreeModelColumnRecord {
67 Gtk::TreeModelColumnRecord::add(name);
69 Gtk::TreeModelColumn<Glib::ustring> name;
71 ListColumns list_columns;
73 Glib::RefPtr<Gtk::ListStore> gate_name_store;
74 void update_gate_names();
75 void update_pin_warnings();
76 std::map<std::pair<std::string, std::string>, std::set<class PadEditor *>> get_pin_names();
81 void import_pads(
const json &j);
82 void create_pad_editors();
84 void link_pads(
const std::deque<class PadEditor *> &eds);
87 enum class Mode { ASSIGN, EDIT };
93 bool has_finished =
false;
95 std::string get_rel_part_filename();
96 void update_can_finish();
100 bool mpn_valid =
false;
101 bool part_filename_valid =
false;
102 bool gates_valid =
false;
103 std::vector<std::string> get_filenames();
105 Mode mode = Mode::ASSIGN;
106 void set_mode(Mode mo);
108 std::map<std::string, Unit> units;
109 std::map<UUID, UUID> symbols;
111 void spawn(PoolManagerProcess::Type type,
const std::vector<std::string> &args);
112 std::map<std::string, PoolManagerProcess> processes;
114 static class LocationEntry *pack_location_entry(
const Glib::RefPtr<Gtk::Builder> &x,
const std::string &w,
115 Gtk::Button **button_other =
nullptr);
Definition: location_entry.hpp:6
a class to store JSON values
Definition: json.hpp:161
Definition: window_state_store.hpp:20
Definition: gate_editor.hpp:10
Definition: package.hpp:25
Definition: part_wizard.hpp:12
Definition: pad_editor.hpp:8
Definition: entity.hpp:13
Stores objects (Unit, Entity, Symbol, Part, etc.) from the pool.
Definition: pool.hpp:18