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();
}
Example #4
0
void
counter_reread_spec_form( FL_OBJECT * obj )
{
    double r1, r2;

    if (    get_checked_float( fl_get_input( cnt_attrib->minval ), &r1 )
         && get_checked_float( fl_get_input( cnt_attrib->maxval ), &r2 ) )
        fl_set_counter_bounds( obj, r1, r2 );

    if ( get_checked_float( fl_get_input( cnt_attrib->initialval ), &r1 ) )
         fl_set_counter_value( obj, r1 );

    if (    get_checked_float( fl_get_input( cnt_attrib->step1 ), &r1 )
         && get_checked_float( fl_get_input( cnt_attrib->step2 ), &r2 ) )
        fl_set_counter_step( obj, r1, r2 );

    redraw_the_form( 0 );
}
Example #5
0
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;
}
Example #6
0
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;
}