diff options
author | David Robillard <d@drobilla.net> | 2008-11-22 17:29:36 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-11-22 17:29:36 +0000 |
commit | ae9644045846190f13dda828e2f75115f2c8601f (patch) | |
tree | ff0682b600558533f1b9cf3b3f1008142dc60544 /src/gui/PatchView.cpp | |
parent | bb8bf97474863c14e6f22bdbeb4d77990e830e1d (diff) | |
download | ingen-ae9644045846190f13dda828e2f75115f2c8601f.tar.gz ingen-ae9644045846190f13dda828e2f75115f2c8601f.tar.bz2 ingen-ae9644045846190f13dda828e2f75115f2c8601f.zip |
Add status bar to display information about objects on mouse hover.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1769 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/PatchView.cpp')
-rw-r--r-- | src/gui/PatchView.cpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/gui/PatchView.cpp b/src/gui/PatchView.cpp index 1c5c2c51..6e2ff1cd 100644 --- a/src/gui/PatchView.cpp +++ b/src/gui/PatchView.cpp @@ -107,6 +107,12 @@ PatchView::set_patch(SharedPtr<PatchModel> patch) _poly_spin->signal_value_changed().connect( sigc::mem_fun(*this, &PatchView::poly_changed)); + _canvas->signal_port_entered.connect( + sigc::mem_fun(*this, &PatchView::canvas_port_entered)); + + _canvas->signal_item_entered.connect( + sigc::mem_fun(*this, &PatchView::canvas_item_entered)); + _canvas->grab_focus(); } @@ -121,7 +127,8 @@ SharedPtr<PatchView> PatchView::create(SharedPtr<PatchModel> patch) { - const Glib::RefPtr<Gnome::Glade::Xml>& xml = GladeFactory::new_glade_reference("patch_view_box"); + +const Glib::RefPtr<Gnome::Glade::Xml>& xml = GladeFactory::new_glade_reference("patch_view_box"); PatchView* result = NULL; xml->get_widget_derived("patch_view_box", result); assert(result); @@ -148,6 +155,24 @@ PatchView::editable_toggled() void +PatchView::canvas_port_entered(FlowCanvas::Port* port) +{ + Port* p = dynamic_cast<Port*>(port); + if (p) + signal_object_entered.emit(p->model().get()); +} + + +void +PatchView::canvas_item_entered(FlowCanvas::Item* item) +{ + NodeModule* m = dynamic_cast<NodeModule*>(item); + if (m) + signal_object_entered.emit(m->node().get()); +} + + +void PatchView::process_toggled() { if (!_enable_signal) |