예제 #1
0
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;
}
예제 #2
0
/* -------------------- 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();
}
예제 #3
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;
}
예제 #4
0
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();
}