Horizon
imp_symbol.hpp
1 #pragma once
2 #include "imp.hpp"
3 
4 namespace horizon {
5 class ImpSymbol : public ImpBase {
6 public:
7  ImpSymbol(const std::string &symbol_filename, const std::string &pool_path);
8 
9 protected:
10  void construct() override;
11 
12  ActionCatalogItem::Availability get_editor_type_for_action() const
13  {
14  return ActionCatalogItem::AVAILABLE_IN_SYMBOL;
15  };
16  ObjectType get_editor_type() const override
17  {
18  return ObjectType::SYMBOL;
19  }
20 
21  void update_monitor() override;
22 
23 private:
24  void canvas_update() override;
25  void apply_preferences() override;
26  CoreSymbol core_symbol;
27 
28  Gtk::Entry *name_entry = nullptr;
29  Gtk::Label *unit_label = nullptr;
30  class SymbolPreviewWindow *symbol_preview_window = nullptr;
31  class UnplacedBox *unplaced_box = nullptr;
32 };
33 } // namespace horizon
Definition: unplaced_box.hpp:8
Definition: imp_symbol.hpp:5
Definition: imp.hpp:38
Definition: core_symbol.hpp:10
Definition: block.cpp:9
Definition: symbol_preview_window.hpp:8