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(); }
static void create_it( void ) { FL_OBJECT *text; if ( tip ) return; tip = fl_calloc( 1, sizeof *tip ); tip->fntstyle = FL_NORMAL_STYLE; tip->fntsize = FL_DEFAULT_SIZE; tip->boxtype = FL_BORDER_BOX; tip->lalign = fl_to_inside_lalign( FL_ALIGN_LEFT ); tip->textcolor = FL_BLACK; tip->background = FL_YELLOW; tip->tooltipper = fl_bgn_form( FL_NO_BOX, 5, 5 ); tip->text = text = fl_add_box( tip->boxtype, 0, 0, 5, 5, "" ); fl_set_object_bw( text, -1 ); fl_set_object_lstyle( text, tip->fntstyle ); fl_set_object_lsize( text, tip->fntsize ); fl_set_object_lcolor( text, tip->textcolor ); fl_set_object_lalign( text, tip->lalign ); fl_set_object_color( text, tip->background, tip->background ); fl_end_form( ); }
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_dialattrib * create_form_dialattrib( void ) { FL_OBJECT *obj; FD_dialattrib *fdui = ( FD_dialattrib * ) fl_malloc( sizeof *fdui ); int old_bw = fl_get_border_width( ); fl_set_border_width( -1 ); fdui->vdata = fdui->cdata = NULL; fdui->ldata = 0; fdui->dialattrib = fl_bgn_form( FL_NO_BOX, 540, 280 ); fdui->background = obj = fl_add_box( FL_FLAT_BOX, 0, 0, 540, 280, "" ); fdui->returnsetting = obj = fl_add_menu( FL_PULLDOWN_MENU, 305, 90, 138, 24, "Return Setting" ); fl_set_object_boxtype( obj, FL_UP_BOX ); fl_set_object_callback( obj, dial_returnsetting_change, 0 ); fdui->minval = obj = fl_add_input( FL_FLOAT_INPUT, 195, 45, 92, 24, "Dial Min" ); fl_set_object_lsize( obj, FL_NORMAL_SIZE ); fl_set_object_callback( obj, dial_minmax_change, 0 ); fdui->maxval = obj = fl_add_input( FL_FLOAT_INPUT, 195, 77, 92, 24, "DialMax" ); fl_set_object_lsize( obj, FL_NORMAL_SIZE ); fl_set_object_callback( obj, dial_minmax_change, 0 ); fdui->initialval = obj = fl_add_input( FL_FLOAT_INPUT, 195, 109, 92, 24, "Initial Value" ); fl_set_object_lsize( obj, FL_NORMAL_SIZE ); fl_set_object_callback( obj, dial_initialvalue_change, 0 ); fdui->step = obj = fl_add_input( FL_FLOAT_INPUT, 195, 141, 92, 24, "Dial Step" ); fl_set_object_lsize( obj, FL_NORMAL_SIZE ); fl_set_object_callback( obj, dial_stepchange_cb, 0 ); fdui->thetai = obj = fl_add_input( FL_FLOAT_INPUT, 195, 173, 92, 24, "Min. Angle" ); fl_set_object_lsize( obj, FL_NORMAL_SIZE ); fl_set_object_callback( obj, dial_thetachange_cb, 0 ); fdui->thetaf = obj = fl_add_input( FL_FLOAT_INPUT, 195, 205, 92, 24, "Max. Angle" ); fl_set_object_lsize( obj, FL_NORMAL_SIZE ); fl_set_object_callback( obj, dial_thetachange_cb, 1 ); fdui->dir = obj = fl_add_choice( FL_NORMAL_CHOICE2, 306, 155, 134, 25, "Direction" ); fl_set_object_lalign( obj, FL_ALIGN_TOP ); fl_set_object_callback( obj, dir_cb, 0 ); obj = fl_add_labelframe( FL_ENGRAVED_FRAME, 30, 15, 480, 240, "Dial Attributes" ); fl_set_object_lcolor( obj, FL_DARKVIOLET ); fl_set_object_lsize( obj, FL_MEDIUM_SIZE ); fl_set_object_lstyle( obj, FL_TIMESBOLD_STYLE + FL_EMBOSSED_STYLE ); fl_end_form( ); fdui->dialattrib->fdui = fdui; fl_set_border_width( old_bw ); 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 fl_set_tooltip_color( FL_COLOR tc, FL_COLOR bc ) { create_it( ); fl_set_object_lcolor( tip->text, tip->textcolor = tc ); tip->background = bc; fl_set_object_color( tip->text, tip->background, tip->background ); }
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(); }
void create_form_Example(void) { FL_OBJECT *obj; if (Example) return; Example = fl_bgn_form(FL_NO_BOX,340,130); obj = fl_add_box(FL_UP_BOX,0,0,340,130,""); fl_set_object_lsize(obj,11); VelocitySlider = obj = fl_add_slider(FL_HOR_SLIDER,10,60,320,30,"Velocity"); fl_set_object_lsize(obj,FL_LARGE_SIZE); fl_set_object_callback(obj,VelocityProc,0); obj = fl_add_text(FL_NORMAL_TEXT,10,10,320,30,"EXAMPLE"); 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_NORMAL_STYLE+FL_ENGRAVED_STYLE); fl_end_form(); }
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(); }
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; }
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(); }
FD_main_frm * create_form_main_frm( void ) { FL_OBJECT *obj; FD_main_frm *fdui = fl_malloc( sizeof *fdui ); fdui->vdata = fdui->cdata = NULL; fdui->ldata = 0; 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_sec0_xyp = obj = fl_add_xyplot( FL_NORMAL_XYPLOT, 10, 325, 140, 110, "CH 11" ); 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_sec0_xyp = obj = fl_add_xyplot( FL_NORMAL_XYPLOT, 145, 325, 140, 110, "CH 12" ); 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_sec0_xyp = obj = fl_add_xyplot( FL_NORMAL_XYPLOT, 10, 455, 140, 110, "CH 21" ); 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_sec0_xyp = obj = fl_add_xyplot( FL_NORMAL_XYPLOT, 145, 455, 140, 110, "CH 22" ); 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_sec1_xyp = obj = fl_add_xyplot( FL_NORMAL_XYPLOT, 290, 325, 140, 110, "CH 11" ); 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_sec1_xyp = obj = fl_add_xyplot( FL_NORMAL_XYPLOT, 430, 325, 140, 110, "CH 12" ); 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_sec1_xyp = obj = fl_add_xyplot( FL_NORMAL_XYPLOT, 290, 455, 140, 110, "CH 21" ); 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_sec1_xyp = obj = fl_add_xyplot( FL_NORMAL_XYPLOT, 430, 455, 140, 110, "CH 22" ); 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, 120, 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_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_lstyle( obj, FL_BOLD_STYLE ); fdui->idx_lbl = obj = fl_add_text( FL_NORMAL_TEXT, 685, 150, 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_CENTER | FL_ALIGN_INSIDE ); fl_set_object_lstyle( obj, FL_BOLD_STYLE ); obj = fl_add_box( FL_ROUNDED_BOX, 485, 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_lalign( obj, FL_ALIGN_CENTER ); 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->refresh_lbl = obj = fl_add_text( FL_NORMAL_TEXT, 655, 175, 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_object_return( obj, FL_RETURN_CHANGED ); 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 ); obj = fl_add_box( FL_ROUNDED_BOX, 860, 528, 137, 72, "" ); 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, 200, 180, 20, "BLER:" ); 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, 225, 180, 20, "Rec'd frms:" ); 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 ); 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 ); fdui->alamouti_btn = obj = fl_add_button( FL_PUSH_BUTTON, 505, 655, 100, 20, "2: ALAMOUTI" ); 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_lalign( obj, FL_ALIGN_CENTER ); fl_set_object_callback( obj, rx_mode_button_callback, 2 ); fdui->precoding_btn = obj = fl_add_button( FL_PUSH_BUTTON, 505, 675, 100, 20, "6: PRECODING" ); 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_lalign( obj, FL_ALIGN_CENTER ); fl_set_object_callback( obj, rx_mode_button_callback, 6 ); 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->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_NORMAL_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_lalign( obj, FL_ALIGN_CENTER ); 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_lalign( obj, FL_ALIGN_CENTER ); 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_lalign( obj, FL_ALIGN_CENTER ); fl_set_object_callback( obj, config_btn_callback, 0 ); 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_lalign( obj, FL_ALIGN_CENTER ); 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_lalign( obj, FL_ALIGN_CENTER ); 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_lalign( obj, FL_ALIGN_CENTER ); 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_lalign( obj, FL_ALIGN_CENTER ); 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_lalign( obj, FL_ALIGN_CENTER ); 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_lalign( obj, FL_ALIGN_CENTER ); fl_set_object_callback( obj, noise_snr_callback, 1 ); fdui->rx_mode_lbl = obj = fl_add_text( FL_NORMAL_TEXT, 650, 250, 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->siso_btn = obj = fl_add_button( FL_PUSH_BUTTON, 505, 635, 100, 20, "1: SISO" ); 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_lalign( obj, FL_ALIGN_CENTER ); fl_set_object_callback( obj, rx_mode_button_callback, 1 ); obj = fl_add_text( FL_NORMAL_TEXT, 505, 615, 100, 20, "TX mode" ); fl_set_object_boxtype( obj, FL_NO_BOX ); fl_set_object_lalign( obj, FL_ALIGN_CENTER | FL_ALIGN_INSIDE ); fdui->ch11_sec2_xyp = obj = fl_add_xyplot( FL_NORMAL_XYPLOT, 570, 325, 140, 110, "CH 11" ); 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_sec2_xyp = obj = fl_add_xyplot( FL_NORMAL_XYPLOT, 710, 325, 140, 110, "CH 12" ); 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_sec2_xyp = obj = fl_add_xyplot( FL_NORMAL_XYPLOT, 570, 455, 140, 110, "CH 21" ); 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_sec2_xyp = obj = fl_add_xyplot( FL_NORMAL_XYPLOT, 710, 455, 140, 110, "CH 22" ); 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->sec0_lbl = obj = fl_add_text( FL_NORMAL_TEXT, 85, 285, 140, 20, "Sector 0" ); fl_set_object_color( obj, FL_BLACK, FL_BLACK ); fl_set_object_lcolor( obj, FL_RIGHT_BCOL ); fl_set_object_lsize( obj, FL_MEDIUM_SIZE ); fl_set_object_lalign( obj, FL_ALIGN_CENTER | FL_ALIGN_INSIDE ); fdui->sec1_lbl = obj = fl_add_text( FL_NORMAL_TEXT, 380, 285, 140, 20, "Sector 1" ); fl_set_object_color( obj, FL_BLACK, FL_BLACK ); fl_set_object_lcolor( obj, FL_RIGHT_BCOL ); fl_set_object_lsize( obj, FL_MEDIUM_SIZE ); fl_set_object_lalign( obj, FL_ALIGN_CENTER | FL_ALIGN_INSIDE ); fdui->sec2_lbl = obj = fl_add_text( FL_NORMAL_TEXT, 650, 285, 140, 20, "Sector 2" ); fl_set_object_color( obj, FL_BLACK, FL_BLACK ); fl_set_object_lcolor( obj, FL_RIGHT_BCOL ); fl_set_object_lsize( obj, FL_MEDIUM_SIZE ); fl_set_object_lalign( obj, FL_ALIGN_CENTER | FL_ALIGN_INSIDE ); obj = fl_add_box( FL_ROUNDED_BOX, 250, 610, 130, 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, 265, 650, 40, 40, "eNb" ); fl_set_object_boxtype( obj, FL_ROUNDED3D_UPBOX ); fl_set_object_color( obj, FL_LIGHTER_COL1, FL_COL1 ); fl_set_object_lalign( obj, FL_ALIGN_CENTER ); fl_set_object_lstyle( obj, FL_BOLD_STYLE ); fl_set_object_callback( obj, terminal_button_callback, 1 ); fdui->terminal_btn3 = obj = fl_add_button( FL_PUSH_BUTTON, 320, 650, 40, 40, "UE" ); fl_set_object_boxtype( obj, FL_ROUNDED3D_UPBOX ); fl_set_object_color( obj, FL_LIGHTER_COL1, FL_COL1 ); fl_set_object_lalign( obj, FL_ALIGN_CENTER ); fl_set_object_lstyle( obj, FL_BOLD_STYLE ); fl_set_object_callback( obj, terminal_button_callback, 3 ); obj = fl_add_text( FL_NORMAL_TEXT, 260, 620, 110, 20, "terminal type" ); fl_set_object_color( obj, FL_PALEGREEN, FL_MCOL ); fl_set_object_lalign( obj, FL_ALIGN_CENTER | FL_ALIGN_INSIDE ); obj = fl_add_box( FL_ROUNDED_BOX, 630, 610, 160, 90, "" ); fl_set_object_color( obj, FL_WHEAT, FL_COL1 ); fl_set_object_lalign( obj, FL_ALIGN_LEFT | FL_ALIGN_INSIDE ); obj = fl_add_button( FL_NORMAL_BUTTON, 645, 660, 90, 30, "Checkpoint" ); 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_lalign( obj, FL_ALIGN_CENTER ); fl_set_object_callback( obj, checkpoint_callback, 0 ); obj = fl_add_button( FL_NORMAL_BUTTON, 740, 620, 40, 30, "+" ); fl_set_object_boxtype( obj, FL_ROUNDED3D_UPBOX ); fl_set_object_color( obj, FL_LIGHTER_COL1, FL_COL1 ); fl_set_object_lalign( obj, FL_ALIGN_CENTER ); fl_set_object_lstyle( obj, FL_BOLD_STYLE ); fl_set_object_callback( obj, checkpoint_callback, 1 ); obj = fl_add_button( FL_NORMAL_BUTTON, 740, 660, 40, 30, "-" ); fl_set_object_boxtype( obj, FL_ROUNDED3D_UPBOX ); fl_set_object_color( obj, FL_LIGHTER_COL1, FL_COL1 ); fl_set_object_lalign( obj, FL_ALIGN_CENTER ); fl_set_object_lstyle( obj, FL_BOLD_STYLE ); fl_set_object_callback( obj, checkpoint_callback, -1 ); fdui->next_cp = obj = fl_add_text( FL_NORMAL_TEXT, 650, 625, 90, 20, "Next CP: 1" ); fl_set_object_color( obj, FL_WHEAT, FL_MCOL ); obj = fl_add_box( FL_ROUNDED_BOX, 860, 320, 142, 199, "" ); fl_set_object_color( obj, FL_PALEGREEN, FL_COL1 ); fdui->rf_gain_txt = obj = fl_add_input( FL_NORMAL_INPUT, 925, 340, 60, 20, "RF gain" ); fl_set_object_lsize( obj, FL_TINY_SIZE ); fl_set_object_callback( obj, input_callback, 0 ); fl_set_object_return( obj, FL_RETURN_END_CHANGED ); fdui->digital_gain_txt = obj = fl_add_input( FL_NORMAL_INPUT, 925, 374, 60, 20, "digital gain" ); fl_set_object_lsize( obj, FL_TINY_SIZE ); fl_set_object_callback( obj, input_callback, 0 ); fl_set_object_return( obj, FL_RETURN_END_CHANGED ); fdui->rf_mode_txt = obj = fl_add_input( FL_NORMAL_INPUT, 925, 409, 60, 20, "RF mode" ); fl_set_object_lsize( obj, FL_TINY_SIZE ); fl_set_object_callback( obj, input_callback, 0 ); fl_set_object_return( obj, FL_RETURN_END_CHANGED ); obj = fl_add_box( FL_ROUNDED_BOX, 390, 610, 90, 90, "" ); fl_set_object_color( obj, FL_DARKCYAN, FL_COL1 ); fl_set_object_lalign( obj, FL_ALIGN_LEFT | FL_ALIGN_INSIDE ); fdui->la_btn = obj = fl_add_lightbutton( FL_PUSH_BUTTON, 405, 645, 60, 40, "LA" ); fl_set_object_callback( obj, link_adpt_callback, 0 ); fl_set_button( obj, 1 ); obj = fl_add_text( FL_NORMAL_TEXT, 400, 620, 70, 20, "link adpt." ); fl_set_object_color( obj, FL_DARKCYAN, FL_MCOL ); fdui->label_input = obj = fl_add_input( FL_NORMAL_INPUT, 880, 569, 100, 20, "" ); fl_set_object_lsize( obj, FL_TINY_SIZE ); fl_set_object_lalign( obj, FL_ALIGN_TOP ); fl_set_object_callback( obj, label_callback, 0 ); fl_set_object_return( obj, FL_RETURN_END_CHANGED ); fdui->label_button = obj = fl_add_checkbutton( FL_PUSH_BUTTON, 877, 539, 60, 30, "manual label" ); fl_set_object_callback( obj, label_btn_callback, 0 ); fdui->freq_txt = obj = fl_add_input( FL_NORMAL_INPUT, 925, 444, 60, 20, "frequency" ); fl_set_object_lsize( obj, FL_TINY_SIZE ); fl_set_object_callback( obj, input_callback, 0 ); fl_set_object_return( obj, FL_RETURN_END_CHANGED ); fdui->tcxo_txt = obj = fl_add_input( FL_NORMAL_INPUT, 925, 479, 60, 20, "TCXO" ); fl_set_object_lsize( obj, FL_TINY_SIZE ); fl_set_object_callback( obj, input_callback, 0 ); fl_set_object_return( obj, FL_RETURN_END_CHANGED ); fl_end_form( ); fdui->main_frm->fdui = fdui; return fdui; }