Horizon
display.hpp
1 #pragma once
2 #include <gtkmm.h>
3 #include "pool/package.hpp"
4 extern "C" {
5 #include "footag/footag.h"
6 }
7 namespace horizon {
8 class FootagDisplay : public Gtk::Box {
9 public:
10  FootagDisplay(BaseObjectType *cobject, const Glib::RefPtr<Gtk::Builder> &x, class IDocumentPackage &c,
11  enum footag_type type);
12  static FootagDisplay *create(IDocumentPackage &c, enum footag_type type);
13 
14  ~FootagDisplay() override;
15  bool generate();
16  bool isopen();
17 
18 private:
19  IDocumentPackage &core;
20  Gtk::Label *reference_label = nullptr;
21  Gtk::Label *reference_title = nullptr;
22  Gtk::CheckButton *autofit;
23  Gtk::Label *hint_label = nullptr;
24  Package ppkg;
25  class PreviewCanvas *canvas_package = nullptr;
26 
27  struct footag_ctx *ctx = NULL;
28  struct footag_param *params;
29 
30  void calc_and_display();
31  void calc(Package &pkg, const struct footag_spec *s);
32  void display();
33  Gtk::Allocation old_alloc;
34  void help(const struct footag_param *p);
35 };
36 } // namespace horizon
horizon::FootagDisplay
Definition: display.hpp:8
horizon::IDocumentPackage
Definition: idocument_package.hpp:5
horizon::PreviewCanvas
Definition: preview_canvas.hpp:7
footag_param
Definition: footag.h:85
footag_spec
Definition: footag.h:139
horizon::Package
Definition: package.hpp:29
footag_ctx
Definition: priv.h:48