diff options
author | David Robillard <d@drobilla.net> | 2011-01-10 21:23:14 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-01-10 21:23:14 +0000 |
commit | f293da6bc4f0f631c086d35666e3e8bfef19b8f2 (patch) | |
tree | d0e693bdec5e4a53daca500434533d2fc5c43650 /src/gui/NodeView.hpp | |
parent | db319f5a8cb7915b2d5b93adab148fa16d92e7e5 (diff) | |
download | machina-f293da6bc4f0f631c086d35666e3e8bfef19b8f2.tar.gz machina-f293da6bc4f0f631c086d35666e3e8bfef19b8f2.tar.bz2 machina-f293da6bc4f0f631c086d35666e3e8bfef19b8f2.zip |
Rewrite with UI/engine split.
Note some things aren't quite working right again yet...
git-svn-id: http://svn.drobilla.net/lad/trunk/machina@2821 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/NodeView.hpp')
-rw-r--r-- | src/gui/NodeView.hpp | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/src/gui/NodeView.hpp b/src/gui/NodeView.hpp index 0de7d6f..a70e821 100644 --- a/src/gui/NodeView.hpp +++ b/src/gui/NodeView.hpp @@ -15,23 +15,26 @@ * along with Machina. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef MACHINA_NODEVIEW_H -#define MACHINA_NODEVIEW_H +#ifndef MACHINA_NODEVIEW_HPP +#define MACHINA_NODEVIEW_HPP #include "flowcanvas/Ellipse.hpp" -#include "machina/Node.hpp" +#include "client/ClientObject.hpp" -class NodeView : public FlowCanvas::Ellipse { +#include "machina/types.hpp" + +class NodeView + : public FlowCanvas::Ellipse + , public Machina::Client::ClientObject::View { public: - NodeView(Gtk::Window* window, - SharedPtr<FlowCanvas::Canvas> canvas, - SharedPtr<Machina::Node> node, - const std::string& name, - double x, - double y); + NodeView(Gtk::Window* window, + SharedPtr<FlowCanvas::Canvas> canvas, + SharedPtr<Machina::Client::ClientObject> node, + double x, + double y); - SharedPtr<Machina::Node> node() { return _node; } + SharedPtr<Machina::Client::ClientObject> node() { return _node; } void show_label(bool show); @@ -40,13 +43,20 @@ public: private: void handle_click(GdkEventButton* ev); void on_double_click(GdkEventButton* ev); + void on_property(Machina::URIInt key, const Raul::Atom& value); + void on_action_property(Machina::URIInt key, const Raul::Atom& value); void set_selected(bool selected); - Gtk::Window* _window; - SharedPtr<Machina::Node> _node; - uint32_t _default_border_color; - uint32_t _old_color; + bool node_is(Machina::URIInt key); + + Gtk::Window* _window; + SharedPtr<Machina::Client::ClientObject> _node; + uint32_t _default_border_color; + uint32_t _old_color; + + SharedPtr<Machina::Client::ClientObject> _enter_action; + sigc::connection _enter_action_connection; }; -#endif // MACHINA_NODEVIEW_H +#endif // MACHINA_NODEVIEW_HPP |