00001
00002
00003
00004
00005
00007
00008 #include "interactive_manipulation_ui.h"
00009
00011
00012 AdvancedOptionsDialogBase::AdvancedOptionsDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
00013 {
00014 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
00015
00016 wxBoxSizer* bSizer11;
00017 bSizer11 = new wxBoxSizer( wxVERTICAL );
00018
00019 wxBoxSizer* bSizer12;
00020 bSizer12 = new wxBoxSizer( wxHORIZONTAL );
00021
00022 reactive_grasping_box_ = new wxCheckBox( this, wxID_ANY, wxT("reactive grasping"), wxDefaultPosition, wxDefaultSize, 0 );
00023 bSizer12->Add( reactive_grasping_box_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00024
00025
00026 bSizer12->Add( 0, 0, 1, wxEXPAND, 5 );
00027
00028 adv_text_1_ = new wxStaticText( this, wxID_ANY, wxT("Try to lift after grasp"), wxDefaultPosition, wxDefaultSize, 0 );
00029 adv_text_1_->Wrap( -1 );
00030 bSizer12->Add( adv_text_1_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00031
00032 lift_distance_spin_ = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 50,-1 ), wxSP_ARROW_KEYS, 0, 10, 0 );
00033 bSizer12->Add( lift_distance_spin_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00034
00035 adv_text_2_ = new wxStaticText( this, wxID_ANY, wxT("cm"), wxDefaultPosition, wxDefaultSize, 0 );
00036 adv_text_2_->Wrap( -1 );
00037 bSizer12->Add( adv_text_2_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00038
00039 bSizer11->Add( bSizer12, 1, wxEXPAND, 5 );
00040
00041 wxBoxSizer* bSizer16;
00042 bSizer16 = new wxBoxSizer( wxHORIZONTAL );
00043
00044 reactive_transport_box_ = new wxCheckBox( this, wxID_ANY, wxT("reactive transport"), wxDefaultPosition, wxDefaultSize, 0 );
00045 bSizer16->Add( reactive_transport_box_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00046
00047
00048 bSizer16->Add( 0, 0, 1, wxEXPAND, 5 );
00049
00050 adv_text_3_ = new wxStaticText( this, wxID_ANY, wxT("Try to retreat after place"), wxDefaultPosition, wxDefaultSize, 0 );
00051 adv_text_3_->Wrap( -1 );
00052 bSizer16->Add( adv_text_3_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00053
00054 retreat_distance_spin_ = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 50,-1 ), wxSP_ARROW_KEYS, 0, 10, 0 );
00055 bSizer16->Add( retreat_distance_spin_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00056
00057 adv_text_4_ = new wxStaticText( this, wxID_ANY, wxT("cm"), wxDefaultPosition, wxDefaultSize, 0 );
00058 adv_text_4_->Wrap( -1 );
00059 bSizer16->Add( adv_text_4_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00060
00061 bSizer11->Add( bSizer16, 1, wxEXPAND, 5 );
00062
00063 wxBoxSizer* bSizer17;
00064 bSizer17 = new wxBoxSizer( wxHORIZONTAL );
00065
00066 reactive_place_box_ = new wxCheckBox( this, wxID_ANY, wxT("reactive place"), wxDefaultPosition, wxDefaultSize, 0 );
00067 bSizer17->Add( reactive_place_box_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00068
00069
00070 bSizer17->Add( 0, 0, 1, wxEXPAND, 5 );
00071
00072 adv_text_5_ = new wxStaticText( this, wxID_ANY, wxT("Lift / place"), wxDefaultPosition, wxDefaultSize, 0 );
00073 adv_text_5_->Wrap( -1 );
00074 bSizer17->Add( adv_text_5_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00075
00076 wxString lift_direction_choice_Choices[] = { wxT("vertically"), wxT("along approach direction") };
00077 int lift_direction_choice_NChoices = sizeof( lift_direction_choice_Choices ) / sizeof( wxString );
00078 lift_direction_choice_ = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, lift_direction_choice_NChoices, lift_direction_choice_Choices, 0 );
00079 lift_direction_choice_->SetSelection( 0 );
00080 lift_direction_choice_->SetMinSize( wxSize( 150,-1 ) );
00081
00082 bSizer17->Add( lift_direction_choice_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00083
00084 bSizer11->Add( bSizer17, 1, wxEXPAND, 5 );
00085
00086 wxBoxSizer* bSizer19;
00087 bSizer19 = new wxBoxSizer( wxHORIZONTAL );
00088
00089 m_staticText11 = new wxStaticText( this, wxID_ANY, wxT("Desired approach distance for grasp"), wxDefaultPosition, wxDefaultSize, 0 );
00090 m_staticText11->Wrap( -1 );
00091 bSizer19->Add( m_staticText11, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00092
00093
00094 bSizer19->Add( 0, 0, 1, wxEXPAND, 5 );
00095
00096 desired_grasp_approach_spin_ = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 30, 0 );
00097 bSizer19->Add( desired_grasp_approach_spin_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00098
00099 m_staticText13 = new wxStaticText( this, wxID_ANY, wxT("cm"), wxDefaultPosition, wxDefaultSize, 0 );
00100 m_staticText13->Wrap( -1 );
00101 bSizer19->Add( m_staticText13, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00102
00103 bSizer11->Add( bSizer19, 1, wxEXPAND, 5 );
00104
00105 wxBoxSizer* bSizer21;
00106 bSizer21 = new wxBoxSizer( wxHORIZONTAL );
00107
00108 m_staticText12 = new wxStaticText( this, wxID_ANY, wxT("Minimum approach distance for grasp"), wxDefaultPosition, wxDefaultSize, 0 );
00109 m_staticText12->Wrap( -1 );
00110 bSizer21->Add( m_staticText12, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00111
00112
00113 bSizer21->Add( 0, 0, 1, wxEXPAND, 5 );
00114
00115 min_grasp_approach_spin_ = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 30, 0 );
00116 bSizer21->Add( min_grasp_approach_spin_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00117
00118 m_staticText14 = new wxStaticText( this, wxID_ANY, wxT("cm"), wxDefaultPosition, wxDefaultSize, 0 );
00119 m_staticText14->Wrap( -1 );
00120 bSizer21->Add( m_staticText14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00121
00122 bSizer11->Add( bSizer21, 1, wxEXPAND, 5 );
00123
00124 wxBoxSizer* bSizer211;
00125 bSizer211 = new wxBoxSizer( wxHORIZONTAL );
00126
00127 m_staticText121 = new wxStaticText( this, wxID_ANY, wxT("Max contact force for grasp"), wxDefaultPosition, wxDefaultSize, 0 );
00128 m_staticText121->Wrap( -1 );
00129 bSizer211->Add( m_staticText121, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00130
00131
00132 bSizer211->Add( 0, 0, 1, wxEXPAND, 5 );
00133
00134 max_contact_force_spin_ = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 100, 50 );
00135 bSizer211->Add( max_contact_force_spin_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00136
00137 m_staticText141 = new wxStaticText( this, wxID_ANY, wxT("N"), wxDefaultPosition, wxDefaultSize, 0 );
00138 m_staticText141->Wrap( -1 );
00139 bSizer211->Add( m_staticText141, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00140
00141 bSizer11->Add( bSizer211, 1, wxEXPAND, 5 );
00142
00143 wxBoxSizer* bSizer13;
00144 bSizer13 = new wxBoxSizer( wxHORIZONTAL );
00145
00146 set_defaults_button_ = new wxButton( this, wxID_ANY, wxT("Set defaults"), wxDefaultPosition, wxDefaultSize, 0 );
00147 bSizer13->Add( set_defaults_button_, 0, wxALL, 5 );
00148
00149
00150 bSizer13->Add( 0, 0, 1, wxEXPAND, 5 );
00151
00152 accept_button_ = new wxButton( this, wxID_OK, wxT("Accept"), wxDefaultPosition, wxDefaultSize, 0 );
00153 bSizer13->Add( accept_button_, 0, wxALL, 5 );
00154
00155 cancel_button_ = new wxButton( this, wxID_CANCEL, wxT("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
00156 bSizer13->Add( cancel_button_, 0, wxALL, 5 );
00157
00158 bSizer11->Add( bSizer13, 1, wxEXPAND, 5 );
00159
00160 this->SetSizer( bSizer11 );
00161 this->Layout();
00162
00163
00164 reactive_grasping_box_->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( AdvancedOptionsDialogBase::reactiveGraspingClicked ), NULL, this );
00165 reactive_transport_box_->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( AdvancedOptionsDialogBase::reactiveForceClicked ), NULL, this );
00166 set_defaults_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( AdvancedOptionsDialogBase::setDefaultsClicked ), NULL, this );
00167 accept_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( AdvancedOptionsDialogBase::acceptClicked ), NULL, this );
00168 }
00169
00170 AdvancedOptionsDialogBase::~AdvancedOptionsDialogBase()
00171 {
00172
00173 reactive_grasping_box_->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( AdvancedOptionsDialogBase::reactiveGraspingClicked ), NULL, this );
00174 reactive_transport_box_->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( AdvancedOptionsDialogBase::reactiveForceClicked ), NULL, this );
00175 set_defaults_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( AdvancedOptionsDialogBase::setDefaultsClicked ), NULL, this );
00176 accept_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( AdvancedOptionsDialogBase::acceptClicked ), NULL, this );
00177 }
00178
00179 InteractiveManipulationFrameBase::InteractiveManipulationFrameBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
00180 {
00181 this->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxEmptyString ) );
00182 this->SetMinSize( wxSize( 335,190 ) );
00183
00184 wxBoxSizer* bSizer1;
00185 bSizer1 = new wxBoxSizer( wxVERTICAL );
00186
00187 m_notebook1 = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
00188 grasp_place_panel_ = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00189 grasp_place_panel_->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxEmptyString ) );
00190
00191 wxBoxSizer* bSizer17;
00192 bSizer17 = new wxBoxSizer( wxVERTICAL );
00193
00194 wxBoxSizer* bSizer2;
00195 bSizer2 = new wxBoxSizer( wxHORIZONTAL );
00196
00197 grasp_button_ = new wxButton( grasp_place_panel_, wxID_ANY, wxT("Grasp"), wxDefaultPosition, wxDefaultSize, 0 );
00198 bSizer2->Add( grasp_button_, 0, wxALL, 5 );
00199
00200 place_button_ = new wxButton( grasp_place_panel_, wxID_ANY, wxT("Place"), wxDefaultPosition, wxDefaultSize, 0 );
00201 bSizer2->Add( place_button_, 0, wxALL, 5 );
00202
00203
00204 bSizer2->Add( 0, 0, 1, wxEXPAND, 5 );
00205
00206 advanced_options_button_ = new wxButton( grasp_place_panel_, wxID_ANY, wxT("Options ..."), wxDefaultPosition, wxSize( 100,-1 ), 0 );
00207 bSizer2->Add( advanced_options_button_, 0, wxALL, 5 );
00208
00209 bSizer17->Add( bSizer2, 0, wxEXPAND, 5 );
00210
00211 wxBoxSizer* bSizer21;
00212 bSizer21 = new wxBoxSizer( wxHORIZONTAL );
00213
00214 planned_move_button_ = new wxButton( grasp_place_panel_, wxID_ANY, wxT("Planned Move"), wxDefaultPosition, wxDefaultSize, 0 );
00215 bSizer21->Add( planned_move_button_, 0, wxALL, 5 );
00216
00217 bSizer17->Add( bSizer21, 1, wxEXPAND, 5 );
00218
00219 grasp_place_panel_->SetSizer( bSizer17 );
00220 grasp_place_panel_->Layout();
00221 bSizer17->Fit( grasp_place_panel_ );
00222 m_notebook1->AddPage( grasp_place_panel_, wxT("Grasp and place"), false );
00223 collision_panel_ = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00224 collision_panel_->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxEmptyString ) );
00225
00226 wxBoxSizer* bSizer4;
00227 bSizer4 = new wxBoxSizer( wxVERTICAL );
00228
00229 wxBoxSizer* bSizer6;
00230 bSizer6 = new wxBoxSizer( wxHORIZONTAL );
00231
00232 reset_button_ = new wxButton( collision_panel_, wxID_ANY, wxT("Reset "), wxDefaultPosition, wxSize( 50,-1 ), 0 );
00233 bSizer6->Add( reset_button_, 0, wxALL, 5 );
00234
00235 wxString reset_choice_Choices[] = { wxT("collision map and all objects"), wxT("unattached collision objects"), wxT("all attached objects"), wxT("arm attached objects"), wxT("collision map") };
00236 int reset_choice_NChoices = sizeof( reset_choice_Choices ) / sizeof( wxString );
00237 reset_choice_ = new wxChoice( collision_panel_, wxID_ANY, wxDefaultPosition, wxDefaultSize, reset_choice_NChoices, reset_choice_Choices, 0 );
00238 reset_choice_->SetSelection( 0 );
00239 bSizer6->Add( reset_choice_, 0, wxALL, 5 );
00240
00241 bSizer4->Add( bSizer6, 0, 0, 0 );
00242
00243 wxBoxSizer* bSizer16;
00244 bSizer16 = new wxBoxSizer( wxHORIZONTAL );
00245
00246 collision_box_ = new wxCheckBox( collision_panel_, wxID_ANY, wxT("Collision checks enabled"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
00247 collision_box_->SetValue(true);
00248 bSizer16->Add( collision_box_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00249
00250
00251 bSizer16->Add( 0, 0, 1, wxEXPAND, 5 );
00252
00253 model_object_button_ = new wxButton( collision_panel_, wxID_ANY, wxT("Model object"), wxDefaultPosition, wxDefaultSize, 0 );
00254 bSizer16->Add( model_object_button_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00255
00256 bSizer4->Add( bSizer16, 0, wxEXPAND, 5 );
00257
00258 collision_panel_->SetSizer( bSizer4 );
00259 collision_panel_->Layout();
00260 bSizer4->Fit( collision_panel_ );
00261 m_notebook1->AddPage( collision_panel_, wxT("Collision"), false );
00262 helper_panel_ = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00263 wxBoxSizer* bSizer171;
00264 bSizer171 = new wxBoxSizer( wxVERTICAL );
00265
00266 wxBoxSizer* bSizer8;
00267 bSizer8 = new wxBoxSizer( wxHORIZONTAL );
00268
00269 arm_go_button_ = new wxButton( helper_panel_, wxID_ANY, wxT("Move arm"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
00270 bSizer8->Add( arm_go_button_, 0, wxALL, 5 );
00271
00272 wxString arm_action_choice_Choices[] = { wxT("to side"), wxT("to front") };
00273 int arm_action_choice_NChoices = sizeof( arm_action_choice_Choices ) / sizeof( wxString );
00274 arm_action_choice_ = new wxChoice( helper_panel_, wxID_ANY, wxDefaultPosition, wxSize( 80,-1 ), arm_action_choice_NChoices, arm_action_choice_Choices, 0 );
00275 arm_action_choice_->SetSelection( 0 );
00276 bSizer8->Add( arm_action_choice_, 0, wxALL, 5 );
00277
00278 wxString arm_planner_choice_Choices[] = { wxT("with planner"), wxT("open-loop") };
00279 int arm_planner_choice_NChoices = sizeof( arm_planner_choice_Choices ) / sizeof( wxString );
00280 arm_planner_choice_ = new wxChoice( helper_panel_, wxID_ANY, wxDefaultPosition, wxSize( 110,-1 ), arm_planner_choice_NChoices, arm_planner_choice_Choices, 0 );
00281 arm_planner_choice_->SetSelection( 0 );
00282 bSizer8->Add( arm_planner_choice_, 0, wxALL, 5 );
00283
00284 bSizer171->Add( bSizer8, 0, 0, 5 );
00285
00286 wxBoxSizer* bSizer15;
00287 bSizer15 = new wxBoxSizer( wxHORIZONTAL );
00288
00289 m_staticText9 = new wxStaticText( helper_panel_, wxID_ANY, wxT("Gripper: closed"), wxDefaultPosition, wxDefaultSize, 0 );
00290 m_staticText9->Wrap( -1 );
00291 bSizer15->Add( m_staticText9, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00292
00293 gripper_slider_ = new wxSlider( helper_panel_, wxID_ANY, 50, 0, 100, wxDefaultPosition, wxSize( 80,-1 ), wxSL_HORIZONTAL );
00294 bSizer15->Add( gripper_slider_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00295
00296 m_staticText11 = new wxStaticText( helper_panel_, wxID_ANY, wxT("open"), wxDefaultPosition, wxDefaultSize, 0 );
00297 m_staticText11->Wrap( -1 );
00298 bSizer15->Add( m_staticText11, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00299
00300 bSizer171->Add( bSizer15, 0, wxEXPAND, 5 );
00301
00302 helper_panel_->SetSizer( bSizer171 );
00303 helper_panel_->Layout();
00304 bSizer171->Fit( helper_panel_ );
00305 m_notebook1->AddPage( helper_panel_, wxT("Helper tools"), false );
00306 actions_panel_ = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00307 wxBoxSizer* bSizer19;
00308 bSizer19 = new wxBoxSizer( wxVERTICAL );
00309
00310 wxBoxSizer* bSizer22;
00311 bSizer22 = new wxBoxSizer( wxHORIZONTAL );
00312
00313 rcommand_run_button_ = new wxButton( actions_panel_, wxID_ANY, wxT("Run"), wxDefaultPosition, wxDefaultSize, 0 );
00314 bSizer22->Add( rcommand_run_button_, 0, wxALL, 5 );
00315
00316 wxArrayString rcommander_choiceChoices;
00317 rcommander_choice = new wxChoice( actions_panel_, wxID_ANY, wxDefaultPosition, wxDefaultSize, rcommander_choiceChoices, 0 );
00318 rcommander_choice->SetSelection( 0 );
00319 bSizer22->Add( rcommander_choice, 0, wxALL, 5 );
00320
00321 bSizer19->Add( bSizer22, 1, wxEXPAND, 5 );
00322
00323 wxBoxSizer* bSizer23;
00324 bSizer23 = new wxBoxSizer( wxVERTICAL );
00325
00326 rcommander_refresh_button_ = new wxButton( actions_panel_, wxID_ANY, wxT("Refresh"), wxDefaultPosition, wxDefaultSize, 0 );
00327 bSizer23->Add( rcommander_refresh_button_, 0, wxALL, 5 );
00328
00329 bSizer19->Add( bSizer23, 1, wxEXPAND, 5 );
00330
00331 actions_panel_->SetSizer( bSizer19 );
00332 actions_panel_->Layout();
00333 bSizer19->Fit( actions_panel_ );
00334 m_notebook1->AddPage( actions_panel_, wxT("Actions"), false );
00335
00336 bSizer1->Add( m_notebook1, 1, wxALL|wxEXPAND, 0 );
00337
00338 wxBoxSizer* bSizer5;
00339 bSizer5 = new wxBoxSizer( wxHORIZONTAL );
00340
00341 m_staticText39 = new wxStaticText( this, wxID_ANY, wxT("Status:"), wxDefaultPosition, wxDefaultSize, 0 );
00342 m_staticText39->Wrap( -1 );
00343 m_staticText39->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
00344
00345 bSizer5->Add( m_staticText39, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00346
00347 status_label_ = new wxStaticText( this, wxID_ANY, wxT("idle"), wxDefaultPosition, wxDefaultSize, 0 );
00348 status_label_->Wrap( -1 );
00349 bSizer5->Add( status_label_, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00350
00351
00352 bSizer5->Add( 0, 0, 1, wxEXPAND, 5 );
00353
00354 bSizer1->Add( bSizer5, 0, wxEXPAND, 0 );
00355
00356 wxBoxSizer* bSizer41;
00357 bSizer41 = new wxBoxSizer( wxHORIZONTAL );
00358
00359 cancel_button_ = new wxButton( this, wxID_ANY, wxT("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
00360 bSizer41->Add( cancel_button_, 0, wxALL, 5 );
00361
00362 stop_nav_button_ = new wxButton( this, wxID_ANY, wxT("Stop Navigation"), wxDefaultPosition, wxDefaultSize, 0 );
00363 bSizer41->Add( stop_nav_button_, 0, wxALL, 5 );
00364
00365
00366 bSizer41->Add( 0, 0, 1, wxEXPAND, 5 );
00367
00368 m_staticText38 = new wxStaticText( this, wxID_ANY, wxT("Arm:"), wxDefaultPosition, wxDefaultSize, 0 );
00369 m_staticText38->Wrap( -1 );
00370 bSizer41->Add( m_staticText38, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00371
00372 wxString arm_choice_Choices[] = { wxT("right arm"), wxT("left arm") };
00373 int arm_choice_NChoices = sizeof( arm_choice_Choices ) / sizeof( wxString );
00374 arm_choice_ = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, arm_choice_NChoices, arm_choice_Choices, 0 );
00375 arm_choice_->SetSelection( 0 );
00376 bSizer41->Add( arm_choice_, 0, wxALL, 5 );
00377
00378 bSizer1->Add( bSizer41, 0, wxEXPAND, 0 );
00379
00380 this->SetSizer( bSizer1 );
00381 this->Layout();
00382
00383
00384 grasp_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::graspButtonClicked ), NULL, this );
00385 place_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::placeButtonClicked ), NULL, this );
00386 advanced_options_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::advancedOptionsClicked ), NULL, this );
00387 planned_move_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::plannedMoveButtonClicked ), NULL, this );
00388 reset_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::resetButtonClicked ), NULL, this );
00389 collision_box_->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::collisionBoxClicked ), NULL, this );
00390 model_object_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::modelObjectClicked ), NULL, this );
00391 arm_go_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::armGoButtonClicked ), NULL, this );
00392 gripper_slider_->Connect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( InteractiveManipulationFrameBase::gripperSliderScrollChanged ), NULL, this );
00393 rcommand_run_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::rcommandRunButtonClicked ), NULL, this );
00394 rcommander_refresh_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::rcommandRefreshButtonClicked ), NULL, this );
00395 cancel_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::cancelButtonClicked ), NULL, this );
00396 stop_nav_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::stopNavButtonClicked ), NULL, this );
00397 }
00398
00399 InteractiveManipulationFrameBase::~InteractiveManipulationFrameBase()
00400 {
00401
00402 grasp_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::graspButtonClicked ), NULL, this );
00403 place_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::placeButtonClicked ), NULL, this );
00404 advanced_options_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::advancedOptionsClicked ), NULL, this );
00405 planned_move_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::plannedMoveButtonClicked ), NULL, this );
00406 reset_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::resetButtonClicked ), NULL, this );
00407 collision_box_->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::collisionBoxClicked ), NULL, this );
00408 model_object_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::modelObjectClicked ), NULL, this );
00409 arm_go_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::armGoButtonClicked ), NULL, this );
00410 gripper_slider_->Disconnect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( InteractiveManipulationFrameBase::gripperSliderScrollChanged ), NULL, this );
00411 rcommand_run_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::rcommandRunButtonClicked ), NULL, this );
00412 rcommander_refresh_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::rcommandRefreshButtonClicked ), NULL, this );
00413 cancel_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::cancelButtonClicked ), NULL, this );
00414 stop_nav_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( InteractiveManipulationFrameBase::stopNavButtonClicked ), NULL, this );
00415 }
00416
00417 CameraFocusFrameBase::CameraFocusFrameBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
00418 {
00419 wxBoxSizer* bSizer24;
00420 bSizer24 = new wxBoxSizer( wxVERTICAL );
00421
00422 wxBoxSizer* bSizer25;
00423 bSizer25 = new wxBoxSizer( wxHORIZONTAL );
00424
00425 m_staticText16 = new wxStaticText( this, wxID_ANY, wxT("3D Focus:"), wxDefaultPosition, wxDefaultSize, 0 );
00426 m_staticText16->Wrap( -1 );
00427 bSizer25->Add( m_staticText16, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
00428
00429 left_button_ = new wxButton( this, wxID_ANY, wxT("Left"), wxDefaultPosition, wxDefaultSize, 0 );
00430 bSizer25->Add( left_button_, 0, wxALL, 5 );
00431
00432 top_button_ = new wxButton( this, wxID_ANY, wxT("Top"), wxDefaultPosition, wxDefaultSize, 0 );
00433 bSizer25->Add( top_button_, 0, wxALL, 5 );
00434
00435 front_button_ = new wxButton( this, wxID_ANY, wxT("Front"), wxDefaultPosition, wxDefaultSize, 0 );
00436 bSizer25->Add( front_button_, 0, wxALL, 5 );
00437
00438 right_button_ = new wxButton( this, wxID_ANY, wxT("Right"), wxDefaultPosition, wxDefaultSize, 0 );
00439 bSizer25->Add( right_button_, 0, wxALL, 5 );
00440
00441 bSizer24->Add( bSizer25, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
00442
00443 wxBoxSizer* bSizer26;
00444 bSizer26 = new wxBoxSizer( wxHORIZONTAL );
00445
00446 accept_box_ = new wxCheckBox( this, wxID_ANY, wxT("Accept external commands"), wxDefaultPosition, wxDefaultSize, 0 );
00447 accept_box_->SetValue(true);
00448 bSizer26->Add( accept_box_, 0, wxALL, 5 );
00449
00450
00451 bSizer26->Add( 149, 0, 1, wxEXPAND, 5 );
00452
00453 overhead_button_1 = new wxButton( this, wxID_ANY, wxT("Overhead"), wxDefaultPosition, wxDefaultSize, 0 );
00454 bSizer26->Add( overhead_button_1, 0, wxALIGN_RIGHT|wxALL, 5 );
00455
00456 bSizer24->Add( bSizer26, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
00457
00458 this->SetSizer( bSizer24 );
00459 this->Layout();
00460
00461
00462 left_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CameraFocusFrameBase::leftButtonClicked ), NULL, this );
00463 top_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CameraFocusFrameBase::topButtonClicked ), NULL, this );
00464 front_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CameraFocusFrameBase::frontButtonClicked ), NULL, this );
00465 right_button_->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CameraFocusFrameBase::rightButtonClicked ), NULL, this );
00466 accept_box_->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CameraFocusFrameBase::acceptBoxChecked ), NULL, this );
00467 overhead_button_1->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CameraFocusFrameBase::overheadButtonClicked ), NULL, this );
00468 }
00469
00470 CameraFocusFrameBase::~CameraFocusFrameBase()
00471 {
00472
00473 left_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CameraFocusFrameBase::leftButtonClicked ), NULL, this );
00474 top_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CameraFocusFrameBase::topButtonClicked ), NULL, this );
00475 front_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CameraFocusFrameBase::frontButtonClicked ), NULL, this );
00476 right_button_->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CameraFocusFrameBase::rightButtonClicked ), NULL, this );
00477 accept_box_->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( CameraFocusFrameBase::acceptBoxChecked ), NULL, this );
00478 overhead_button_1->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CameraFocusFrameBase::overheadButtonClicked ), NULL, this );
00479 }