Horizon
entity_preview.hpp
1 #pragma once
2 #include <gtkmm.h>
3 #include <set>
4 #include "common/common.hpp"
5 #include "util/uuid.hpp"
6 #include "preview_base.hpp"
7 #include "generic_combo_box.hpp"
8 
9 
10 namespace horizon {
11 class EntityPreview : public Gtk::Box, public PreviewBase {
12 public:
13  EntityPreview(class IPool &pool, bool show_goto = true);
14 
15  void load(const class Entity *entity);
16  void load(const class Part *part);
17  void clear();
18 
19 private:
20  void load(const class Entity *entity, const class Part *part);
21  class IPool &pool;
22  const class Entity *entity = nullptr;
23  const class Part *part = nullptr;
24  class PreviewCanvas *canvas_symbol = nullptr;
25  GenericComboBox<UUID> *combo_gate = nullptr;
26  GenericComboBox<UUID> *combo_symbol = nullptr;
27  Gtk::Button *goto_symbol_button = nullptr;
28  Gtk::Button *goto_unit_button = nullptr;
29 
30  void handle_gate_sel();
31  void handle_symbol_sel();
32 };
33 } // namespace horizon
Definition: entity_preview.hpp:11
Definition: entity.hpp:14
Definition: generic_combo_box.hpp:5
Definition: ipool.hpp:12
Definition: part.hpp:14
Definition: preview_base.hpp:9
Definition: preview_canvas.hpp:7