Horizon
footprint_generator_base.hpp
1 #pragma once
2 #include "common/common.hpp"
3 #include "svg_overlay.hpp"
4 #include "util/uuid.hpp"
5 #include <array>
6 #include <gtkmm.h>
7 #include <set>
8 namespace horizon {
9 class FootprintGeneratorBase : public Gtk::Box {
10 public:
11  FootprintGeneratorBase(const char *resource, class IDocumentPackage &c);
12  Glib::PropertyProxy<bool> property_can_generate()
13  {
14  return p_property_can_generate.get_proxy();
15  }
16 
17  virtual bool generate() = 0;
18 
19 protected:
20  Glib::Property<bool> p_property_can_generate;
21  class PoolBrowserButton *browser_button = nullptr;
22 
23  SVGOverlay *overlay = nullptr;
24  Gtk::Box *box_top = nullptr;
25  class IDocumentPackage &core;
26  class Package &package;
27 };
28 } // namespace horizon