void cnt_precision_cb( FL_OBJECT * obj, long data FL_UNUSED_ARG ) { fl_set_counter_precision( curobj, fl_get_counter_value( obj ) ); redraw_the_form( 0 ); }
static void g3d_create_ndraw_counter(void){ g3d_create_counter(&NDRAW_COUNTER,FL_SIMPLE_COUNTER,50,15,"ndraw",(void**)&PATH_DEFORM_FORM,1); fl_set_counter_value(NDRAW_COUNTER, 100); fl_set_counter_bounds(NDRAW_COUNTER, 1,(double)p3d_get_nretract()); fl_set_counter_precision(NDRAW_COUNTER, 0); fl_set_counter_step(NDRAW_COUNTER, 1, 10); fl_set_call_back(NDRAW_COUNTER,CB_ndraw_counter,0); }
static void g3d_create_dof2_counter(void){ p3d_rob *robotPt; robotPt = (p3d_rob*) p3d_get_desc_curid(P3D_ROBOT); g3d_create_counter(&DOF2_COUNTER,FL_SIMPLE_COUNTER,50,15,"dof2",(void**)&PATH_DEFORM_FORM,1); fl_set_counter_precision(DOF2_COUNTER, 0); fl_set_counter_bounds(DOF2_COUNTER, 0, robotPt->nb_user_dof-1); fl_set_counter_step(DOF2_COUNTER, 1, 1); fl_set_counter_value (DOF2_COUNTER, p3d_get_dof2()); fl_set_object_callback(DOF2_COUNTER,CB_dof2_counter,0); }
static void g3d_create_node_frame(void){ char buffer[10]; g3d_create_frame(&NODE_FRAME,FL_NO_FRAME,120,-1,"",(void**)&PATH_DEFORM_FORM,1); //add Node g3d_create_button(&ADD_NODE_BUTTON,FL_NORMAL_BUTTON,55,20,"Add Node",(void**)&NODE_FRAME,0); fl_set_call_back(ADD_NODE_BUTTON,CB_add_node_button,0); //Last Node g3d_create_button(&LAST_NODE_BUTTON,FL_NORMAL_BUTTON,55,20,"Last Node",(void**)&NODE_FRAME,0); fl_set_call_back(LAST_NODE_BUTTON,CB_last_node_button,0); //Replot g3d_create_button(&REPLOT_BUTTON,FL_NORMAL_BUTTON,55,20,"Replot",(void**)&NODE_FRAME,0); fl_set_call_back(REPLOT_BUTTON,CB_replot_button,0); //Clear g3d_create_button(&CLEAR_BUTTON,FL_NORMAL_BUTTON,55,20,"Clear",(void**)&NODE_FRAME,0); fl_set_call_back(CLEAR_BUTTON,CB_clear_button,0); //Node counter g3d_create_counter(&NODE_COUNTER,FL_NORMAL_COUNTER,100,20,"Node",(void**)&NODE_FRAME,0); fl_set_counter_value(NODE_COUNTER, 0); if(XYZ_GRAPH != NULL) { fl_set_counter_bounds(NODE_COUNTER, 0, (double)( XYZ_GRAPH->nnode -1)); } else { fl_set_counter_bounds(NODE_COUNTER, 0, 0); } fl_set_counter_step(NODE_COUNTER, 1, 10); fl_set_counter_precision(NODE_COUNTER, 0); fl_set_call_back(NODE_COUNTER,CB_node_counter,0); //Plot all Check box g3d_create_checkbutton(&PLOT_ALL_CHECKB,FL_PUSH_BUTTON,-1,20,"Plot all",(void**)&NODE_FRAME,0); fl_set_object_color(PLOT_ALL_CHECKB,FL_MCOL,FL_GREEN); fl_set_call_back(PLOT_ALL_CHECKB,CB_plot_all_checkb,0); if (FLAG_IS_ALLPLOT) fl_set_button(PLOT_ALL_CHECKB,1); //Plot all input g3d_create_input(&PLOT_ALL_INPUT,FL_NORMAL_INPUT,40,20,"",(void**)&NODE_FRAME,0); sprintf(buffer, "%d", p3d_get_Nstep()); fl_set_input(PLOT_ALL_INPUT, buffer); fl_set_call_back(PLOT_ALL_INPUT,CB_plot_all_input,0); //Filter graph g3d_create_checkbutton(&FILTER_GRAPH_CHECKB,FL_PUSH_BUTTON,-1,20,"Filter graph",(void**)&NODE_FRAME,0); fl_set_object_color(FILTER_GRAPH_CHECKB,FL_MCOL,FL_GREEN); fl_set_call_back(FILTER_GRAPH_CHECKB,CB_filter_graph_checkb,0); if (p3d_get_show_cycle_only()) fl_set_button(FILTER_GRAPH_CHECKB,1); //Retract strat frame g3d_create_retract_strat_frame(); }
FL_FORM * counter_create_spec_form( void ) { if ( cnt_attrib ) return cnt_attrib->counterattrib; cnt_attrib = create_form_counterattrib( ); setup_how_return_menu( cnt_attrib->returnsetting ); fl_set_menu_item_mode( cnt_attrib->returnsetting, 5, FL_PUP_BOX | FL_PUP_GRAY ); fl_set_menu_item_mode( cnt_attrib->returnsetting, 6, FL_PUP_BOX | FL_PUP_GRAY ); fl_set_counter_precision( cnt_attrib->prec, 0 ); fl_set_counter_step( cnt_attrib->prec, 1, 2 ); fl_set_counter_bounds( cnt_attrib->prec, 0, DBL_DIG ); return cnt_attrib->counterattrib; }
FD_xyplotattrib * create_form_xyplotattrib( void ) { FL_OBJECT *obj; FD_xyplotattrib *fdui = ( FD_xyplotattrib * ) 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->xyplotattrib = fl_bgn_form( FL_NO_BOX, 520, 270 ); obj = fl_add_box( FL_FLAT_BOX, 0, 0, 520, 270, "" ); obj = fl_add_labelframe( FL_ENGRAVED_FRAME, 10, 20, 500, 240, "XYPlot Attributes" ); fl_set_object_lsize( obj, FL_NORMAL_SIZE ); fl_set_object_lstyle( obj, FL_BOLD_STYLE ); fdui->xgrid = obj = fl_add_choice( FL_NORMAL_CHOICE2, 70, 60, 85, 23, "XGrid" ); fl_set_object_callback( obj, grid_change_cb, 0 ); fdui->ygrid = obj = fl_add_choice( FL_NORMAL_CHOICE2, 70, 90, 85, 23, "YGrid" ); fl_set_object_callback( obj, grid_change_cb, 0 ); fdui->xscale = obj = fl_add_choice( FL_NORMAL_CHOICE2, 70, 170, 85, 23, "XScale" ); fl_set_object_callback( obj, xscale_change_cb, 0 ); fdui->yscale = obj = fl_add_choice( FL_NORMAL_CHOICE2, 70, 210, 85, 23, "YScale" ); fl_set_object_callback( obj, yscale_change_cb, 0 ); fdui->ymajor = obj = fl_add_counter( FL_NORMAL_COUNTER, 370, 160, 115, 20, "YMajor" ); fl_set_object_callback( obj, ymajorminor_change_cb, 0 ); fl_set_counter_precision( obj, 0 ); fl_set_counter_bounds( obj, -1, 20 ); fl_set_counter_value( obj, 1 ); fl_set_counter_step( obj, 1, 2 ); fdui->yminor = obj = fl_add_counter( FL_NORMAL_COUNTER, 370, 200, 115, 20, "YMinor" ); fl_set_object_callback( obj, ymajorminor_change_cb, 0 ); fl_set_counter_precision( obj, 0 ); fl_set_counter_bounds( obj, 0, 10 ); fl_set_counter_value( obj, 1 ); fl_set_counter_step( obj, 1, 2 ); fdui->xmajor = obj = fl_add_counter( FL_NORMAL_COUNTER, 370, 70, 115, 20, "XMajor" ); fl_set_object_callback( obj, xmajorminor_change_cb, 0 ); fl_set_counter_precision( obj, 0 ); fl_set_counter_bounds( obj, -1, 20 ); fl_set_counter_value( obj, 1 ); fl_set_counter_step( obj, 1, 2 ); fdui->xminor = obj = fl_add_counter( FL_NORMAL_COUNTER, 370, 110, 115, 20, "XMinor" ); fl_set_object_callback( obj, xmajorminor_change_cb, 0 ); fl_set_counter_precision( obj, 0 ); fl_set_counter_bounds( obj, 0, 10 ); fl_set_counter_value( obj, 1 ); fl_set_counter_step( obj, 1, 2 ); fdui->xbase = obj = fl_add_input( FL_FLOAT_INPUT, 160, 170, 39, 23, "xbase" ); fl_set_object_lalign( obj, FL_ALIGN_RIGHT ); fl_set_object_callback( obj, xscale_change_cb, 0 ); fdui->ybase = obj = fl_add_input( FL_FLOAT_INPUT, 158, 210, 39, 23, "ybase" ); fl_set_object_lalign( obj, FL_ALIGN_RIGHT ); fl_set_object_callback( obj, yscale_change_cb, 0 ); fdui->how_return = obj = fl_add_menu( FL_PULLDOWN_MENU, 193, 29, 150, 22, "Return Setting" ); fl_set_object_boxtype( obj, FL_UP_BOX ); fl_set_object_callback( obj, xyplot_returnsetting_change, 0 ); fdui->gridstyle = obj = fl_add_choice( FL_NORMAL_CHOICE2, 70, 120, 85, 23, "Style" ); fl_set_object_callback( obj, gridstyle_change_cb, 0 ); fdui->mark_active = obj = fl_add_checkbutton( FL_PUSH_BUTTON, 230, 80, 100, 25, "MarkActive" ); fl_set_object_callback( obj, markactive_change_cb, 0 ); fl_end_form( ); fdui->xyplotattrib->fdui = fdui; fl_set_border_width( old_bw ); return fdui; }