// @topic T02230 FLTK Fluid Project -- Input/Output boxes, Menu, and Window
// @brief <tt>main()</tt>, <tt>make_window()</tt> and callbacks
// generated by Fast Light User Interface Designer (fluid) version 1.0300
#include "fltk_fluid_sandbox.h"
static const int TEN = 10;
static const int TWENTY = 20;
static const int THIRTY = 30;
Fl_Window *win_app=(Fl_Window *)0;
Fl_Input *inp_code=(Fl_Input *)0;
Fl_Button *btn_code=(Fl_Button *)0;
Fl_Output *out_code=(Fl_Output *)0;
Fl_Menu_Item menu_[] = {
{"File", 0, (Fl_Callback*)cb_win_callback, 0, 64, FL_NORMAL_LABEL, 0, 14, 0},
{"Quit", 0, (Fl_Callback*)cb_win_callback, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0}
};
/**
new/code/function-method
*/
Fl_Window* make_window() {
std::cout << "make_window()";
{ win_app = new Fl_Window(320, 243, "MY WINDOW");
win_app->callback((Fl_Callback*)cb_win_callback);
{ inp_code = new Fl_Input(60, 36, 75, 24, "Data:");
inp_code->callback((Fl_Callback*)cb_code, (void*)("input"));
} // Fl_Input* inp_code
{ btn_code = new Fl_Button(15, 70, 70, 25, "Get data");
btn_code->callback((Fl_Callback*)cb_btn_get_code);
} // Fl_Button* btn_code
{ out_code = new Fl_Output(210, 70, 75, 25, "Read-only data");
} // Fl_Output* out_code
{ Fl_Menu_Bar* o = new Fl_Menu_Bar(0, 0, 320, 20);
o->menu(menu_);
} // Fl_Menu_Bar* o
{ Fl_Group* o = new Fl_Group(50, 117, 155, 68);
{ Fl_Round_Button* o = new Fl_Round_Button(50, 117, 155, 18, "ten");
o->type(102);
o->down_box(FL_ROUND_DOWN_BOX);
o->callback((Fl_Callback*)cb_radio, (void*)(10));
} // Fl_Round_Button* o
{ Fl_Round_Button* o = new Fl_Round_Button(50, 140, 155, 20, "twenty");
o->type(102);
o->down_box(FL_ROUND_DOWN_BOX);
o->callback((Fl_Callback*)cb_radio, (void*)(20));
} // Fl_Round_Button* o
{ Fl_Round_Button* o = new Fl_Round_Button(50, 165, 155, 20, "thirty");
o->type(102);
o->down_box(FL_ROUND_DOWN_BOX);
o->callback((Fl_Callback*)cb_radio, (void*)(30));
} // Fl_Round_Button* o
o->end();
} // Fl_Group* o
win_app->end();
win_app->resizable(win_app);
} // Fl_Window* win_app
return win_app;
}
void cb_code(Fl_Widget* inp_, void*userdata) {
std::cout << "cb_code\n" << (char const*)userdata;
}
/**
callback from "Get data" button
*/
void cb_btn_get_code(Fl_Widget* inp_, void* userdata_) {
char const* text = inp_code->value();
out_code->value( text );
}
/**
callback from window "X" button
*/
void cb_win_callback(Fl_Widget* inp_, void* userdata_) {
std::cout << "X button clicked -- exiting the program\n";
exit( 0 );
}
void cb_radio(Fl_Widget* btn, void* userdata) {
std::cout << "radio" << (int)userdata << '\n';
}
int main(int argc, char **argv) {
Fl_Window* win = make_window();
win->show();
return Fl::run();
}