summaryrefslogtreecommitdiff
path: root/FL/Fl_Input_Choice.H
diff options
context:
space:
mode:
Diffstat (limited to 'FL/Fl_Input_Choice.H')
-rw-r--r--FL/Fl_Input_Choice.H6
1 files changed, 6 insertions, 0 deletions
diff --git a/FL/Fl_Input_Choice.H b/FL/Fl_Input_Choice.H
index d4acb44..45971bc 100644
--- a/FL/Fl_Input_Choice.H
+++ b/FL/Fl_Input_Choice.H
@@ -34,6 +34,7 @@
#define Fl_Input_Choice_H
#include <FL/Fl.H>
+#include <FL/Fl_Group.H>
#include <FL/Fl_Input.H>
#include <FL/Fl_Menu_Button.H>
#include <FL/fl_draw.H>
@@ -58,6 +59,8 @@ class Fl_Input_Choice : public Fl_Group {
static void menu_cb(Fl_Widget*, void *data) {
Fl_Input_Choice *o=(Fl_Input_Choice *)data;
+ const Fl_Menu_Item *item = o->menubutton()->mvalue();
+ if ( item && item->flags & (FL_SUBMENU|FL_SUBMENU_POINTER) ) return; // ignore submenus
o->inp_->value(o->menu_->text());
o->do_callback();
}
@@ -95,6 +98,9 @@ public:
void add(const char *s) {
menu_->add(s);
}
+ int changed() const {
+ return inp_->changed();
+ }
void clear() {
menu_->clear();
}