Horizon
Loading...
Searching...
No Matches
imp_symbol.hpp
1#pragma once
2#include "imp.hpp"
3#include "core/core_symbol.hpp"
4#include "search/searcher_symbol.hpp"
5
6namespace horizon {
7class ImpSymbol : public ImpBase {
8public:
9 ImpSymbol(const std::string &symbol_filename, const std::string &pool_path, TempMode temp_mode);
10
11protected:
12 void construct() override;
13
14 ActionCatalogItem::Availability get_editor_type_for_action() const override
15 {
16 return ActionCatalogItem::AVAILABLE_IN_SYMBOL;
17 };
18
19 void update_monitor() override;
20
21 Searcher *get_searcher_ptr() override
22 {
23 return &searcher;
24 };
25
26 bool uses_dynamic_version() const override
27 {
28 return true;
29 }
30
31 unsigned int get_required_version() const override;
32
33private:
34 void canvas_update() override;
35 void apply_preferences() override;
36 CoreSymbol core_symbol;
37 Symbol &symbol;
38 SearcherSymbol searcher;
39
40 class HeaderButton *header_button = nullptr;
41 Gtk::Entry *name_entry = nullptr;
42 Gtk::Label *unit_label = nullptr;
43 Gtk::Switch *can_expand_switch = nullptr;
44 Gtk::Button *expand_preview_button = nullptr;
45 class SymbolPreviewWindow *symbol_preview_window = nullptr;
46 class SymbolPreviewExpandWindow *symbol_preview_expand_window = nullptr;
47 class UnplacedBox *unplaced_box = nullptr;
48 void update_unplaced();
49 void update_header();
50 void handle_selection_cross_probe() override;
51
52 class CanvasAnnotation *bbox_annotation = nullptr;
53 void update_bbox_annotation();
54
55 Canvas::SymbolMode symbol_mode = Canvas::SymbolMode::EDIT_PREVIEW;
56 Glib::RefPtr<Gio::SimpleAction> toggle_junctions_and_hidden_names_action;
57
58 bool set_filename() override;
59};
60} // namespace horizon
Definition annotation.hpp:7
Definition core_symbol.hpp:7
Definition header_button.hpp:5
Definition imp.hpp:36
Definition imp_symbol.hpp:7
Definition searcher_symbol.hpp:5
Definition searcher.hpp:9
Definition symbol_preview_expand_window.hpp:9
Definition symbol_preview_window.hpp:9
Definition symbol.hpp:72
Definition unplaced_box.hpp:9