Make Bundles work a bit better. A few include optimisations.
[ardour.git] / gtk2_ardour / canvas-flag.cc
index a4eee41227f5d17e4be195a0bc51f8976fbe8ca5..199f4d4054349d98e43379f129e166b62b13b16d 100644 (file)
@@ -9,20 +9,14 @@ using namespace std;
 void 
 CanvasFlag::delete_allocated_objects()
 {
-       if (_text) {
-               delete _text;
-               _text = 0;
-       }
-       
-       if (_line) {
-               delete _line;
-               _line = 0;
-       }
-       
-       if (_rect) {
-               delete _rect;
-               _rect = 0;
-       }
+       delete _text;
+       _text = 0;
+
+       delete _line;
+       _line = 0;
+
+       delete _rect;
+       _rect = 0;
 }
 
 void 
@@ -30,7 +24,7 @@ CanvasFlag::set_text(string& a_text)
 {
        delete_allocated_objects();
        
-       _text = new CanvasFlagText(*this, 0.0, 0.0, Glib::ustring(a_text));
+       _text = new InteractiveText(*this, 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;
@@ -40,11 +34,10 @@ CanvasFlag::set_text(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 CanvasFlagRect(*this, 0.0, 0.0, flagwidth, flagheight);
+       _rect = new InteractiveRect(*this, this, 0.0, 0.0, flagwidth, flagheight);
        _rect->property_outline_color_rgba() = _outline_color_rgba;
        _rect->property_fill_color_rgba() = _fill_color_rgba;
-       _text->lower_to_bottom();
-       _text->raise(2);        
+       _text->raise_to_top();  
 }
 
 CanvasFlag::~CanvasFlag()
@@ -55,6 +48,5 @@ CanvasFlag::~CanvasFlag()
 bool
 CanvasFlag::on_event(GdkEvent* ev)
 {
-       cerr << "CanvasFlag::on_event(GdkEvent* ev)" << endl;
        return false;
 }