meterbridge label rework - phase one (better, but not good)
[ardour.git] / gtk2_ardour / canvas-sysex.cc
index 667b493d5c4f0411ce92db00bcd529cb63c33ad2..ca378fb3035506777c1bda1a8fb6de8ff8c1cbf6 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "ardour_ui.h"
 
+#include "midi_region_view.h"
 #include "canvas-sysex.h"
 
 using namespace Gnome::Canvas;
@@ -32,7 +33,8 @@ CanvasSysEx::CanvasSysEx(
                string&         text,
                double          height,
                double          x,
-               double          y)
+               double          y,
+               const ARDOUR::MidiModel::SysExPtr sysex)
        : CanvasFlag(
                        region,
                        parent,
@@ -40,8 +42,10 @@ CanvasSysEx::CanvasSysEx(
                        ARDOUR_UI::config()->canvasvar_MidiSysExOutline.get(),
                        ARDOUR_UI::config()->canvasvar_MidiSysExFill.get(),
                        x,
-                       y)
+                       y),
+       _sysex(sysex)
 {
+       _text = text;
        set_text(text);
 }
 
@@ -67,6 +71,28 @@ CanvasSysEx::on_event(GdkEvent* ev)
                }
                break;
 
+       case GDK_KEY_PRESS:
+               switch (ev->key.keyval) {
+
+               case GDK_Delete:
+               case GDK_BackSpace:
+                       _region.delete_sysex (this);
+                       break;
+               default:
+                       break;
+               }
+               break;
+
+       case GDK_ENTER_NOTIFY:
+               _region.sysex_entered (this);
+               return true;
+               break;
+
+       case GDK_LEAVE_NOTIFY:
+               _region.sysex_left (this);
+               return true;
+       break;
+
        default:
                break;
        }