void create_form_HelpForm(void) { FL_OBJECT *obj; if (HelpForm) return; HelpForm = fl_bgn_form(FL_NO_BOX,530,340); obj = fl_add_box(FL_UP_BOX,0,0,530,340,""); fl_set_object_lsize(obj,FL_NORMAL_SIZE); HelpBrowser = obj = fl_add_browser(FL_NORMAL_BROWSER,10,35,510,275,""); fl_set_object_lsize(obj,FL_NORMAL_SIZE); obj = fl_add_text(FL_NORMAL_TEXT,10,10,435,20,"Not Knot: The Software Interactive Hyperbolic Flythrough"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lcolor(obj,FL_BLUE); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); Done = obj = fl_add_button(FL_NORMAL_BUTTON,455,10,60,20,"Done"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_callback(obj,DoneProc,0); DiagramGroup = fl_bgn_group(); EucDiag = obj = fl_add_button(FL_RADIO_BUTTON,95,310,140,25,"Euclidean Diagram"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_callback(obj,DiagProc,EUC); HypDiag = obj = fl_add_button(FL_RADIO_BUTTON,305,310,150,25,"Hyperbolic Diagram"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_callback(obj,DiagProc,HYP); fl_end_group(); fl_end_form(); }
FD_config_dialog * create_form_config_dialog( void ) { FL_OBJECT *obj; FD_config_dialog *fdui = fl_malloc( sizeof *fdui ); fdui->vdata = fdui->cdata = NULL; fdui->ldata = 0; fdui->config_dialog = fl_bgn_form( FL_NO_BOX, 410, 120 ); obj = fl_add_box( FL_UP_BOX, 0, 0, 410, 120, "" ); fdui->cancel_btn = obj = fl_add_button( FL_NORMAL_BUTTON, 80, 75, 100, 30, "Cancel" ); fl_set_object_lalign( obj, FL_ALIGN_CENTER ); fl_set_object_callback( obj, get_dir_callback, -1 ); fdui->ok_btn = obj = fl_add_button( FL_RETURN_BUTTON, 225, 75, 100, 30, "OK" ); fl_set_object_lalign( obj, FL_ALIGN_CENTER ); fl_set_object_callback( obj, get_dir_callback, 0 ); fdui->dir_input = obj = fl_add_input( FL_NORMAL_INPUT, 80, 30, 300, 30, "Directory" ); fl_set_object_return( obj, FL_RETURN_END_CHANGED ); fl_end_form( ); fdui->config_dialog->fdui = fdui; return fdui; }
static void create_colorform( void ) { int i, j; if ( cs->colorform ) return; cs->colorform = fl_bgn_form( FL_UP_BOX, 240, 220 ); for ( i = 0; i < 8; i++ ) for ( j = 0; j < 8; j++ ) { cs->col[ 8 * i + j ] = fl_add_button( FL_NORMAL_BUTTON, 40 + j * 20, 10 + i * 20, 20, 20, "" ); fl_set_object_boxtype( cs->col[ 8 * i + j ], FL_BORDER_BOX ); fl_set_object_lcolor( cs->col[ 8 * i + j ], 7 ); } cs->prev = fl_add_button( FL_NORMAL_BUTTON, 10, 10, 30, 160, "@4" ); cs->next = fl_add_button( FL_NORMAL_BUTTON, 200, 10, 30, 160, "@6" ); cs->cancel = fl_add_button( FL_NORMAL_BUTTON, 80, 180, 140, 30, "Cancel" ); cs->cindex = fl_add_text( FL_NORMAL_TEXT, 5, 180, 70, 30, "Cancel" ); fl_set_object_lsize( cs->cindex,FL_TINY_SIZE ); fl_end_form( ); }
void create_form_MainForm() { FL_OBJECT *obj; MainForm = fl_bgn_form(FL_NO_BOX,280.0,180.0); obj = fl_add_box(FL_UP_BOX,0.0,0.0,280.0,180.0,""); QuitButton = obj = fl_add_button(FL_NORMAL_BUTTON,200.0,70.0,60.0,40.0,"Quit"); fl_set_object_lsize(obj,FL_LARGE_FONT); fl_set_call_back(obj,QuitProc,0); DrawButton = obj = fl_add_button(FL_NORMAL_BUTTON,20.0,70.0,150.0,40.0,"New Line"); fl_set_object_lsize(obj,FL_LARGE_FONT); fl_set_call_back(obj,DrawButtonProc,0); UndoButton = obj = fl_add_button(FL_NORMAL_BUTTON,20.0,20.0,90.0,40.0,"Undo"); fl_set_object_lsize(obj,FL_LARGE_FONT); fl_set_call_back(obj,UndoButtonProc,0); VertexButton = obj = fl_add_lightbutton(FL_PUSH_BUTTON,130.0,20.0,130.0,40.0,"Vertices Only"); fl_set_call_back(obj,VertexButtonProc,0); obj = fl_add_text(FL_NORMAL_TEXT,0.0,110.0,280.0,50.0,"Click RIGHT mouse button on an\n object to draw lines."); fl_set_object_lcol(obj,4); fl_set_object_align(obj,FL_ALIGN_CENTER); fl_set_object_lstyle(obj,FL_BOLD_STYLE); obj = fl_add_text(FL_NORMAL_TEXT,0.0,150.0,280.0,30.0,"GRAFFITI"); fl_set_object_align(obj,FL_ALIGN_CENTER); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_end_form(); }
void create_form_ClipPanel(void) { FL_OBJECT *obj; if (ClipPanel) return; ClipPanel = fl_bgn_form(FL_NO_BOX,200,320); obj = fl_add_box(FL_UP_BOX,0,0,200,320,""); fl_set_object_lsize(obj,FL_NORMAL_SIZE); SliceButton = obj = fl_add_button(FL_NORMAL_BUTTON,70,220,50,30,"Slice!"); fl_set_object_lcolor(obj,FL_RED); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); obj = fl_add_text(FL_NORMAL_TEXT,20,195,140,20,"ax + by + cz = d"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); ExitButton = obj = fl_add_button(FL_NORMAL_BUTTON,145,5,50,30,"Exit"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); InfoButton = obj = fl_add_button(FL_NORMAL_BUTTON,10,220,50,30,"Info"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); obj = fl_add_text(FL_NORMAL_TEXT,50,10,90,30,"Ginsu!"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lcolor(obj,FL_BLUE); fl_set_object_lsize(obj,FL_LARGE_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE+FL_ENGRAVED_STYLE); TargInput = obj = fl_add_input(FL_NORMAL_INPUT,10,260,175,30,"TARGET CLIP OBJECT"); fl_set_object_color(obj,FL_INDIANRED,FL_PALEGREEN); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_BOTTOM); fl_set_object_lstyle(obj,FL_BOLD_STYLE); Ainput = obj = fl_add_input(FL_NORMAL_INPUT,10,40,165,30,"a"); fl_set_object_color(obj,FL_BOTTOM_BCOL,FL_MAGENTA); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_RIGHT); Binput = obj = fl_add_input(FL_NORMAL_INPUT,10,80,165,30,"b"); fl_set_object_color(obj,FL_BOTTOM_BCOL,FL_MAGENTA); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_RIGHT); Cinput = obj = fl_add_input(FL_NORMAL_INPUT,10,120,165,30,"c"); fl_set_object_color(obj,FL_BOTTOM_BCOL,FL_MAGENTA); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_RIGHT); Dinput = obj = fl_add_input(FL_NORMAL_INPUT,10,160,165,30,"d"); fl_set_object_color(obj,FL_BOTTOM_BCOL,FL_MAGENTA); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_RIGHT); EditButton = obj = fl_add_button(FL_PUSH_BUTTON,130,220,50,30,"Edit"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_end_form(); }
void create_form_MainForm(void) { FL_OBJECT *obj; if (MainForm) return; MainForm = fl_bgn_form(FL_NO_BOX,300,240); obj = fl_add_box(FL_UP_BOX,0,0,300,240,""); fl_set_object_lsize(obj,11); obj = fl_add_text(FL_NORMAL_TEXT,10,10,280,40,"Tack Down"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lcolor(obj,FL_RED); fl_set_object_lsize(obj,FL_LARGE_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_NORMAL_STYLE+FL_ENGRAVED_STYLE); obj = fl_add_text(FL_NORMAL_TEXT,10,40,280,30,"Click button to fix target object in its current"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); TransButton = obj = fl_add_lightbutton(FL_NORMAL_BUTTON,10,150,130,40,"Tack Down"); fl_set_object_color(obj,39,FL_YELLOW); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,TransButtonProc,0); obj = fl_add_button(FL_NORMAL_BUTTON,160,150,130,40,"Quit"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,QuitButtonProc,0); obj = fl_add_text(FL_NORMAL_TEXT,10,60,280,30,"location in the selected coordinate system"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); worldButton = obj = fl_add_button(FL_RADIO_BUTTON,0,200,150,40,"World Coordinates"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); obj = fl_add_button(FL_RADIO_BUTTON,150,200,150,40,"Universe Coordinates"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); obj = fl_add_text(FL_NORMAL_TEXT,10,90,280,30,"For best results, make sure normalization"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); obj = fl_add_text(FL_NORMAL_TEXT,10,110,280,30,"is off and the target object is not the world."); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_end_form(); }
int main( int argc, char * argv[ ] ) { FL_FORM *form; FL_OBJECT *obj; fl_initialize( &argc, argv, "FormDemo", 0, 0 ); form = fl_bgn_form( FL_UP_BOX, 360, 140); obj = fl_add_button( FL_TOUCH_BUTTON, 50, 30, 40, 30, "@<<" ); fl_set_object_boxtype( obj, FL_FRAME_BOX ); fl_set_object_color( obj, FL_COL1, FL_INDIANRED ); fl_set_object_callback( obj, show_val, -5 ); fl_set_button_shortcut( obj, "1", 0 ); obj = fl_add_button( FL_TOUCH_BUTTON, 90, 30, 40, 30, "@<" ); fl_set_object_boxtype( obj, FL_FRAME_BOX ); fl_set_object_color( obj, FL_COL1, FL_INDIANRED ); fl_set_object_callback( obj, show_val, -1 ); fl_set_button_shortcut( obj, "2", 0 ); valobj = obj = fl_add_box( FL_BORDER_BOX, 130, 30, 100, 30, "" ); fl_set_object_color( obj, FL_LEFT_BCOL, FL_LEFT_BCOL ); obj = fl_add_button( FL_TOUCH_BUTTON, 230, 30, 40, 30, "@>" ); fl_set_object_boxtype( obj, FL_FRAME_BOX ); fl_set_object_color( obj, FL_COL1, FL_INDIANRED ); fl_set_object_callback( obj, show_val, 1 ); fl_set_button_shortcut( obj, "3", 0 ); obj = fl_add_button( FL_TOUCH_BUTTON, 270, 30, 40, 30, "@>>" ); fl_set_object_boxtype( obj, FL_FRAME_BOX ); fl_set_object_callback( obj, show_val, 5 ); fl_set_object_color( obj, FL_COL1, FL_INDIANRED ); fl_set_button_shortcut( obj, "4", 0 ); fl_add_button( FL_NORMAL_BUTTON, 220, 90, 100, 30, "Exit" ); fl_end_form( ); fl_show_form( form, FL_PLACE_CENTER, FL_NOBORDER, "Touch Buttons" ); fl_do_forms( ); fl_finish( ); return 0; }
void create_form_clock(void) { FL_OBJECT *obj; if (fclock) return; fclock = fl_bgn_form(FL_NO_BOX,500,350); obj = fl_add_box(FL_UP_BOX,0,0,500,350,""); obj = fl_add_clock(FL_DIGITAL_CLOCK,185,20,150,35,""); fl_set_object_boxtype(obj,FL_ROUNDED_BOX); fl_set_object_color(obj,FL_COL1,FL_BLACK); fl_set_object_lsize(obj,FL_MEDIUM_SIZE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); obj = fl_add_clock(FL_ANALOG_CLOCK,30,70,220,200,""); fl_set_object_boxtype(obj,FL_UP_BOX); obj = fl_add_clock(FL_ANALOG_CLOCK,260,70,220,200,""); fl_set_object_boxtype(obj,FL_OVAL3D_UPBOX); obj = fl_add_button(FL_NORMAL_BUTTON,375,300,110,35,"Exit"); fl_set_object_callback(obj, exit_cb, 0); fl_end_form(); fl_scale_form(fclock, 0.7, 0.7); }
static FD_input * create_input( const char * str1, const char * defstr ) { FD_input *fdui = fl_calloc( 1, sizeof *fdui ); int oldy = fli_inverted_y; int oldu = fl_get_coordunit( ); fli_inverted_y = 0; fl_set_coordunit( FL_COORD_PIXEL ); fdui->form = fl_bgn_form( FL_FLAT_BOX, 460, 130 ); fdui->input = fl_add_input( FL_NORMAL_INPUT, 30, 50, 400, 30, str1 ); fl_set_input( fdui->input, defstr ); fdui->but = fl_add_button( FL_RETURN_BUTTON, 185, 94, 90, 27, "OK" ); fli_parse_goodies_label( fdui->but, FLOKLabel ); fl_set_form_hotobject( fdui->form, fdui->but ); fl_end_form( ); fli_handle_goodie_font( fdui->but, fdui->input ); fl_register_raw_callback( fdui->form, FL_ALL_EVENT, fli_goodies_preemptive ); fl_set_form_atclose( fdui->form, fl_goodies_atclose, fdui->but ); fli_inverted_y = oldy; fl_set_coordunit( oldu ); return fdui; }
FD_landmin *create_form_landmin(void) { FL_OBJECT *obj; FD_landmin *fdui = (FD_landmin *) fl_calloc(1, sizeof(*fdui)); fdui->landmin = fl_bgn_form(FL_NO_BOX, 330, 280); obj = fl_add_box(FL_UP_BOX,0,0,330,280,""); obj = fl_add_text(FL_NORMAL_TEXT,10,10,70,30,"Connect to :"); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); obj = fl_add_text(FL_NORMAL_TEXT,10,50,90,30,"Disconect from:"); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); obj = fl_add_button(FL_NORMAL_BUTTON,60,250,220,20,"Quit"); fl_set_object_callback(obj,cb_land_quitb,0); obj = fl_add_clock(FL_DIGITAL_CLOCK,140,225,70,20,""); fl_set_object_color(obj,FL_INACTIVE,FL_CYAN); fdui->host_listOB = obj = fl_add_browser(FL_NORMAL_BROWSER,40,100,270,120,"Connected to:"); fl_set_object_color(obj,FL_WHITE,FL_YELLOW); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_object_callback(obj,cb_landseld_hst,0); fdui->landnhOB = obj = fl_add_choice(FL_NORMAL_CHOICE2,110,10,200,30,""); fl_set_object_callback(obj,cb_land_nh,0); fl_set_choice_entries(obj, fdchoice_0); fl_set_choice(obj,1); fdui->landdhOB = obj = fl_add_choice(FL_NORMAL_CHOICE2,110,50,200,30,""); fl_set_object_callback(obj,cb_land_dh,0); fl_set_choice_entries(obj, fdchoice_1); fl_set_choice(obj,1); fl_end_form(); fdui->landmin->fdui = fdui; return fdui; }
/* -------------------- MAIN GROUP --------------------- */ static void g3d_create_grasp_planning_group(void) { int x, y, dy, w, h, shift; FL_OBJECT *frame= NULL, *box= NULL; frame = fl_add_labelframe(FL_ENGRAVED_FRAME, 18, 235, 185, 330, "Interface"); box = fl_add_box(FL_ENGRAVED_FRAME, 23, 250, 175, 310, ""); fl_set_object_color(box, FL_GREEN, FL_COL1); MOTIONGROUP = fl_bgn_group(); x= 30; y= 20; w= 160; h= 40; dy= h + 10; shift= 40; BT_1_OBJ = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Test"); BT_2_OBJ = fl_add_button(FL_NORMAL_BUTTON, x, y + dy, w, h, "SAHandRight"); BT_3_OBJ = fl_add_button(FL_NORMAL_BUTTON, x, y + 2*dy, w, h, "Double Grasp"); BT_4_OBJ = fl_add_button(FL_NORMAL_BUTTON, x, y + 3*dy, w, h, "Display grasps"); BT_5_OBJ = fl_add_button(FL_NORMAL_BUTTON, x, y + shift + 4*dy, w, h, "Selected Object: none"); BT_6_OBJ = fl_add_button(FL_NORMAL_BUTTON, x, y + shift + 5*dy, w, h, "Selected Hand Robot: none"); BT_7_OBJ = fl_add_button(FL_NORMAL_BUTTON, x, y + shift + 6*dy, w, h, "Browse Grasps"); BT_8_OBJ = fl_add_button(FL_NORMAL_BUTTON, x, y + shift + 7*dy, w, h, "Delete Grasp"); BT_9_OBJ = fl_add_button(FL_NORMAL_BUTTON, x, y + shift + 8*dy, w, h, "Add Grasp"); BT_10_OBJ = fl_add_button(FL_NORMAL_BUTTON, x, y + shift + 9*dy, w, h, "Save Grasps"); fl_set_call_back(BT_1_OBJ, CB_test, 0); fl_set_call_back(BT_2_OBJ, CB_SAHandRight, 0); fl_set_call_back(BT_3_OBJ, CB_double_grasp, 0); fl_set_call_back(BT_4_OBJ, CB_display_grasps, 0); fl_set_object_color(BT_4_OBJ,FL_MCOL,FL_GREEN); fl_set_call_back(BT_5_OBJ, CB_select_object, 0); fl_set_call_back(BT_6_OBJ, CB_select_hand_robot, 0); fl_set_call_back(BT_7_OBJ, CB_browse_grasps, 0); fl_set_call_back(BT_8_OBJ, CB_delete_grasp, 0); fl_set_call_back(BT_9_OBJ, CB_add_grasp, 0); fl_set_call_back(BT_10_OBJ, CB_save_grasps, 0); fl_end_group(); }
FD_mainWindow *create_form_mainWindow(void) { FL_OBJECT *obj; FD_mainWindow *fdui = (FD_mainWindow *) fl_calloc(1, sizeof(*fdui)); fdui->mainWindow = fl_bgn_form(FL_NO_BOX, 550, 490); obj = fl_add_box(FL_UP_BOX,0,0,550,490,""); fdui->mainCanvas = obj = fl_add_canvas(FL_NORMAL_CANVAS,10,40,510,420,""); fl_set_object_gravity(obj, FL_NorthWest, FL_SouthEast); fdui->scroll_h = obj = fl_add_scrollbar(FL_HOR_THIN_SCROLLBAR,10,465,510,20,""); fl_set_object_boxtype(obj,FL_DOWN_BOX); fl_set_object_gravity(obj, FL_SouthWest, FL_SouthEast); fl_set_scrollbar_step(obj, 0.1); fl_set_scrollbar_increment(obj, 0.1, 0.1); fdui->scroll_v = obj = fl_add_scrollbar(FL_VERT_THIN_SCROLLBAR,525,40,20,420,""); fl_set_object_boxtype(obj,FL_DOWN_BOX); fl_set_object_gravity(obj, FL_NorthEast, FL_SouthEast); fl_set_scrollbar_step(obj, 0.1); fl_set_scrollbar_increment(obj, 0.1, 0.1); fdui->pause = obj = fl_add_button(FL_NORMAL_BUTTON,410,5,80,30,"Pause"); fl_set_button_shortcut(obj,"Pp",1); fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast); fdui->step = obj = fl_add_button(FL_NORMAL_BUTTON,320,5,80,30,"Step (spc)"); fl_set_button_shortcut(obj," ",1); fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast); fdui->add_food = obj = fl_add_button(FL_NORMAL_BUTTON,140,5,80,30,"More Food (+)"); fl_set_button_shortcut(obj,"+",1); fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast); fdui->remove_food = obj = fl_add_button(FL_NORMAL_BUTTON,230,5,80,30,"Less Food (-)"); fl_set_button_shortcut(obj,"-",1); fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast); fdui->file_menu = obj = fl_add_menu(FL_PULLDOWN_MENU,10,10,50,20,"File"); fl_set_object_shortcut(obj,"Ff",1); fl_set_object_lalign(obj,FL_ALIGN_LEFT); fl_set_menu_entries(obj, fdmenu_file_menu_1); fdui->other_menu = obj = fl_add_menu(FL_PULLDOWN_MENU,60,10,60,20,"Other"); fl_set_object_shortcut(obj,"Oo",1); fl_set_object_lalign(obj,FL_ALIGN_LEFT); fl_set_menu_entries(obj, fdmenu_other_menu_2); fl_end_form(); fdui->mainWindow->fdui = fdui; return fdui; }
FD_config_dialog *create_form_config_dialog(void) { FL_OBJECT *obj; FD_config_dialog *fdui = (FD_config_dialog *) fl_calloc(1, sizeof(*fdui)); fdui->config_dialog = fl_bgn_form(FL_NO_BOX, 410, 120); obj = fl_add_box(FL_UP_BOX,0,0,410,120,""); fdui->cancel_btn = obj = fl_add_button(FL_NORMAL_BUTTON,80,75,100,30,"Cancel"); fl_set_object_callback(obj,get_dir_callback,-1); fdui->ok_btn = obj = fl_add_button(FL_RETURN_BUTTON,225,75,100,30,"OK"); fl_set_object_callback(obj,get_dir_callback,0); fdui->dir_input = obj = fl_add_input(FL_NORMAL_INPUT,80,30,300,30,"Directory"); fl_end_form(); fdui->config_dialog->fdui = fdui; return fdui; }
int main(int argc, char *argv[]){ FL_FORM *form; FL_OBJECT *obj; fl_initialize(&argc, argv, "FormDemo", 0, 0); form = fl_bgn_form(FL_UP_BOX,320,120); fl_add_box(FL_NO_BOX,160,40,0,0,"Welcome to LanAdmin"); obj = fl_add_button(FL_NORMAL_BUTTON,40,70,80,30,"Connect"); fl_set_object_callback(obj, connect_cback,0); obj = fl_add_button(FL_NORMAL_BUTTON,200,70,80,30,"Leave"); fl_set_object_callback(obj, leave_cback,0); fl_end_form(); fl_show_form(form,FL_PLACE_MOUSE,FL_TRANSIENT,"LanAdmin"); fl_do_forms(); return 0; }
static FD_yesno * create_yesno( void ) { FD_yesno *fdui = malloc( sizeof *fdui ); int oldy = fli_inverted_y; int oldu = fl_get_coordunit( ); fli_inverted_y = 0; fl_set_coordunit( FL_COORD_PIXEL ); fdui->form = fl_bgn_form( FL_FLAT_BOX, 460, 130 ); fl_set_form_title( fdui->form, "Question" ); fdui->str = fl_add_box( FL_FLAT_BOX, 20, 15, 420, 65, "" ); fdui->yes = fl_add_button( FL_NORMAL_BUTTON, 85, 90, 80, 27, "Yes" ); fl_set_button_shortcut( fdui->yes, "Yy", 1 ); fdui->no = fl_add_button( FL_NORMAL_BUTTON, 295, 90, 80, 27, "No" ); fl_set_button_shortcut( fdui->no, "Nn", 1 ); fli_add_q_icon( 10, 20, 33, 33 ); fl_end_form( ); fl_register_raw_callback( fdui->form, FL_ALL_EVENT, fli_goodies_preemptive ); fl_set_form_atclose( fdui->form, fl_goodies_atclose, fdui->no ); if ( fli_cntl.buttonFontSize != FL_DEFAULT_SIZE ) fl_fit_object_label( fdui->no, 22, 2 ); fli_inverted_y = oldy; fl_set_coordunit( oldu ); return fdui; }
FD_chart_window *create_form_chart_window(void) { FL_OBJECT *obj; FD_chart_window *fdui = (FD_chart_window *) fl_calloc(1, sizeof(*fdui)); fdui->chart_window = fl_bgn_form(FL_NO_BOX, 570, 480); obj = fl_add_box(FL_UP_BOX,0,0,570,480,"Population Statistics"); fl_set_object_lsize(obj,FL_MEDIUM_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->max_mass = obj = fl_add_chart(FL_BAR_CHART,10,40,140,120,"Bug Maximum Masses"); fl_set_object_boxtype(obj,FL_SHADOW_BOX); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->plant_eff = obj = fl_add_chart(FL_BAR_CHART,150,40,140,120,"Bug Plant Efficiency"); fl_set_object_boxtype(obj,FL_SHADOW_BOX); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->attack = obj = fl_add_chart(FL_BAR_CHART,290,40,140,120,"Bug Attack Capability"); fl_set_object_boxtype(obj,FL_SHADOW_BOX); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->color1 = obj = fl_add_chart(FL_BAR_CHART,430,40,130,120,"Bug Color 1"); fl_set_object_boxtype(obj,FL_SHADOW_BOX); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->color2 = obj = fl_add_chart(FL_BAR_CHART,10,180,140,130,"Bug Color 2"); fl_set_object_boxtype(obj,FL_SHADOW_BOX); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->breeding_age = obj = fl_add_chart(FL_BAR_CHART,150,180,140,130,"Bug Minimum Breeding Age"); fl_set_object_boxtype(obj,FL_SHADOW_BOX); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->breeding_energy = obj = fl_add_chart(FL_BAR_CHART,290,180,140,130,"Bug Minimum Breeding Energy"); fl_set_object_boxtype(obj,FL_SHADOW_BOX); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->population = obj = fl_add_chart(FL_LINE_CHART,430,180,130,130,"Global Population"); fl_set_object_boxtype(obj,FL_SHADOW_BOX); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->energy = obj = fl_add_chart(FL_BAR_CHART,10,330,140,130,"Bug Energy"); fl_set_object_boxtype(obj,FL_SHADOW_BOX); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->mass = obj = fl_add_chart(FL_BAR_CHART,150,330,140,130,"Bug Mass"); fl_set_object_boxtype(obj,FL_SHADOW_BOX); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->ok = obj = fl_add_button(FL_RETURN_BUTTON,460,370,80,30,"OK"); fdui->metabolism = obj = fl_add_chart(FL_BAR_CHART,290,330,140,130,"Bug Metabolism"); fl_set_object_boxtype(obj,FL_SHADOW_BOX); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_end_form(); fdui->chart_window->fdui = fdui; return fdui; }
void create_form_PickInfoForm() { FL_OBJECT *obj; PickInfoForm = fl_bgn_form(FL_NO_BOX,295.0,165.0); obj = fl_add_box(FL_UP_BOX,0.0,0.0,295.0,165.0,""); obj = fl_add_text(FL_NORMAL_TEXT,15.0,135.0,255.0,15.0,"The cursor is not pointing at an object."); DoneButton = obj = fl_add_button(FL_NORMAL_BUTTON,220.0,10.0,60.0,40.0,"OK"); fl_set_object_lsize(obj,FL_LARGE_FONT); fl_set_call_back(obj,DoneButtonProc,0); obj = fl_add_text(FL_NORMAL_TEXT,5.0,115.0,280.0,15.0,"Click the right mouse button on any object"); obj = fl_add_text(FL_NORMAL_TEXT,10.0,95.0,270.0,15.0,"in the geomview window to draw. If you"); obj = fl_add_text(FL_NORMAL_TEXT,5.0,75.0,270.0,15.0,"have no objects to draw on, you may load"); obj = fl_add_text(FL_NORMAL_TEXT,20.0,55.0,240.0,15.0,"one with the geomview Load button."); fl_end_form(); }
void anim_reactive_collision_interface(AnimProb * AnimProbPt) { int NofCoef; NofCoef = XYZ_ANIM.animation[0]->nof_coef; ZANIM = AnimProbPt; if (ARCI != NULL) { fl_hide_form(ARCI); fl_free_form(ARCI); ARCI = NULL; } ARCI = fl_bgn_form(FL_UP_BOX, 200, 370); ARCI_REAC_TIME = fl_add_valslider (FL_HOR_SLIDER, 10, 10, 180, 20, "Reaction Time"); fl_set_slider_bounds (ARCI_REAC_TIME, 0, 3); fl_set_slider_value (ARCI_REAC_TIME, 1); fl_set_slider_step (ARCI_REAC_TIME, 0.1); ARCI_CONST_BLOCKS = fl_add_button(FL_NORMAL_BUTTON, 10, 50, 180, 20, "Constitute Blocks"); fl_set_object_callback(ARCI_CONST_BLOCKS, anim_arci_cb, 10); ARCI_NOF_BLOCK = fl_add_text(FL_NORMAL_TEXT, 10, 80, 180, 20, ""); anim_udpate_nof_blocks(); ARCI_NOF_ATTEMPTS = fl_add_valslider (FL_HOR_SLIDER, 10, 110, 180, 20, "Number of Attempt for Solving Collisions"); fl_set_slider_bounds (ARCI_NOF_ATTEMPTS, 0, 1000); fl_set_slider_value (ARCI_NOF_ATTEMPTS, 100); fl_set_slider_step (ARCI_NOF_ATTEMPTS, 10); ARCI_SOLVE_COL = fl_add_button(FL_NORMAL_BUTTON, 10, 150, 180, 20, "Solve Blocks"); fl_set_object_callback(ARCI_SOLVE_COL, anim_arci_cb, 11); ARCI_SOLVED = fl_add_text(FL_NORMAL_TEXT, 10, 180, 180, 20, ""); anim_udpate_solved(); ARCI_SHOW_SOL = fl_add_button(FL_NORMAL_BUTTON, 10, 210, 180, 20, "Show Solution(s)"); fl_set_object_callback(ARCI_SHOW_SOL, anim_arci_cb, 12); ARCI_OPTIM = fl_add_button(FL_NORMAL_BUTTON, 10, 240, 180, 20, "Optimize Solution(s)"); fl_set_object_callback(ARCI_OPTIM, anim_arci_cb, 13); ARCI_OPTIMIZED = fl_add_text(FL_NORMAL_TEXT, 10, 270, 180, 20, ""); anim_udpate_optimized(); ARCI_SHOW_OPTIM = fl_add_button(FL_NORMAL_BUTTON, 10, 300, 180, 20, "Show Optimized Solution(s)"); fl_set_object_callback(ARCI_SHOW_OPTIM, anim_arci_cb, 14); ARCI_CLOSE = fl_add_button(FL_NORMAL_BUTTON, 10, 330, 180, 20, "Close"); fl_set_object_callback(ARCI_CLOSE, anim_arci_cb, 15); fl_end_form(); fl_show_form (ARCI, FL_PLACE_SIZE, FL_FULLBORDER, "Reactive collisions"); }
FD_unCeas *create_form_unCeas(void) { FL_OBJECT *obj; FD_unCeas *fdui = (FD_unCeas *) fl_calloc(1, sizeof(*fdui)); fdui->unCeas = fl_bgn_form(FL_NO_BOX, 140, 190); obj = fl_add_box(FL_UP_BOX,0,0,140,190,""); fdui->retOB = obj = fl_add_button(FL_NORMAL_BUTTON,15,150,110,30,"Return"); fl_set_object_callback(obj,unc_ret_cb,0); obj = fl_add_clock(FL_ANALOG_CLOCK,5,10,130,130,""); fl_set_object_color(obj,FL_INACTIVE,FL_WHITE); fl_end_form(); fdui->unCeas->fdui = fdui; return fdui; }
FD_newbut * create_form_newbut( void ) { FL_OBJECT *obj; FD_newbut *fdui = calloc( 1, sizeof *fdui ); fdui->newbut = fl_bgn_form( FL_NO_BOX, 310, 190 ); fl_add_box( FL_UP_BOX, 0, 0, 310, 190, "" ); fl_add_box( FL_FRAME_BOX, 40, 45, 100, 120, "" ); obj = fl_add_text( FL_NORMAL_TEXT, 50, 155, 50, 20, "CrossB" ); fl_set_object_boxtype( obj, FL_FLAT_BOX ); fl_set_object_lstyle( obj, FL_BOLD_STYLE ); obj = fl_add_crossbutton( FL_RADIO_BUTTON, 50, 115, 80, 30, "cross1" ); fl_set_object_color( obj, FL_COL1, FL_RED ); obj = fl_add_crossbutton( FL_RADIO_BUTTON, 50, 85, 80, 30, "Button" ); fl_set_object_color( obj, FL_COL1, FL_GREEN ); obj = fl_add_crossbutton( FL_RADIO_BUTTON, 50, 55, 80, 30, "Button" ); fl_set_object_color( obj, FL_COL1, FL_BLUE ); fl_add_box( FL_FRAME_BOX, 180, 45, 100, 120, "" ); obj = fl_add_text( FL_NORMAL_TEXT, 190, 155, 50, 20, "CrossB" ); fl_set_object_boxtype( obj, FL_FLAT_BOX ); fl_set_object_lstyle( obj, FL_BOLD_STYLE ); obj = fl_add_crossbutton( FL_PUSH_BUTTON, 190, 115, 80, 30, "Button" ); fl_set_object_color( obj, FL_COL1, FL_RED ); obj = fl_add_crossbutton( FL_PUSH_BUTTON, 190, 85, 90, 30, "Button" ); fl_set_object_color( obj, FL_COL1, FL_GREEN ); obj = fl_add_crossbutton( FL_PUSH_BUTTON, 190, 55, 80, 30, "Button" ); fl_set_object_color( obj, FL_COL1, FL_BLUE ); fdui->bexit = fl_add_button( FL_NORMAL_BUTTON, 125, 10, 65, 25, "Exit" ); fl_end_form( ); return fdui; }
void create_form_form( void ) { FL_OBJECT *obj; form = fl_bgn_form( FL_NO_BOX, 940, 360 ); fl_add_box( FL_UP_BOX, 0, 0, 940, 360, "" ); barchart = obj = fl_add_chart( FL_BAR_CHART, 20, 20, 210, 140, "BAR_CHART" ); fl_set_object_boxtype( obj, FL_RSHADOW_BOX ); linechart = obj = fl_add_chart( FL_LINE_CHART, 250, 20, 210, 140, "LINE_CHART" ); fl_set_object_boxtype( obj, FL_RSHADOW_BOX ); filledchart = obj = fl_add_chart( FL_FILLED_CHART, 250, 190, 210, 140, "FILLED_CHART" ); fl_set_object_boxtype( obj ,FL_RSHADOW_BOX ); piechart = obj = fl_add_chart( FL_PIE_CHART, 480, 190, 210, 140, "PIE_CHART" ); fl_set_object_boxtype( obj, FL_RSHADOW_BOX ); specialpiechart = obj = fl_add_chart( FL_SPECIALPIE_CHART, 710, 20, 210, 140, "SPECIALPIE_CHART" ); fl_set_object_boxtype( obj, FL_RSHADOW_BOX ); horbarchart = obj = fl_add_chart( FL_HORBAR_CHART, 20, 190, 210, 140, "HORBAR_CHART" ); fl_set_object_boxtype( obj, FL_RSHADOW_BOX ); spikechart = obj = fl_add_chart( FL_SPIKE_CHART, 480, 20, 210, 140, "SPIKE_CHART" ); fl_set_object_boxtype( obj, FL_RSHADOW_BOX ); exitbut = fl_add_button( FL_NORMAL_BUTTON, 750, 260, 140, 30, "Exit" ); fl_end_form( ); }
FD_neural_net_plot *create_form_neural_net_plot(void) { FL_OBJECT *obj; FD_neural_net_plot *fdui = (FD_neural_net_plot *) fl_calloc(1, sizeof(*fdui)); fdui->neural_net_plot = fl_bgn_form(FL_NO_BOX, 480, 370); fdui->mainWindow = obj = fl_add_box(FL_UP_BOX,0,0,480,370,"Neural Net Plot"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->mainCanvas = obj = fl_add_canvas(FL_NORMAL_CANVAS,15,20,450,300,""); fdui->ok = obj = fl_add_button(FL_RETURN_BUTTON,370,330,90,30,"OK"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_end_form(); fdui->neural_net_plot->fdui = fdui; return fdui; }
FD_otg *create_form_otg(void) { FL_OBJECT *obj; FD_otg *fdui = (FD_otg *) fl_calloc(1, sizeof(*fdui)); fdui->otg = fl_bgn_form(FL_NO_BOX, 550, 550); obj = fl_add_box(FL_UP_BOX,0,0,900,700,""); fdui->owd = fl_add_xyplot(FL_NORMAL_XYPLOT,50,30,450,190,"Delay(ms)"); fl_set_object_color(fdui->owd,FL_BLACK,FL_YELLOW); fdui->throughput = fl_add_xyplot(FL_NORMAL_XYPLOT,50,300,450,190,"Throughput(Kbit/s)"); fl_set_object_color(fdui->throughput,FL_BLACK,FL_YELLOW); obj = fl_add_button(FL_NORMAL_BUTTON,250,510,50,30,"Exit"); fl_set_object_callback(obj, exit_cb, 0); fdui->loss_ratio=fl_add_text(FL_NORMAL_TEXT,5,510,220,20,"NB Loss pkts"); fdui->simu_time=fl_add_text(FL_NORMAL_TEXT,370,510,250,30,"Simulation Time"); fl_end_form(); fdui->otg->fdui = fdui; return fdui; }
void create_form_InfoPanel(void) { FL_OBJECT *obj; if (InfoPanel) return; InfoPanel = fl_bgn_form(FL_NO_BOX,270,220); obj = fl_add_box(FL_UP_BOX,0,0,270,220,""); fl_set_object_lsize(obj,11); CloseButton = obj = fl_add_button(FL_NORMAL_BUTTON,200,10,60,30,"Close"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); MyBrowser = obj = fl_add_browser(FL_NORMAL_BROWSER,10,50,250,160,""); fl_set_object_lsize(obj,FL_NORMAL_SIZE); obj = fl_add_text(FL_NORMAL_TEXT,30,10,205,30,"Ginsu Info"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lcolor(obj,FL_BLUE); fl_set_object_lsize(obj,FL_LARGE_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE+FL_ENGRAVED_STYLE); fl_end_form(); }
void create_form_MainForm(void) { FL_OBJECT *obj; if (MainForm) return; MainForm = fl_bgn_form(FL_NO_BOX,240,340); obj = fl_add_box(FL_UP_BOX,0,0,240,340,""); fl_set_object_lsize(obj,FL_NORMAL_SIZE); DodecScale = obj = fl_add_valslider(FL_HOR_SLIDER,10,313,226,22,"Scale Dodecahedron"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,ScaleProc,0); obj = fl_add_text(FL_NORMAL_TEXT,0,25,245,20,"Interactive Hyperbolic Flythrough"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lcolor(obj,FL_BLUE); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); obj = fl_add_text(FL_NORMAL_TEXT,0,215,80,30,"LAYERS"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); obj = fl_add_text(FL_NORMAL_TEXT,5,140,230,15,"PATH"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); Quit = obj = fl_add_button(FL_NORMAL_BUTTON,190,50,40,30,"Quit"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_callback(obj,QuitProc,0); obj = fl_add_box(FL_SHADOW_BOX,0,285,245,5,""); fl_set_object_color(obj,FL_BLUE,FL_BLUE); fl_set_object_lsize(obj,FL_NORMAL_SIZE); obj = fl_add_box(FL_SHADOW_BOX,0,210,245,5,""); fl_set_object_color(obj,FL_BLUE,FL_BLUE); fl_set_object_lsize(obj,FL_NORMAL_SIZE); Info = obj = fl_add_button(FL_PUSH_BUTTON,10,50,170,30,"What's going on?"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_callback(obj,InfoProc,0); obj = fl_add_box(FL_SHADOW_BOX,0,130,245,5,""); fl_set_object_color(obj,FL_BLUE,FL_BLUE); fl_set_object_lsize(obj,FL_NORMAL_SIZE); PathGroup = fl_bgn_group(); Direct = obj = fl_add_roundbutton(FL_RADIO_BUTTON,125,150,30,30,"Direct"); fl_set_object_color(obj,FL_WHITE,FL_YELLOW); fl_set_object_lcolor(obj,223); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,PathProc,DIRECT); Equi = obj = fl_add_roundbutton(FL_RADIO_BUTTON,125,175,30,30,"Equidistant"); fl_set_object_color(obj,FL_WHITE,FL_YELLOW); fl_set_object_lcolor(obj,248); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,PathProc,EQUI); Quarter = obj = fl_add_roundbutton(FL_RADIO_BUTTON,5,175,30,30,"Quarter Turn"); fl_set_object_color(obj,FL_WHITE,FL_YELLOW); fl_set_object_lcolor(obj,135); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,PathProc,QUARTER); Loop = obj = fl_add_roundbutton(FL_RADIO_BUTTON,5,150,30,30,"Full Loop"); fl_set_object_color(obj,FL_WHITE,FL_YELLOW); fl_set_object_lcolor(obj,135); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,PathProc,LOOP); fl_end_group(); obj = fl_add_text(FL_NORMAL_TEXT,0,255,60,30,"STEPS"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); obj = fl_add_box(FL_SHADOW_BOX,0,248,245,5,""); fl_set_object_color(obj,FL_BLUE,FL_BLUE); fl_set_object_lsize(obj,FL_NORMAL_SIZE); GoGroup = fl_bgn_group(); Go = obj = fl_add_roundbutton(FL_RADIO_BUTTON,20,88,55,45,"GO"); fl_set_object_color(obj,FL_WHITE,FL_GREEN); fl_set_object_lcolor(obj,FL_GREEN); fl_set_object_lsize(obj,FL_LARGE_SIZE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,GoProc,1); Stop = obj = fl_add_roundbutton(FL_RADIO_BUTTON,110,88,55,45,"STOP"); fl_set_object_color(obj,FL_WHITE,FL_RED); fl_set_object_lcolor(obj,FL_RED); fl_set_object_lsize(obj,FL_LARGE_SIZE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,GoProc,0); fl_end_group(); TileGroup = fl_bgn_group(); Level3 = obj = fl_add_roundbutton(FL_RADIO_BUTTON,195,215,30,30,"3"); fl_set_object_color(obj,FL_WHITE,FL_YELLOW); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_callback(obj,TilingProc,3); Level2 = obj = fl_add_roundbutton(FL_RADIO_BUTTON,155,215,30,30,"2"); fl_set_object_color(obj,FL_WHITE,FL_YELLOW); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_callback(obj,TilingProc,2); Level1 = obj = fl_add_roundbutton(FL_RADIO_BUTTON,115,215,30,30,"1"); fl_set_object_color(obj,FL_WHITE,FL_YELLOW); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_callback(obj,TilingProc,1); Level0 = obj = fl_add_roundbutton(FL_RADIO_BUTTON,75,215,30,30,"0"); fl_set_object_color(obj,FL_WHITE,FL_YELLOW); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_callback(obj,TilingProc,0); fl_end_group(); SpeedGroup = fl_bgn_group(); Speed2 = obj = fl_add_roundbutton(FL_RADIO_BUTTON,100,255,30,30,"20"); fl_set_object_color(obj,FL_WHITE,FL_YELLOW); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_callback(obj,SpeedProc,2); Speed3 = obj = fl_add_roundbutton(FL_RADIO_BUTTON,145,255,30,30,"40"); fl_set_object_color(obj,FL_WHITE,FL_YELLOW); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_callback(obj,SpeedProc,3); Speed4 = obj = fl_add_roundbutton(FL_RADIO_BUTTON,190,255,30,30,"80"); fl_set_object_color(obj,FL_WHITE,FL_YELLOW); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_callback(obj,SpeedProc,4); Speed1 = obj = fl_add_roundbutton(FL_RADIO_BUTTON,55,255,30,30,"10"); fl_set_object_color(obj,FL_WHITE,FL_YELLOW); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_callback(obj,SpeedProc,1); fl_end_group(); obj = fl_add_text(FL_NORMAL_TEXT,5,5,240,20,"Not Knot: The Software"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lcolor(obj,FL_BLUE); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); obj = fl_add_box(FL_SHADOW_BOX,0,84,245,5,""); fl_set_object_color(obj,FL_BLUE,FL_BLUE); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_end_form(); }
void create_form_MainForm(void) { FL_OBJECT *obj; if (MainForm) return; MainForm = fl_bgn_form(FL_NO_BOX,360,370); obj = fl_add_box(FL_UP_BOX,0,0,360,370,""); fl_set_object_lsize(obj,FL_NORMAL_SIZE); obj = fl_add_button(FL_RETURN_BUTTON,20,310,160,40,"Make Sweep"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,GoButtonProc,0); obj = fl_add_button(FL_NORMAL_BUTTON,180,310,160,40,"Quit"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,QuitButtonProc,0); TransGroup = fl_bgn_group(); obj = fl_add_box(FL_ROUNDED_BOX,20,70,320,230,""); fl_set_object_lsize(obj,FL_NORMAL_SIZE); obj = fl_add_text(FL_NORMAL_TEXT,20,100,130,30,"Length of sweep:"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); obj = fl_add_text(FL_NORMAL_TEXT,20,200,160,30,"Direction of sweep:"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); Translength = obj = fl_add_input(FL_NORMAL_INPUT,120,130,50,30,"Units"); fl_set_object_color(obj,FL_LEFT_BCOL,FL_LEFT_BCOL); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_RIGHT); Transxdir = obj = fl_add_input(FL_NORMAL_INPUT,120,230,50,30,"x:"); fl_set_object_color(obj,FL_LEFT_BCOL,FL_LEFT_BCOL); fl_set_object_lsize(obj,FL_NORMAL_SIZE); Transydir = obj = fl_add_input(FL_NORMAL_INPUT,200,230,50,30,"y:"); fl_set_object_color(obj,FL_LEFT_BCOL,FL_LEFT_BCOL); fl_set_object_lsize(obj,FL_NORMAL_SIZE); Transzdir = obj = fl_add_input(FL_NORMAL_INPUT,280,230,50,30,"z:"); fl_set_object_color(obj,FL_LEFT_BCOL,FL_LEFT_BCOL); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_end_group(); TypeGroup = fl_bgn_group(); RotSweep = obj = fl_add_button(FL_RADIO_BUTTON,180,20,160,40,"Rotational Sweep"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,RotSweepProc,0); TransSweep = obj = fl_add_button(FL_RADIO_BUTTON,20,20,160,40,"Translational Sweep"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,TransSweepProc,0); fl_end_group(); RotGroup = fl_bgn_group(); obj = fl_add_box(FL_ROUNDED_BOX,20,70,320,230,""); fl_set_object_lsize(obj,FL_NORMAL_SIZE); obj = fl_add_text(FL_NORMAL_TEXT,20,80,90,30,"Arc length:"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); Rotlength = obj = fl_add_input(FL_NORMAL_INPUT,120,80,50,30,""); fl_set_object_color(obj,FL_LEFT_BCOL,FL_LEFT_BCOL); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_RIGHT); DegButton = obj = fl_add_button(FL_RADIO_BUTTON,190,80,70,30,"Degrees"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); RadButton = obj = fl_add_button(FL_RADIO_BUTTON,260,80,70,30,"Radians"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); obj = fl_add_text(FL_NORMAL_TEXT,20,120,90,30,"End of axis:"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); Rotendz = obj = fl_add_input(FL_NORMAL_INPUT,280,140,50,30,"z:"); fl_set_object_color(obj,FL_LEFT_BCOL,FL_LEFT_BCOL); fl_set_object_lsize(obj,FL_NORMAL_SIZE); Rotendy = obj = fl_add_input(FL_NORMAL_INPUT,200,140,50,30,"y:"); fl_set_object_color(obj,FL_LEFT_BCOL,FL_LEFT_BCOL); fl_set_object_lsize(obj,FL_NORMAL_SIZE); Rotendx = obj = fl_add_input(FL_NORMAL_INPUT,120,140,50,30,"x:"); fl_set_object_color(obj,FL_LEFT_BCOL,FL_LEFT_BCOL); fl_set_object_lsize(obj,FL_NORMAL_SIZE); obj = fl_add_text(FL_NORMAL_TEXT,20,180,130,30,"Direction of axis:"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); Rotdirz = obj = fl_add_input(FL_NORMAL_INPUT,280,210,50,30,"z:"); fl_set_object_color(obj,FL_LEFT_BCOL,FL_LEFT_BCOL); fl_set_object_lsize(obj,FL_NORMAL_SIZE); Rotdiry = obj = fl_add_input(FL_NORMAL_INPUT,200,210,50,30,"y:"); fl_set_object_color(obj,FL_LEFT_BCOL,FL_LEFT_BCOL); fl_set_object_lsize(obj,FL_NORMAL_SIZE); Rotdirx = obj = fl_add_input(FL_NORMAL_INPUT,120,210,50,30,"x:"); fl_set_object_color(obj,FL_LEFT_BCOL,FL_LEFT_BCOL); fl_set_object_lsize(obj,FL_NORMAL_SIZE); obj = fl_add_text(FL_NORMAL_TEXT,20,260,90,30,"Divisions:"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_color(obj,FL_COL1,FL_COL1); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); Rotdivisions = obj = fl_add_input(FL_NORMAL_INPUT,120,260,50,30,""); fl_set_object_color(obj,FL_LEFT_BCOL,FL_LEFT_BCOL); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_RIGHT); fl_end_group(); fl_end_form(); }
FD_options *create_form_options(void) { FL_OBJECT *obj; FD_options *fdui = (FD_options *) fl_calloc(1, sizeof(*fdui)); fdui->options = fl_bgn_form(FL_NO_BOX, 470, 530); obj = fl_add_box(FL_UP_BOX,0,0,470,530,"Options"); fl_set_object_lsize(obj,FL_NORMAL_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); obj = fl_add_frame(FL_EMBOSSED_FRAME,20,370,210,130,""); obj = fl_add_frame(FL_EMBOSSED_FRAME,240,370,220,110,""); obj = fl_add_frame(FL_EMBOSSED_FRAME,20,190,440,170,""); fdui->prob_mutation = obj = fl_add_valslider(FL_HOR_BROWSER_SLIDER,35,250,200,20,"Probabiliy of Mutation:"); fl_set_object_lsize(obj,FL_DEFAULT_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_slider_precision(obj, 3); fl_set_slider_value(obj, 0.008); fl_set_slider_size(obj, 0.10); fl_set_slider_step(obj, 0.001); fl_set_slider_increment(obj, 0.001, 0.001); fdui->prob_crossover = obj = fl_add_valslider(FL_HOR_BROWSER_SLIDER,250,250,200,20,"Probabiliy of Crossover:"); fl_set_object_lsize(obj,FL_DEFAULT_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_slider_precision(obj, 3); fl_set_slider_value(obj, 0.002); fl_set_slider_size(obj, 0.10); fl_set_slider_step(obj, 0.001); fl_set_slider_increment(obj, 0.001, 0.001); fdui->max_pop = obj = fl_add_valslider(FL_HOR_BROWSER_SLIDER,250,210,200,20,"Maximum Population:"); fl_set_object_lsize(obj,FL_DEFAULT_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_slider_precision(obj, 0); fl_set_slider_bounds(obj, 0, 10000); fl_set_slider_value(obj, 2000); fl_set_slider_size(obj, 0.10); fl_set_slider_step(obj, 1); fl_set_slider_increment(obj, 10, 10); fdui->maintain_min_pop = obj = fl_add_checkbutton(FL_PUSH_BUTTON,260,380,20,20,"Maintain a Minimum Population?"); fdui->age_factor = obj = fl_add_valslider(FL_HOR_BROWSER_SLIDER,35,290,200,20,"Age Factor:"); fl_set_object_lsize(obj,FL_DEFAULT_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_slider_precision(obj, 0); fl_set_slider_bounds(obj, 0, 15); fl_set_slider_value(obj, 9); fl_set_slider_size(obj, 0.10); fl_set_slider_step(obj, 1); fl_set_slider_increment(obj, 1, 1); fdui->carcass_decay_rate = obj = fl_add_valslider(FL_HOR_BROWSER_SLIDER,250,290,200,20,"Carcass Decay Rate:"); fl_set_object_lsize(obj,FL_DEFAULT_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_slider_precision(obj, 0); fl_set_slider_bounds(obj, 0, 100000); fl_set_slider_value(obj, 10000); fl_set_slider_size(obj, 0.10); fl_set_slider_step(obj, 100); fl_set_slider_increment(obj, 100, 100); fdui->save_sim = obj = fl_add_checkbutton(FL_PUSH_BUTTON,45,380,20,20,"Save Simulation Every N Steps?"); fdui->save_every = obj = fl_add_valslider(FL_HOR_BROWSER_SLIDER,40,420,170,20,"Save Every N Steps:"); fl_set_object_lsize(obj,FL_DEFAULT_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_slider_precision(obj, 0); fl_set_slider_bounds(obj, 0, 100000); fl_set_slider_value(obj, 50000); fl_set_slider_size(obj, 0.12); fl_set_slider_step(obj, 100); fl_set_slider_increment(obj, 100, 100); fdui->file_name = obj = fl_add_input(FL_NORMAL_INPUT,40,465,170,20,"Default File Name:"); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->ok = obj = fl_add_button(FL_RETURN_BUTTON,360,490,80,30,"OK"); fdui->initial_params_frame = obj = fl_add_frame(FL_ENGRAVED_FRAME,20,20,440,160,"Initial Parameters"); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->scale = obj = fl_add_valslider(FL_HOR_BROWSER_SLIDER,35,210,200,20,"Display Scale Factor:"); fl_set_object_lsize(obj,FL_DEFAULT_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_slider_precision(obj, 0); fl_set_slider_bounds(obj, 1, 32); fl_set_slider_value(obj, 5); fl_set_slider_size(obj, 0.10); fl_set_slider_step(obj, 1); fl_set_slider_increment(obj, 1, 1); fdui->min_pop = obj = fl_add_valslider(FL_HOR_BROWSER_SLIDER,265,420,170,20,"Minimum Population:"); fl_set_object_lsize(obj,FL_DEFAULT_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_slider_precision(obj, 0); fl_set_slider_bounds(obj, 0, 100); fl_set_slider_value(obj, 5); fl_set_slider_size(obj, 0.12); fl_set_slider_step(obj, 1); fl_set_slider_increment(obj, 1, 1); fdui->use_survivor = obj = fl_add_checkbutton(FL_PUSH_BUTTON,280,450,20,20,"Use Survivor for Minimum?"); fdui->initial_parameters_group = fl_bgn_group(); fdui->terrain_size = obj = fl_add_choice(FL_NORMAL_CHOICE2,340,135,100,30,"Terrain Size (cells):"); fl_set_choice_entries(obj, fdchoice_terrain_size_0); fl_set_choice(obj,4); fdui->initial_pop = obj = fl_add_valslider(FL_HOR_BROWSER_SLIDER,35,60,200,20,"Initial Population:"); fl_set_object_lsize(obj,FL_DEFAULT_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_slider_precision(obj, 0); fl_set_slider_bounds(obj, 0, 2000); fl_set_slider_value(obj, 200); fl_set_slider_size(obj, 0.10); fl_set_slider_step(obj, 1); fl_set_slider_increment(obj, 10, 10); fdui->initial_plant = obj = fl_add_valslider(FL_HOR_BROWSER_SLIDER,35,100,200,20,"Number of Initial Plant Locations:"); fl_set_object_lsize(obj,FL_DEFAULT_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_slider_precision(obj, 0); fl_set_slider_bounds(obj, 0, 10000); fl_set_slider_value(obj, 1000); fl_set_slider_size(obj, 0.10); fl_set_slider_step(obj, 100); fl_set_slider_increment(obj, 100, 100); fdui->initial_flesh = obj = fl_add_valslider(FL_HOR_BROWSER_SLIDER,250,100,200,20,"Number of Initial Flesh Locations:"); fl_set_object_lsize(obj,FL_DEFAULT_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_slider_precision(obj, 0); fl_set_slider_bounds(obj, 0, 10000); fl_set_slider_value(obj, 1000); fl_set_slider_size(obj, 0.10); fl_set_slider_step(obj, 100); fl_set_slider_increment(obj, 100, 100); fdui->give_head_start = obj = fl_add_checkbutton(FL_PUSH_BUTTON,290,55,20,20,"Give A Head Start?"); fl_set_button(obj, 1); fdui->allow_asex = obj = fl_add_checkbutton(FL_PUSH_BUTTON,70,150,20,20,"Allow Asexual Reproduction?"); fl_set_button(obj, 1); fdui->allow_sex = obj = fl_add_checkbutton(FL_PUSH_BUTTON,70,130,20,20,"Allow Sexual Reproduction?"); fl_set_button(obj, 1); fl_end_group(); fdui->waste_decay_rate = obj = fl_add_valslider(FL_HOR_BROWSER_SLIDER,35,330,200,20,"Waste Decay Rate:"); fl_set_object_lsize(obj,FL_DEFAULT_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_slider_precision(obj, 0); fl_set_slider_bounds(obj, 0, 10000); fl_set_slider_value(obj, 20); fl_set_slider_size(obj, 0.10); fl_set_slider_step(obj, 5); fl_set_slider_increment(obj, 10, 10); fdui->poison_decay_rate = obj = fl_add_valslider(FL_HOR_BROWSER_SLIDER,250,330,200,20,"Poison Decay Rate:"); fl_set_object_lsize(obj,FL_DEFAULT_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_slider_precision(obj, 0); fl_set_slider_bounds(obj, 0, 10000); fl_set_slider_value(obj, 20); fl_set_slider_size(obj, 0.10); fl_set_slider_step(obj, 5); fl_set_slider_increment(obj, 10, 10); fl_end_form(); fdui->options->fdui = fdui; return fdui; }
static void g3d_create_genom_group(void) { int x, y, dy, w, h; FL_OBJECT *obj; obj = fl_add_labelframe(FL_ENGRAVED_FRAME, 5, 15, 140, 870, "Genom Requests"); GENOMGROUP = fl_bgn_group(); x= 15; y= 30; w= 120; h= 40; dy= h + 10; BT_SET_CARTESIAN = fl_add_button(FL_RADIO_BUTTON, x, y, w, h, "Set Cartesian"); fl_set_call_back(BT_SET_CARTESIAN, CB_set_cartesian, 1); fl_set_object_color(BT_SET_CARTESIAN,FL_MCOL,FL_GREEN); fl_set_button(BT_SET_CARTESIAN, FALSE); y+= dy; BT_GRAB_OBJECT = fl_add_button(FL_RADIO_BUTTON, x, y, w, h, "Grab Object"); fl_set_call_back(BT_GRAB_OBJECT, CB_grab_object, 1); fl_set_object_color(BT_GRAB_OBJECT,FL_MCOL,FL_GREEN); fl_set_button(BT_GRAB_OBJECT, FALSE); y+= dy; BT_RELEASE_OBJECT = fl_add_button(FL_RADIO_BUTTON, x, y, w, h, "Release Object"); fl_set_call_back(BT_RELEASE_OBJECT, CB_release_object, 1); fl_set_object_color(BT_RELEASE_OBJECT,FL_MCOL,FL_GREEN); fl_set_button(BT_RELEASE_OBJECT, FALSE); y+= dy; DELETE_GRAPHS = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Delete Graphs"); fl_set_call_back(DELETE_GRAPHS, CB_genomCleanRoadmap_obj, 1); y+= dy; BT_ARM_GOTO_Q_OBJ = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Arm Goto Q"); // BT_PLOT_Q_WRITE_FILE_OBJ= fl_add_button(FL_RADIO_BUTTON, x, y + 1*dy, w, h, "Write file and plot qi"); fl_set_call_back(BT_ARM_GOTO_Q_OBJ, CB_genomArmGotoQ_obj, 1); y+= dy; BT_ARM_EXTRACT_OBJ = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Arm Extract"); fl_set_call_back(BT_ARM_EXTRACT_OBJ, CB_genomArmExtract_obj, 1); y+= dy; BT_ARM_GOTO_X_OBJ = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Arm Goto X"); // BT_PLOT_Q_WRITE_FILE_OBJ= fl_add_button(FL_RADIO_BUTTON, x, y + 1*dy, w, h, "Write file and plot qi"); fl_set_call_back(BT_ARM_GOTO_X_OBJ, CB_genomArmGotoX_obj, 1); y+= dy; BT_FIND_GRASP_CONFIG_AND_COMP_TRAJ_OBJ = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Pick Up"); fl_set_call_back(BT_FIND_GRASP_CONFIG_AND_COMP_TRAJ_OBJ, CB_genomPickUp_gotoObject, 1); y+= dy; BT_PICK_UP_TAKE = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Take To Conf"); fl_set_call_back(BT_PICK_UP_TAKE, CB_genomPickUp_takeObject, 1); y+= dy; BT_PICK_UP_TAKE_XYZ = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Take To XYZ"); fl_set_call_back(BT_PICK_UP_TAKE_XYZ, CB_genomPickUp_takeObjectToXYZ, 1); y+= dy; BT_TAKE_TO_PLACE = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Take To Place"); fl_set_call_back(BT_TAKE_TO_PLACE, CB_genomTakeToPlace, 1); y+= dy; BT_PLACE = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Place From Free"); fl_set_call_back(BT_PLACE, CB_genomPlaceObject, 1); y+= dy; BT_ESCAPE_OBJECT = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Escape object"); fl_set_call_back(BT_ESCAPE_OBJECT, CB_genomEscapeObject, 1); y+= dy; BT_CONSTRUCTPRM = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Build PRM"); fl_set_call_back(BT_CONSTRUCTPRM, CB_genomArmComputePRM_obj, 0); y+= dy; BT_PLANVIAPOINTS = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Plan Via Conf traj"); fl_set_call_back(BT_PLANVIAPOINTS, CB_genomPlanTrajViaPoints, 0); y+= dy; BT_SEQUENCE = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Sequence"); fl_set_call_back(BT_SEQUENCE, CB_genomSequence, 0); #ifdef DPG y+= dy; BT_CHECKCOLONTRAJ = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Check Col Traj"); fl_set_call_back(BT_CHECKCOLONTRAJ, CB_checkColOnTraj, 0); y+= dy; BT_REPLANCOLTRAJ = fl_add_button(FL_NORMAL_BUTTON, x, y, w, h, "Replan Col Traj"); fl_set_call_back(BT_REPLANCOLTRAJ, CB_replanColTraj, 0); y+= dy; #endif fl_end_group(); }
FD_lte_phy_scope_enb *create_lte_phy_scope_enb( void ) { FL_OBJECT *obj; FD_lte_phy_scope_enb *fdui = fl_malloc( sizeof *fdui ); // Define form fdui->lte_phy_scope_enb = fl_bgn_form( FL_NO_BOX, 800, 600 ); // This the whole UI box obj = fl_add_box( FL_BORDER_BOX, 0, 0, 800, 600, "" ); fl_set_object_color( obj, FL_BLACK, FL_BLACK ); // Received signal fdui->rxsig_t = fl_add_xyplot( FL_NORMAL_XYPLOT, 20, 20, 370, 100, "Received Signal (Time-Domain, dB)" ); fl_set_object_boxtype( fdui->rxsig_t, FL_EMBOSSED_BOX ); fl_set_object_color( fdui->rxsig_t, FL_BLACK, FL_RED ); fl_set_object_lcolor( fdui->rxsig_t, FL_WHITE ); // Label color fl_set_xyplot_ybounds(fdui->rxsig_t,30,70); // Time-domain channel response fdui->chest_t = fl_add_xyplot( FL_NORMAL_XYPLOT, 410, 20, 370, 100, "Channel Impulse Response (samples, abs)" ); fl_set_object_boxtype( fdui->chest_t, FL_EMBOSSED_BOX ); fl_set_object_color( fdui->chest_t, FL_BLACK, FL_RED ); fl_set_object_lcolor( fdui->chest_t, FL_WHITE ); // Label color // Frequency-domain channel response fdui->chest_f = fl_add_xyplot( FL_IMPULSE_XYPLOT, 20, 140, 760, 100, "Channel Frequency Response (RE, dB)" ); fl_set_object_boxtype( fdui->chest_f, FL_EMBOSSED_BOX ); fl_set_object_color( fdui->chest_f, FL_BLACK, FL_RED ); fl_set_object_lcolor( fdui->chest_f, FL_WHITE ); // Label color fl_set_xyplot_ybounds( fdui->chest_f,30,70); // LLR of PUSCH fdui->pusch_llr = fl_add_xyplot( FL_POINTS_XYPLOT, 20, 260, 500, 200, "PUSCH Log-Likelihood Ratios (LLR, mag)" ); fl_set_object_boxtype( fdui->pusch_llr, FL_EMBOSSED_BOX ); fl_set_object_color( fdui->pusch_llr, FL_BLACK, FL_YELLOW ); fl_set_object_lcolor( fdui->pusch_llr, FL_WHITE ); // Label color fl_set_xyplot_symbolsize( fdui->pusch_llr,2); // I/Q PUSCH comp fdui->pusch_comp = fl_add_xyplot( FL_POINTS_XYPLOT, 540, 260, 240, 200, "PUSCH I/Q of MF Output" ); fl_set_object_boxtype( fdui->pusch_comp, FL_EMBOSSED_BOX ); fl_set_object_color( fdui->pusch_comp, FL_BLACK, FL_YELLOW ); fl_set_object_lcolor( fdui->pusch_comp, FL_WHITE ); // Label color fl_set_xyplot_symbolsize( fdui->pusch_comp,2); fl_set_xyplot_xgrid( fdui->pusch_llr,FL_GRID_MAJOR); // Throughput on PUSCH fdui->pusch_tput = fl_add_xyplot( FL_NORMAL_XYPLOT, 20, 480, 500, 100, "PUSCH Throughput [frame]/[kbit/s]" ); fl_set_object_boxtype( fdui->pusch_tput, FL_EMBOSSED_BOX ); fl_set_object_color( fdui->pusch_tput, FL_BLACK, FL_WHITE ); fl_set_object_lcolor( fdui->pusch_tput, FL_WHITE ); // Label color // Generic eNB Button fdui->button_0 = fl_add_button( FL_PUSH_BUTTON, 540, 480, 240, 40, "" ); fl_set_object_lalign(fdui->button_0, FL_ALIGN_CENTER ); fl_set_button(fdui->button_0,0); otg_enabled = 0; fl_set_object_label(fdui->button_0, "DL Traffic OFF"); fl_set_object_color(fdui->button_0, FL_RED, FL_RED); fl_set_object_callback(fdui->button_0, dl_traffic_on_off, 0 ); fl_end_form( ); fdui->lte_phy_scope_enb->fdui = fdui; return fdui; }
FD_main_frm *create_form_main_frm(void) { FL_OBJECT *obj; FD_main_frm *fdui = (FD_main_frm *) fl_calloc(1, sizeof(*fdui)); fdui->main_frm = fl_bgn_form(FL_NO_BOX, 1010, 710); obj = fl_add_box(FL_FLAT_BOX,0,0,1010,710,"Main form"); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_MCOL); fl_set_object_lalign(obj,FL_ALIGN_TOP); obj = fl_add_box(FL_ROUNDED_BOX,10,610,230,90,""); fl_set_object_color(obj,FL_DARKER_COL1,FL_COL1); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); obj = fl_add_box(FL_ROUNDED3D_DOWNBOX,5,5,850,600,""); fl_set_object_color(obj,FL_BLACK,FL_BLACK); fdui->sync_lbl = obj = fl_add_text(FL_NORMAL_TEXT,635,15,40,20,"sync"); fl_set_object_boxtype(obj,FL_ROUNDED_BOX); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->rec_lbl = obj = fl_add_text(FL_NORMAL_TEXT,720,15,40,20,"rec"); fl_set_object_boxtype(obj,FL_ROUNDED_BOX); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->pwr1_xyp = obj = fl_add_xyplot(FL_NORMAL_XYPLOT,20,45,300,110,"Power"); fl_set_object_color(obj,FL_BLACK,FL_RIGHT_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->pwr2_xyp = obj = fl_add_xyplot(FL_NORMAL_XYPLOT,330,45,300,110,"Power"); fl_set_object_color(obj,FL_BLACK,FL_RIGHT_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->rx2_lbl = obj = fl_add_text(FL_NORMAL_TEXT,345,10,80,40,"RX 2"); fl_set_object_color(obj,FL_BLACK,FL_MCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lsize(obj,FL_HUGE_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->noise1_xyp = obj = fl_add_xyplot(FL_NORMAL_XYPLOT,20,170,300,110,"N0/SNR"); fl_set_object_color(obj,FL_BLACK,FL_RIGHT_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->noise2_xyp = obj = fl_add_xyplot(FL_NORMAL_XYPLOT,330,170,300,110,"N0/SNR"); fl_set_object_color(obj,FL_BLACK,FL_RIGHT_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->ch11_xyp = obj = fl_add_xyplot(FL_NORMAL_XYPLOT,15,310,140,110,"CH TX1"); fl_set_object_color(obj,FL_BLACK,FL_RIGHT_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->ch12_xyp = obj = fl_add_xyplot(FL_NORMAL_XYPLOT,180,310,140,110,"CH TX2"); fl_set_object_color(obj,FL_BLACK,FL_RIGHT_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->ch13_xyp = obj = fl_add_xyplot(FL_NORMAL_XYPLOT,15,450,140,110,"CH TX3"); fl_set_object_color(obj,FL_BLACK,FL_RIGHT_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->ch14_xyp = obj = fl_add_xyplot(FL_NORMAL_XYPLOT,180,450,140,110,"CH TX4"); fl_set_object_color(obj,FL_BLACK,FL_RIGHT_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->ch21_xyp = obj = fl_add_xyplot(FL_NORMAL_XYPLOT,325,310,140,110,"CH TX1"); fl_set_object_color(obj,FL_BLACK,FL_RIGHT_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->ch22_xyp = obj = fl_add_xyplot(FL_NORMAL_XYPLOT,490,310,140,110,"CH TX2"); fl_set_object_color(obj,FL_BLACK,FL_RIGHT_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->ch23_xyp = obj = fl_add_xyplot(FL_NORMAL_XYPLOT,325,450,140,110,"CH TX3"); fl_set_object_color(obj,FL_BLACK,FL_RIGHT_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->ch24_xyp = obj = fl_add_xyplot(FL_NORMAL_XYPLOT,490,450,140,110,"CH TX4"); fl_set_object_color(obj,FL_BLACK,FL_RIGHT_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->error_lbl = obj = fl_add_text(FL_NORMAL_TEXT,680,15,40,20,"error"); fl_set_object_boxtype(obj,FL_ROUNDED_BOX); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->gps_lbl = obj = fl_add_text(FL_NORMAL_TEXT,640,65,60,30,"gps"); fl_set_object_boxtype(obj,FL_ROUNDED_BOX); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->date_lbl = obj = fl_add_text(FL_NORMAL_TEXT,655,130,170,30,"date: "); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->gps_lat_lbl = obj = fl_add_text(FL_NORMAL_TEXT,700,65,150,30,"lat: 0"); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->gps_lon_lbl = obj = fl_add_text(FL_NORMAL_TEXT,700,95,150,30,"lon: 0"); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->mode_lbl = obj = fl_add_text(FL_NORMAL_TEXT,640,160,90,20,"Mode: SGL"); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->idx_lbl = obj = fl_add_text(FL_NORMAL_TEXT,730,160,110,20,"Idx: "); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_RIGHT|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); obj = fl_add_box(FL_ROUNDED_BOX,460,610,140,90,""); fl_set_object_color(obj,FL_DARKCYAN,FL_COL1); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fdui->power_btn = obj = fl_add_button(FL_NORMAL_BUTTON,130,620,100,70,"PWR"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lsize(obj,FL_MEDIUM_SIZE); fl_set_object_callback(obj,power_callback,0); fdui->buffer_lbl = obj = fl_add_text(FL_NORMAL_TEXT,760,15,90,20,"Buffer: 100%"); fl_set_object_boxtype(obj,FL_ROUNDED_BOX); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->cap_xyp = obj = fl_add_xyplot(FL_NORMAL_XYPLOT,640,310,200,250,"Capacity"); fl_set_object_color(obj,FL_BLACK,FL_RIGHT_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_TOP); fdui->refresh_lbl = obj = fl_add_text(FL_NORMAL_TEXT,655,185,170,20,"Refresh interval: 1s"); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); obj = fl_add_box(FL_ROUNDED_BOX,860,90,140,220,""); fl_set_object_color(obj,FL_DARKER_COL1,FL_COL1); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fdui->refresh_dial = obj = fl_add_dial(FL_NORMAL_DIAL,890,110,80,70,"screen refresh rate"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_RIGHT_BCOL); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_object_callback(obj,refresh_callback,0); fl_set_dial_bounds(obj, 0, 5); fl_set_dial_angles(obj, 45, 315); fl_set_dial_value(obj, 1); fl_set_dial_step(obj, 1); fl_set_dial_return(obj, FL_RETURN_CHANGED); obj = fl_add_box(FL_ROUNDED_BOX,860,460,140,140,""); fl_set_object_color(obj,FL_INDIANRED,FL_COL1); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fdui->bler_lbl = obj = fl_add_text(FL_NORMAL_TEXT,650,210,180,20,"BLER:: 0"); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->n_recd_frames_lbl = obj = fl_add_text(FL_NORMAL_TEXT,650,235,180,20,"Rec'd frms: 0"); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->msg_text = obj = fl_add_text(FL_NORMAL_TEXT,25,570,810,30,""); fl_set_object_color(obj,FL_BLACK,FL_MCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); obj = fl_add_pixmapbutton(FL_NORMAL_BUTTON,860,5,140,70,""); fl_set_object_boxtype(obj,FL_ROUNDED_BOX); fl_set_object_color(obj,FL_WHITE,FL_YELLOW); fl_set_pixmapbutton_file(obj, "Eurecom_Logo.xpm"); fdui->rx1_lbl = obj = fl_add_text(FL_NORMAL_TEXT,35,10,80,40,"RX 1"); fl_set_object_color(obj,FL_BLACK,FL_MCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lsize(obj,FL_HUGE_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); obj = fl_add_box(FL_ROUNDED_BOX,610,610,180,90,""); fl_set_object_color(obj,FL_WHEAT,FL_COL1); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fdui->terminal_mode_btn = obj = fl_add_button(FL_NORMAL_BUTTON,635,620,130,20,"terminal mode"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_callback(obj,terminal_mode_callback,0); fdui->single_led = obj = fl_add_box(FL_EMBOSSED_BOX,640,650,10,10,"Single user"); fl_set_object_color(obj,FL_RIGHT_BCOL,FL_COL1); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_lalign(obj,FL_ALIGN_RIGHT); fdui->multi_led = obj = fl_add_box(FL_EMBOSSED_BOX,640,670,10,10,"Multi user"); fl_set_object_color(obj,FL_RIGHT_BCOL,FL_COL1); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_lalign(obj,FL_ALIGN_RIGHT); fdui->mmse_btn = obj = fl_add_button(FL_PUSH_BUTTON,480,655,100,20,"MMSE"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_callback(obj,rx_mode_button_callback,1); fdui->ml_btn = obj = fl_add_button(FL_PUSH_BUTTON,480,675,100,20,"ML"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_callback(obj,rx_mode_button_callback,2); fdui->cbmimo_lbl = obj = fl_add_text(FL_NORMAL_TEXT,665,40,70,20,"cbmimo"); fl_set_object_boxtype(obj,FL_ROUNDED_BOX); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->file_index_dial = obj = fl_add_dial(FL_NORMAL_DIAL,890,485,80,70,"file index"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_RIGHT_BCOL); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_object_callback(obj,file_index_callback,0); fl_set_dial_bounds(obj, 0, 100); fl_set_dial_angles(obj, 10, 350); fl_set_dial_value(obj, 0); fl_set_dial_step(obj, 10); obj = fl_add_button(FL_NORMAL_BUTTON,870,560,40,30,"+"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,file_index_callback,1); obj = fl_add_button(FL_NORMAL_BUTTON,950,560,40,30,"-"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,file_index_callback,-1); obj = fl_add_box(FL_ROUNDED_BOX,860,320,140,130,""); fl_set_object_color(obj,FL_PALEGREEN,FL_COL1); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fdui->num_sym_dial = obj = fl_add_dial(FL_NORMAL_DIAL,890,340,80,70,"number of symbols"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_RIGHT_BCOL); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_lalign(obj,FL_ALIGN_TOP); fl_set_dial_bounds(obj, 0, 5); fl_set_dial_angles(obj, 30, 360); fl_set_dial_value(obj, 0); fl_set_dial_step(obj, 0.5); fdui->fix_lbl = obj = fl_add_text(FL_NORMAL_TEXT,640,95,60,30,"NO"); fl_set_object_boxtype(obj,FL_ROUNDED_BOX); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); obj = fl_add_box(FL_ROUNDED_BOX,800,610,200,90,""); fl_set_object_color(obj,FL_INDIANRED,FL_COL1); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fdui->rec_btn = obj = fl_add_button(FL_PUSH_BUTTON,820,620,160,70,"Record"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_callback(obj,record_callback,0); fdui->exit_btn = obj = fl_add_button(FL_NORMAL_BUTTON,20,660,90,30,"exit"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_TOMATO,FL_COL1); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_callback(obj,exit_callback,0); fdui->config_btn = obj = fl_add_button(FL_NORMAL_BUTTON,20,620,90,30,"config"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_callback(obj,config_btn_callback,0); obj = fl_add_box(FL_ROUNDED_BOX,250,610,200,90,""); fl_set_object_color(obj,FL_PALEGREEN,FL_COL1); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fdui->terminal_btn1 = obj = fl_add_button(FL_PUSH_BUTTON,270,650,40,40,"CH1"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,terminal_button_callback,1); fdui->terminal_btn2 = obj = fl_add_button(FL_PUSH_BUTTON,310,650,40,40,"CH2"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,terminal_button_callback,2); fdui->terminal_btn3 = obj = fl_add_button(FL_PUSH_BUTTON,350,650,40,40,"MR1"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,terminal_button_callback,3); fdui->terminal_btn4 = obj = fl_add_button(FL_PUSH_BUTTON,390,650,40,40,"MR2"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,terminal_button_callback,4); obj = fl_add_text(FL_NORMAL_TEXT,300,620,110,20,"terminal number"); fl_set_object_color(obj,FL_PALEGREEN,FL_MCOL); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); obj = fl_add_button(FL_NORMAL_BUTTON,870,180,40,30,"+"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,refresh_callback,1); obj = fl_add_button(FL_NORMAL_BUTTON,950,180,40,30,"-"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fl_set_object_callback(obj,refresh_callback,-1); fdui->time_domain_btn = obj = fl_add_button(FL_PUSH_BUTTON,870,235,60,20,"time"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_callback(obj,time_freq_callback,0); fdui->freq_domain_btn = obj = fl_add_button(FL_PUSH_BUTTON,930,235,60,20,"freq"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_callback(obj,time_freq_callback,1); obj = fl_add_text(FL_NORMAL_TEXT,875,215,110,20,"channel display"); fl_set_object_color(obj,FL_DARKER_COL1,FL_MCOL); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fdui->refresh_timer = obj = fl_add_timer(FL_HIDDEN_TIMER,810,720,10,10,"timer"); fl_set_object_callback(obj,refresh_timer_callback,0); obj = fl_add_text(FL_NORMAL_TEXT,875,260,110,20,"N0/SNR"); fl_set_object_color(obj,FL_DARKER_COL1,FL_MCOL); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fdui->n0_btn = obj = fl_add_button(FL_PUSH_BUTTON,870,280,60,20,"N0"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_callback(obj,noise_snr_callback,0); fdui->snr_btn = obj = fl_add_button(FL_PUSH_BUTTON,930,280,60,20,"SNR"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_callback(obj,noise_snr_callback,1); fdui->num_sym_plus = obj = fl_add_button(FL_NORMAL_BUTTON,870,415,40,30,"+"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->num_sym_minus = obj = fl_add_button(FL_NORMAL_BUTTON,950,415,40,30,"-"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->rx_mode_lbl = obj = fl_add_text(FL_NORMAL_TEXT,650,260,180,20,"RX mode:"); fl_set_object_color(obj,FL_BLACK,FL_TOP_BCOL); fl_set_object_lcolor(obj,FL_RIGHT_BCOL); fl_set_object_lalign(obj,FL_ALIGN_CENTER|FL_ALIGN_INSIDE); fl_set_object_lstyle(obj,FL_BOLD_STYLE); fdui->single_btn = obj = fl_add_button(FL_PUSH_BUTTON,480,635,100,20,"SINGLE"); fl_set_object_boxtype(obj,FL_ROUNDED3D_UPBOX); fl_set_object_color(obj,FL_LIGHTER_COL1,FL_COL1); fl_set_object_lsize(obj,FL_TINY_SIZE); fl_set_object_callback(obj,rx_mode_button_callback,0); obj = fl_add_text(FL_NORMAL_TEXT,480,615,100,20,"receiver mode"); fl_set_object_boxtype(obj,FL_NO_BOX); fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE); fl_end_form(); fdui->main_frm->fdui = fdui; return fdui; }