Horizon
gate_editor.hpp
1 #pragma once
2 #include <gtkmm.h>
3 #include "common/common.hpp"
4 #include <set>
5 #include "util/uuid_ptr.hpp"
6 #include "pool/gate.hpp"
7 
8 
9 namespace horizon {
10 class GateEditorWizard : public Gtk::Box {
11  friend class PartWizard;
12 
13 public:
14  GateEditorWizard(BaseObjectType *cobject, const Glib::RefPtr<Gtk::Builder> &x, Gate *g, class PartWizard *pa);
15  static GateEditorWizard *create(Gate *g, PartWizard *pa);
16  void update_symbol_pins(unsigned int n_mapped);
17  void set_can_edit_symbol_name(bool v);
18 
19  virtual ~GateEditorWizard()
20  {
21  }
22 
23 private:
24  PartWizard *parent;
25  uuid_ptr<Gate> gate;
26 
27  Gtk::Label *gate_label = nullptr;
28  Gtk::Label *gate_symbol_label = nullptr;
29  Gtk::Button *edit_symbol_button = nullptr;
30  class LocationEntry *unit_location_entry = nullptr;
31  class LocationEntry *symbol_location_entry = nullptr;
32  Gtk::Entry *unit_name_entry = nullptr;
33  Gtk::Button *unit_name_from_mpn_button = nullptr;
34  Gtk::Entry *symbol_name_entry = nullptr;
35  Gtk::Button *symbol_name_from_unit_button = nullptr;
36  Gtk::Entry *suffix_entry = nullptr;
37 
38  std::string get_suffixed_filename_from_part();
39 };
40 } // namespace horizon
horizon::uuid_ptr
Definition: uuid_ptr.hpp:8
horizon::LocationEntry
Definition: location_entry.hpp:6
horizon::GateEditorWizard
Definition: gate_editor.hpp:10
horizon::Gate
Definition: gate.hpp:13
horizon::PartWizard
Definition: part_wizard.hpp:16