extend strict-i/o to include route outputs.
[ardour.git] / gtk2_ardour / ardour_dropdown.cc
index 84c54489ec8a049560cd56eb40c1349f80fe8136..5c0e25fd2459b280257df469fc92a7f5737cb6a0 100644 (file)
@@ -34,8 +34,6 @@
 #include "ardour/rc_configuration.h" // for widget prelight preference
 
 #include "ardour_dropdown.h"
-#include "ardour_ui.h"
-#include "global_signals.h"
 
 #include "i18n.h"
 
@@ -51,6 +49,7 @@ using namespace std;
 
 
 ArdourDropdown::ArdourDropdown (Element e)
+       : _scrolling_disabled(false)
 {
 //     signal_button_press_event().connect (sigc::mem_fun(*this, &ArdourDropdown::on_mouse_pressed));
 
@@ -76,6 +75,10 @@ ArdourDropdown::on_scroll_event (GdkEventScroll* ev)
 {
        using namespace Menu_Helpers;
 
+       if (_scrolling_disabled) {
+               return false;
+       }
+
        const MenuItem * current_active = _menu.get_active();
        const MenuList& items = _menu.items ();
        int c = 0;
@@ -115,7 +118,7 @@ ArdourDropdown::on_scroll_event (GdkEventScroll* ev)
                                        continue;
                                }
                                if (++i != items.end()) {
-                                       assert(c + 1 < items.size());
+                                       assert(c + 1 < (int) items.size());
                                        _menu.set_active(c + 1);
                                        _menu.activate_item(*i);
                                }
@@ -135,13 +138,17 @@ ArdourDropdown::clear_items ()
 }
 
 void
-ArdourDropdown::AddMenuElem (Menu_Helpers::MenuElem e)
+ArdourDropdown::AddMenuElem (Menu_Helpers::Element e)
 {
        using namespace Menu_Helpers;
 
        MenuList& items = _menu.items ();
-       
+
        items.push_back (e);
 }
 
-
+void
+ArdourDropdown::disable_scrolling()
+{
+       _scrolling_disabled = true;
+}