summaryrefslogtreecommitdiff
path: root/gtk2_ardour/canvas-flag.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-05-28 16:37:04 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-05-28 16:37:04 +0000
commit3e966771d042455a50a01e786af2af7b6f407395 (patch)
treeb93b553d12b4c903087f26efa5ff06284add0cab /gtk2_ardour/canvas-flag.cc
parent3d6493abc9d332132aef250a551d60fe45f7b3eb (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.cc31
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;
}