Horizon
imp_interface.hpp
1#pragma once
2#include "canvas/object_ref.hpp"
3#include "canvas/selectables.hpp"
4#include "canvas/snap_filter.hpp"
5#include "dialogs/dialogs.hpp"
6#include "core/tool_data.hpp"
7#include <sigc++/sigc++.h>
8#include "util/action_label.hpp"
9
10namespace horizon {
11enum class InToolActionID;
13public:
14 ImpInterface(class ImpBase *i);
15 Dialogs dialogs;
16 void tool_bar_set_tip(const std::string &s);
17 void tool_bar_set_tool_name(const std::string &s);
18 void tool_bar_flash(const std::string &s);
19 void tool_bar_set_actions(const std::vector<ActionLabelInfo> &labels);
20
21 void part_placed(const UUID &uu);
22 void set_work_layer(int layer);
23 int get_work_layer();
24 void set_layer_display(int layer, const class LayerDisplay &ld);
25 const LayerDisplay &get_layer_display(int layer) const;
26 void set_no_update(bool v);
27 void canvas_update();
28 class CanvasGL *get_canvas();
29 Coordi get_grid_spacing() const;
30 Coordi transform_arrow_keys(const Coordi &c) const;
31 void tool_update_data(std::unique_ptr<ToolData> data);
32
33 void update_highlights();
34 std::set<ObjectRef> &get_highlights();
35
36 void set_snap_filter(const std::set<SnapFilter> &filter);
37 void set_snap_filter_from_selection(const std::set<SelectableRef> &sel);
38 uint64_t get_length_tuning_ref() const;
39
40 typedef sigc::signal<uint64_t> type_signal_request_length_tuning_ref;
41 type_signal_request_length_tuning_ref signal_request_length_tuning_ref()
42 {
43 return s_signal_request_length_tuning_ref;
44 }
45
46private:
47 class ImpBase *imp;
48 type_signal_request_length_tuning_ref s_signal_request_length_tuning_ref;
49};
50} // namespace horizon
Definition: canvas_gl.hpp:18
Definition: dialogs.hpp:16
Definition: imp.hpp:36
Definition: imp_interface.hpp:12
Definition: layer_display.hpp:5
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16