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 "util/window_state_store.hpp"
6 #include <gtkmm.h>
7 
8 namespace horizon {
9 class SymbolPreviewWindow : public Gtk::Window, public Changeable {
10 public:
11  SymbolPreviewWindow(Gtk::Window *parent);
12  void update(const class Symbol &sym);
13  std::map<std::tuple<int, bool, UUID>, Placement> get_text_placements() const;
14  void set_text_placements(const std::map<std::tuple<int, bool, UUID>, Placement> &p);
15  void set_canvas_appearance(const class Appearance &a);
16  void set_can_load(bool can_load);
17 
18  typedef sigc::signal<void, int, bool> type_signal_load;
19  type_signal_load signal_load()
20  {
21  return s_signal_load;
22  }
23 
24 private:
25  std::map<std::pair<int, bool>, class SymbolPreviewBox *> previews;
26  type_signal_load s_signal_load;
27 
28  WindowStateStore state_store;
29 };
30 } // namespace horizon
Definition: appearance.hpp:7
Definition: changeable.hpp:5
Definition: placement.hpp:8
Definition: preview_box.hpp:8
Definition: symbol_preview_window.hpp:9
Definition: symbol.hpp:71
Definition: window_state_store.hpp:20