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  void update_header();
30 };
31 } // namespace horizon