Horizon
parameter_window.hpp
1 #pragma once
2 #include "common/common.hpp"
3 #include "parameter/set.hpp"
4 #include "util/uuid.hpp"
5 #include "util/changeable.hpp"
6 #include <array>
7 #include <gtkmm.h>
8 #include <set>
9 namespace horizon {
10 
11 class ParameterWindow : public Gtk::Window, public Changeable {
12 public:
13  ParameterWindow(Gtk::Window *p, std::string *ppc, ParameterSet *ps, class ParameterSetEditor *ed = nullptr);
14  void set_can_apply(bool v);
15  void set_error_message(const std::string &s);
16  void add_button(Gtk::Widget *button);
17  void insert_text(const std::string &text);
18 
19  typedef sigc::signal<void> type_signal_apply;
20  type_signal_apply signal_apply()
21  {
22  return s_signal_apply;
23  }
24 
25  class ParameterSetEditor *get_parameter_set_editor()
26  {
27  return parameter_set_editor;
28  }
29 
30  void set_subtitle(const std::string &t);
31 
32 private:
33  type_signal_apply s_signal_apply;
34  Gtk::Button *apply_button = nullptr;
35  Gtk::InfoBar *bar = nullptr;
36  Gtk::Label *bar_label = nullptr;
37  Gtk::Box *extra_button_box = nullptr;
38  Gtk::TextView *tv = nullptr;
39  Gtk::HeaderBar *hb = nullptr;
40 
41  class ParameterSetEditor *parameter_set_editor = nullptr;
42  void insert_parameter(ParameterID id);
43 };
44 } // namespace horizon
Definition: changeable.hpp:5
Definition: parameter_set_editor.hpp:9
Definition: parameter_window.hpp:11