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 
10 namespace horizon {
11 enum class InToolActionID;
12 class ImpInterface {
13 public:
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 
46 private:
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:38
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
zip_uint64_t uint64_t
zip_uint64_t_t typedef.
Definition: zip.hpp:108