Horizon
Loading...
Searching...
No Matches
preview_box.hpp
1#pragma once
2#include "pool/symbol.hpp"
3#include <gtkmm.h>
4#include <utility>
5#include "util/changeable.hpp"
6
7namespace horizon {
8class SymbolPreviewBox : public Gtk::Box, public Changeable {
9public:
10 SymbolPreviewBox(const std::pair<int, bool> &view);
11 void update(const Symbol &sym);
12 void zoom_to_fit();
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
24private:
25 class CanvasGL *canvas = nullptr;
26 Gtk::Button *set_button = nullptr;
27 Gtk::Button *load_button = nullptr;
28 const std::pair<int, bool> view;
29 Symbol symbol;
30 std::map<UUID, Placement> text_placements;
31 void set_placements();
32 void clear_placements();
33 type_signal_load s_signal_load;
34};
35} // namespace horizon
Definition appearance.hpp:7
Definition canvas_gl.hpp:20
Definition changeable.hpp:5
Definition placement.hpp:8
Definition preview_box.hpp:8
Definition symbol.hpp:72