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  void tool_update_data(std::unique_ptr<ToolData> data);
31 
32  void update_highlights();
33  std::set<ObjectRef> &get_highlights();
34 
35  void set_snap_filter(const std::set<SnapFilter> &filter);
36  void set_snap_filter_from_selection(const std::set<SelectableRef> &sel);
37  uint64_t get_length_tuning_ref() const;
38 
39  typedef sigc::signal<uint64_t> type_signal_request_length_tuning_ref;
40  type_signal_request_length_tuning_ref signal_request_length_tuning_ref()
41  {
42  return s_signal_request_length_tuning_ref;
43  }
44 
45 private:
46  class ImpBase *imp;
47  type_signal_request_length_tuning_ref s_signal_request_length_tuning_ref;
48 };
49 } // namespace horizon
horizon::Dialogs
Definition: dialogs.hpp:16
horizon::ImpInterface
Definition: imp_interface.hpp:12
horizon::CanvasGL
Definition: canvas_gl.hpp:18
horizon::LayerDisplay
Definition: layer_display.hpp:5
horizon::Coord< int64_t >
horizon::UUID
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
horizon::ImpBase
Definition: imp.hpp:37
libzip::uint64_t
zip_uint64_t uint64_t
zip_uint64_t_t typedef.
Definition: zip.hpp:108