Add ArdourDropdown API for use as dumb text dropdown.
This commit is contained in:
parent
e6b8a0d95b
commit
f979463cfe
@ -28,6 +28,7 @@
|
||||
#include "pbd/stacktrace.h"
|
||||
|
||||
#include "gtkmm2ext/utils.h"
|
||||
#include "gtkmm2ext/menu_elems.h"
|
||||
#include "gtkmm2ext/rgb_macros.h"
|
||||
#include "gtkmm2ext/gui_thread.h"
|
||||
|
||||
@ -162,3 +163,15 @@ ArdourDropdown::disable_scrolling()
|
||||
{
|
||||
_scrolling_disabled = true;
|
||||
}
|
||||
|
||||
void
|
||||
ArdourDropdown::append_text_item (std::string const& text) {
|
||||
using namespace Gtkmm2ext;
|
||||
AddMenuElem (MenuElemNoMnemonic (text, sigc::bind (sigc::mem_fun (*this, &ArdourDropdown::default_text_handler), text)));
|
||||
}
|
||||
|
||||
void
|
||||
ArdourDropdown::default_text_handler (std::string const& text) {
|
||||
set_text (text);
|
||||
StateChanged (); /* EMIT SIGNAL */
|
||||
}
|
||||
|
@ -49,6 +49,11 @@ public:
|
||||
|
||||
Gtk::Menu_Helpers::MenuList& items () { return _menu.items (); }
|
||||
|
||||
void append_text_item (std::string const& text);
|
||||
|
||||
protected:
|
||||
void default_text_handler (std::string const& text);
|
||||
|
||||
private:
|
||||
Gtk::Menu _menu;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user