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_flash_replace(const std::string &s);
20  void tool_bar_set_actions(const std::vector<ActionLabelInfo> &labels);
21 
22  void part_placed(const UUID &uu);
23  void set_work_layer(int layer);
24  int get_work_layer();
25  void set_layer_display(int layer, const class LayerDisplay &ld);
26  const LayerDisplay &get_layer_display(int layer) const;
27  void set_no_update(bool v);
28  void canvas_update();
29  class CanvasGL *get_canvas();
30  Coordi get_grid_spacing() const;
31  Coordi transform_arrow_keys(const Coordi &c) const;
32  void tool_update_data(std::unique_ptr<ToolData> data);
33 
34  void update_highlights();
35  std::set<ObjectRef> &get_highlights();
36 
37  void set_snap_filter(const std::set<SnapFilter> &filter);
38  void set_snap_filter_from_selection(const std::set<SelectableRef> &sel);
39  uint64_t get_length_tuning_ref() const;
40 
41  typedef sigc::signal<uint64_t> type_signal_request_length_tuning_ref;
42  type_signal_request_length_tuning_ref signal_request_length_tuning_ref()
43  {
44  return s_signal_request_length_tuning_ref;
45  }
46 
47  void pool_update(const std::vector<std::string> &filenames);
48 
49 private:
50  class ImpBase *imp;
51  type_signal_request_length_tuning_ref s_signal_request_length_tuning_ref;
52 };
53 } // namespace horizon
Definition: canvas_gl.hpp:20
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
join< transform< L, detail::filter_< Pred > >> filter
Returns a new meta::list where only those elements of L that satisfy the Callable Pred such that invo...
Definition: meta.hpp:2818