summaryrefslogtreecommitdiffstats
path: root/src/gui/GraphTreeWindow.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/GraphTreeWindow.hpp')
-rw-r--r--src/gui/GraphTreeWindow.hpp70
1 files changed, 42 insertions, 28 deletions
diff --git a/src/gui/GraphTreeWindow.hpp b/src/gui/GraphTreeWindow.hpp
index c1ea53c2..6f33f258 100644
--- a/src/gui/GraphTreeWindow.hpp
+++ b/src/gui/GraphTreeWindow.hpp
@@ -19,20 +19,36 @@
#include "Window.hpp"
-#include <gtkmm/builder.h>
+#include <ingen/URI.hpp>
+
+#include <gdk/gdk.h>
+#include <glibmm/refptr.h>
+#include <glibmm/ustring.h>
#include <gtkmm/treemodel.h>
+#include <gtkmm/treemodelcolumn.h>
+#include <gtkmm/treeselection.h>
#include <gtkmm/treestore.h>
#include <gtkmm/treeview.h>
-namespace Raul { class Path; }
+#include <memory>
+
+namespace Gtk {
+class Builder;
+} // namespace Gtk
namespace ingen {
-namespace client { class ClientStore; class ObjectModel; }
+class Atom;
+
+namespace client {
+class ClientStore;
+class ObjectModel;
+class GraphModel;
+} // namespace client
namespace gui {
-class GraphWindow;
+class App;
class GraphTreeView;
/** Window with a TreeView of all loaded graphs.
@@ -47,16 +63,17 @@ public:
void init(App& app, client::ClientStore& store);
- void new_object(const SPtr<client::ObjectModel>& object);
+ void new_object(const std::shared_ptr<client::ObjectModel>& object);
- void graph_property_changed(const URI& key,
- const Atom& value,
- const SPtr<client::GraphModel>& graph);
+ void
+ graph_property_changed(const URI& key,
+ const Atom& value,
+ const std::shared_ptr<client::GraphModel>& graph);
- void graph_moved(const SPtr<client::GraphModel>& graph);
+ void graph_moved(const std::shared_ptr<client::GraphModel>& graph);
- void add_graph(const SPtr<client::GraphModel>& pm);
- void remove_graph(const SPtr<client::GraphModel>& pm);
+ void add_graph(const std::shared_ptr<client::GraphModel>& pm);
+ void remove_graph(const std::shared_ptr<client::GraphModel>& pm);
void show_graph_menu(GdkEventButton* ev);
protected:
@@ -65,30 +82,28 @@ protected:
void event_graph_enabled_toggled(const Glib::ustring& path_str);
- Gtk::TreeModel::iterator find_graph(
- Gtk::TreeModel::Children root,
- const SPtr<client::ObjectModel>& graph);
+ Gtk::TreeModel::iterator
+ find_graph(Gtk::TreeModel::Children root,
+ const std::shared_ptr<client::ObjectModel>& graph);
- GraphTreeView* _graphs_treeview;
+ GraphTreeView* _graphs_treeview{nullptr};
- struct GraphTreeModelColumns : public Gtk::TreeModel::ColumnRecord
- {
+ struct GraphTreeModelColumns : public Gtk::TreeModel::ColumnRecord {
GraphTreeModelColumns() {
add(name_col);
add(enabled_col);
add(graph_model_col);
}
- Gtk::TreeModelColumn<Glib::ustring> name_col;
- Gtk::TreeModelColumn<bool> enabled_col;
- Gtk::TreeModelColumn<SPtr<client::GraphModel> > graph_model_col;
+ Gtk::TreeModelColumn<Glib::ustring> name_col;
+ Gtk::TreeModelColumn<bool> enabled_col;
+ Gtk::TreeModelColumn<std::shared_ptr<client::GraphModel>> graph_model_col;
};
- App* _app;
GraphTreeModelColumns _graph_tree_columns;
Glib::RefPtr<Gtk::TreeStore> _graph_treestore;
Glib::RefPtr<Gtk::TreeSelection> _graph_tree_selection;
- bool _enable_signal;
+ bool _enable_signal{true};
};
/** Derived TreeView class to support context menus for graphs */
@@ -98,24 +113,23 @@ public:
GraphTreeView(BaseObjectType* cobject,
const Glib::RefPtr<Gtk::Builder>& xml)
: Gtk::TreeView(cobject)
- , _window(nullptr)
{}
void set_window(GraphTreeWindow* win) { _window = win; }
bool on_button_press_event(GdkEventButton* ev) override {
- bool ret = Gtk::TreeView::on_button_press_event(ev);
+ const bool ret = Gtk::TreeView::on_button_press_event(ev);
- if ((ev->type == GDK_BUTTON_PRESS) && (ev->button == 3))
+ if ((ev->type == GDK_BUTTON_PRESS) && (ev->button == 3)) {
_window->show_graph_menu(ev);
+ }
return ret;
}
private:
- GraphTreeWindow* _window;
-
-}; // struct GraphTreeView
+ GraphTreeWindow* _window{nullptr};
+};
} // namespace gui
} // namespace ingen