27 #ifndef Fl_Input_Choice_H
28 #define Fl_Input_Choice_H
31 #include <FL/Fl_Group.H>
32 #include <FL/Fl_Input.H>
33 #include <FL/Fl_Menu_Button.H>
101 int xc = x()+w()/2, yc=y()+h()/2;
106 InputMenuButton(
int X,
int Y,
int W,
int H,
const char*L=0) :
111 InputMenuButton *menu_;
114 static void menu_cb(
Fl_Widget*,
void *data) {
119 if (!strcmp(o->inp_->
value(), o->menu_->text()))
121 o->Fl_Widget::clear_changed();
127 o->inp_->
value(o->menu_->text());
129 o->Fl_Widget::set_changed();
138 o->Fl_Widget::clear_changed();
144 static void inp_cb(
Fl_Widget*,
void *data) {
148 o->Fl_Widget::set_changed();
152 o->Fl_Widget::clear_changed();
160 o->Fl_Widget::clear_changed();
171 inline int menu_w() {
return(20); }
193 void add(
const char *s) { menu_->add(s); }
198 inp_->clear_changed();
217 void resize(
int X,
int Y,
int W,
int H) {
219 inp_->resize(inp_x(), inp_y(), inp_w(), inp_h());
220 menu_->resize(menu_x(), menu_y(), menu_w(), menu_h());
235 const char*
value()
const {
return (inp_->value()); }
238 void value(
const char *val) { inp_->value(val); }
243 inp_->value(menu_->text(val));
264 #endif // !Fl_Input_Choice_H