Horizon
symbol_preview_window.hpp
1 #pragma once
2 #include "util/placement.hpp"
3 #include "util/uuid.hpp"
4 #include "util/changeable.hpp"
5 #include <gtkmm.h>
6 
7 namespace horizon {
8 class SymbolPreviewWindow : public Gtk::Window, public Changeable {
9 public:
10  SymbolPreviewWindow(Gtk::Window *parent);
11  void update(const class Symbol &sym);
12  std::map<std::tuple<int, bool, UUID>, Placement> get_text_placements() const;
13  void set_text_placements(const std::map<std::tuple<int, bool, UUID>, Placement> &p);
14  void set_canvas_appearance(const class Appearance &a);
15  void set_can_load(bool can_load);
16 
17  typedef sigc::signal<void, int, bool> type_signal_load;
18  type_signal_load signal_load()
19  {
20  return s_signal_load;
21  }
22 
23 private:
24  std::map<std::pair<int, bool>, class SymbolPreviewBox *> previews;
25  type_signal_load s_signal_load;
26 };
27 } // namespace horizon