diff --git a/libs/widgets/ardour_dropdown.cc b/libs/widgets/ardour_dropdown.cc index d3311fe54a..d2f2d8226b 100644 --- a/libs/widgets/ardour_dropdown.cc +++ b/libs/widgets/ardour_dropdown.cc @@ -168,6 +168,13 @@ ArdourDropdown::clear_items () _menu.items ().clear (); } +void +ArdourDropdown::add_separator () +{ + using namespace Menu_Helpers; + add_menu_elem (SeparatorElem()); +} + void ArdourDropdown::add_menu_elem (Menu_Helpers::Element e) { @@ -201,3 +208,9 @@ ArdourDropdown::append (Glib::RefPtr action) { _menu.items().push_back (Menu_Helpers::MenuElem (action->get_short_label(), sigc::mem_fun (action.get(), &Action::activate))); } + +void +ArdourDropdown::append (Gtk::Menu& submenu, Glib::RefPtr action) +{ + submenu.items().push_back (Menu_Helpers::MenuElem (action->get_short_label(), sigc::mem_fun (action.get(), &Action::activate))); +} diff --git a/libs/widgets/widgets/ardour_dropdown.h b/libs/widgets/widgets/ardour_dropdown.h index b029ff13df..8cf573cc5c 100644 --- a/libs/widgets/widgets/ardour_dropdown.h +++ b/libs/widgets/widgets/ardour_dropdown.h @@ -45,14 +45,16 @@ public: void clear_items (); void add_menu_elem (Gtk::Menu_Helpers::Element e); + void append_text_item (std::string const& text); + void add_separator (); void append (Glib::RefPtr); + void append (Gtk::Menu&, Glib::RefPtr); void disable_scrolling(); Gtk::Menu_Helpers::MenuList& items () { return _menu.items (); } Gtk::Menu& menu () { return _menu; } - void append_text_item (std::string const& text); void set_active (std::string const& text); protected: