Horizon
Loading...
Searching...
No Matches
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
8namespace horizon {
9class SymbolPreviewWindow : public Gtk::Window, public Changeable {
10public:
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
24private:
25 std::map<std::pair<int, bool>, class SymbolPreviewBox *> previews;
26 type_signal_load s_signal_load;
27
28 void zoom_to_fit();
29 sigc::connection intial_zoom_to_fit_conn;
30
31 WindowStateStore state_store;
32 Gtk::InfoBar *bar = nullptr;
33};
34} // 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:72
Definition window_state_store.hpp:25