diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-05-28 16:37:04 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-05-28 16:37:04 +0000 |
commit | 3e966771d042455a50a01e786af2af7b6f407395 (patch) | |
tree | b93b553d12b4c903087f26efa5ff06284add0cab /gtk2_ardour/canvas-flag.cc | |
parent | 3d6493abc9d332132aef250a551d60fe45f7b3eb (diff) |
clean up item event handling in MidiRegionViews by removing unnecessary InteractiveItem inheritance, and keep child->parent event handling order consistent as much as possible
git-svn-id: svn://localhost/ardour2/branches/3.0@7186 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/canvas-flag.cc')
-rw-r--r-- | gtk2_ardour/canvas-flag.cc | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/gtk2_ardour/canvas-flag.cc b/gtk2_ardour/canvas-flag.cc index 55bf853b7c..ad75c28fdf 100644 --- a/gtk2_ardour/canvas-flag.cc +++ b/gtk2_ardour/canvas-flag.cc @@ -5,6 +5,26 @@ using namespace Gnome::Canvas; using namespace std; +CanvasFlag::CanvasFlag (MidiRegionView& region, + Group& parent, + double height, + guint outline_color_rgba, + guint fill_color_rgba, + double x, + double y) + : Group(parent, x, y) + , _text(0) + , _height(height) + , _outline_color_rgba(outline_color_rgba) + , _fill_color_rgba(fill_color_rgba) + , _region(region) + , _line(0) + , _rect(0) +{ + /* XXX this connection is needed if ::on_event() is changed to actually do anything */ + signal_event().connect (sigc::mem_fun (*this, &CanvasFlag::on_event)); +} + void CanvasFlag::delete_allocated_objects() { @@ -23,7 +43,7 @@ CanvasFlag::set_text(const string& a_text) { delete_allocated_objects(); - _text = new InteractiveText(*this, this, 0.0, 0.0, Glib::ustring(a_text)); + _text = new Text (*this, 0.0, 0.0, Glib::ustring(a_text)); _text->property_justification() = Gtk::JUSTIFY_CENTER; _text->property_fill_color_rgba() = _outline_color_rgba; double flagwidth = _text->property_text_width() + 10.0; @@ -33,10 +53,14 @@ CanvasFlag::set_text(const string& a_text) _text->show(); _line = new SimpleLine(*this, 0.0, 0.0, 0.0, _height); _line->property_color_rgba() = _outline_color_rgba; - _rect = new InteractiveRect(*this, this, 0.0, 0.0, flagwidth, flagheight); + _rect = new SimpleRect(*this, 0.0, 0.0, flagwidth, flagheight); _rect->property_outline_color_rgba() = _outline_color_rgba; _rect->property_fill_color_rgba() = _fill_color_rgba; _text->raise_to_top(); + + /* XXX these two connections are needed if ::on_event() is changed to actually do anything */ + //_rect->signal_event().connect (sigc::mem_fun (*this, &CanvasFlag::on_event)); + //_text->signal_event().connect (sigc::mem_fun (*this, &CanvasFlag::on_event)); } CanvasFlag::~CanvasFlag() @@ -47,5 +71,8 @@ CanvasFlag::~CanvasFlag() bool CanvasFlag::on_event(GdkEvent* /*ev*/) { + /* XXX if you change this function to actually do anything, be sure + to fix the connections commented out elsewhere in this file. + */ return false; } |