aboutsummaryrefslogtreecommitdiffstats
path: root/src/gui/NodeView.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-01-10 21:23:14 +0000
committerDavid Robillard <d@drobilla.net>2011-01-10 21:23:14 +0000
commitf293da6bc4f0f631c086d35666e3e8bfef19b8f2 (patch)
treed0e693bdec5e4a53daca500434533d2fc5c43650 /src/gui/NodeView.hpp
parentdb319f5a8cb7915b2d5b93adab148fa16d92e7e5 (diff)
downloadmachina-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.hpp42
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