Horizon
imp_padstack.hpp
1 #pragma once
2 #include "imp_layer.hpp"
3 #include "core/core_padstack.hpp"
4 
5 namespace horizon {
6 class ImpPadstack : public ImpLayer {
7 public:
8  ImpPadstack(const std::string &symbol_filename, const std::string &pool_path);
9 
10 protected:
11  void construct() override;
12 
13  ActionCatalogItem::Availability get_editor_type_for_action() const override
14  {
15  return ActionCatalogItem::AVAILABLE_IN_PADSTACK;
16  };
17  ActionToolID get_doubleclick_action(ObjectType type, const UUID &uu) override;
18 
19  std::map<ObjectType, SelectionFilterInfo> get_selection_filter_info() const override;
20 
21 private:
22  void canvas_update() override;
23  CorePadstack core_padstack;
24  Padstack &padstack;
25 
26  class HeaderButton *header_button = nullptr;
27  Gtk::Entry *name_entry = nullptr;
28 
29  class ParameterWindow *parameter_window = nullptr;
30 
31  void update_header();
32 };
33 } // namespace horizon
Definition: core_padstack.hpp:7
Definition: header_button.hpp:5
Definition: imp_layer.hpp:5
Definition: imp_padstack.hpp:6
Definition: padstack.hpp:21
Definition: parameter_window.hpp:11
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16