Add tooltips for processors (#4447).
authorCarl Hetherington <carl@carlh.net>
Fri, 4 Nov 2011 16:09:45 +0000 (16:09 +0000)
committerCarl Hetherington <carl@carlh.net>
Fri, 4 Nov 2011 16:09:45 +0000 (16:09 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@10437 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/processor_box.cc
gtk2_ardour/processor_box.h

index 93bc04b1a268c5471a8084103aba235f85acac53..2cdf1030341d91f1c3dd49c54410ac34870ea90b 100644 (file)
@@ -112,12 +112,13 @@ ProcessorEntry::ProcessorEntry (boost::shared_ptr<Processor> p, Width w)
        _button.set_distinct_led_click (true);
        _button.set_led_left (true);
        _button.signal_led_clicked.connect (sigc::mem_fun (*this, &ProcessorEntry::led_clicked));
-       _button.set_text (name());
+       _button.set_text (name (_width));
        _button.show ();
 
        _processor->ActiveChanged.connect (active_connection, invalidator (*this), boost::bind (&ProcessorEntry::processor_active_changed, this), gui_context());
        _processor->PropertyChanged.connect (name_connection, invalidator (*this), ui_bind (&ProcessorEntry::processor_property_changed, this, _1), gui_context());
 
+       setup_tooltip ();
        setup_visuals ();
 }
 
@@ -136,7 +137,7 @@ ProcessorEntry::widget ()
 string
 ProcessorEntry::drag_text () const
 {
-       return name ();
+       return name (Wide);
 }
 
 void
@@ -211,12 +212,19 @@ void
 ProcessorEntry::processor_property_changed (const PropertyChange& what_changed)
 {
        if (what_changed.contains (ARDOUR::Properties::name)) {
-               _button.set_text (name ());
+               _button.set_text (name (_width));
+               setup_tooltip ();
        }
 }
 
+void
+ProcessorEntry::setup_tooltip ()
+{
+       ARDOUR_UI::instance()->set_tip (_button, name (Wide));
+}
+
 string
-ProcessorEntry::name () const
+ProcessorEntry::name (Width w) const
 {
        boost::shared_ptr<Send> send;
        string name_display;
@@ -232,7 +240,7 @@ ProcessorEntry::name () const
                lbracket = send->name().find ('[');
                rbracket = send->name().find (']');
 
-               switch (_width) {
+               switch (w) {
                case Wide:
                        name_display += send->name().substr (lbracket+1, lbracket-rbracket-1);
                        break;
@@ -243,7 +251,7 @@ ProcessorEntry::name () const
 
        } else {
 
-               switch (_width) {
+               switch (w) {
                case Wide:
                        name_display += _processor->display_name();
                        break;
index a2c28a945aef72bcda5e45e9c9a98fac7ce861c9..5d80e8a360b056fcb37459c7c7c4a24dfb434723 100644 (file)
@@ -134,7 +134,8 @@ private:
        void led_clicked();
        void processor_active_changed ();
        void processor_property_changed (const PBD::PropertyChange&);
-       std::string name () const;
+       std::string name (Width) const;
+       void setup_tooltip ();
 
        boost::shared_ptr<ARDOUR::Processor> _processor;
        Width _width;