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 
9 namespace horizon {
10 class FootprintGeneratorBase : public Gtk::Box {
11 public:
12  FootprintGeneratorBase(const char *resource, class IDocumentPackage &c);
13  Glib::PropertyProxy<bool> property_can_generate()
14  {
15  return p_property_can_generate.get_proxy();
16  }
17 
18  virtual bool generate() = 0;
19 
20 protected:
21  Glib::Property<bool> p_property_can_generate;
22  class PoolBrowserButton *browser_button = nullptr;
23 
24  SVGOverlay *overlay = nullptr;
25  Gtk::Box *box_top = nullptr;
26  class IDocumentPackage &core;
27  class Package &package;
28 
29  void update_pad_parameters(const class Padstack &padstack, class Pad &pad, const int64_t pad_width,
30  const int64_t pad_height);
31 };
32 } // namespace horizon
Definition: footprint_generator_base.hpp:10
Definition: idocument_package.hpp:5
Definition: package.hpp:30
Definition: pad.hpp:15
Definition: padstack.hpp:21
Definition: pool_browser_button.hpp:9
Definition: svg_overlay.hpp:6
zip_int64_t int64_t
zip_int64_t typedef.
Definition: zip.hpp:103