00001 /********************************************************************* 00002 * Software License Agreement (BSD License) 00003 * 00004 * Copyright (c) 2012, Willow Garage, Inc. 00005 * All rights reserved. 00006 * 00007 * Redistribution and use in source and binary forms, with or without 00008 * modification, are permitted provided that the following conditions 00009 * are met: 00010 * 00011 * * Redistributions of source code must retain the above copyright 00012 * notice, this list of conditions and the following disclaimer. 00013 * * Redistributions in binary form must reproduce the above 00014 * copyright notice, this list of conditions and the following 00015 * disclaimer in the documentation and/or other materials provided 00016 * with the distribution. 00017 * * Neither the name of the Willow Garage nor the names of its 00018 * contributors may be used to endorse or promote products derived 00019 * from this software without specific prior written permission. 00020 * 00021 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00022 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00023 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 00024 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 00025 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 00026 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 00027 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 00028 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00029 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 00030 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 00031 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00032 * POSSIBILITY OF SUCH DAMAGE. 00033 *********************************************************************/ 00034 00035 /* Author: Dave Coleman */ 00036 00037 #ifndef MOVEIT_ROS_MOVEIT_SETUP_ASSISTANT_WIDGETS_GROUP_EDIT_WIDGET_ 00038 #define MOVEIT_ROS_MOVEIT_SETUP_ASSISTANT_WIDGETS_GROUP_EDIT_WIDGET_ 00039 00040 #include <QWidget> 00041 #include <QLabel> 00042 #include <QLineEdit> 00043 #include <QComboBox> 00044 #include <QPushButton> 00045 00046 #ifndef Q_MOC_RUN 00047 #include <moveit/setup_assistant/tools/moveit_config_data.h> 00048 #endif 00049 00050 namespace moveit_setup_assistant 00051 { 00052 00053 class GroupEditWidget : public QWidget 00054 { 00055 Q_OBJECT 00056 00057 public: 00058 // ****************************************************************************************** 00059 // Public Functions 00060 // ****************************************************************************************** 00061 00063 GroupEditWidget( QWidget *parent, moveit_setup_assistant::MoveItConfigDataPtr config_data ); 00064 00066 void setSelected( const std::string &group_name ); 00067 00069 void loadKinematicPlannersComboBox(); 00070 00071 // ****************************************************************************************** 00072 // Qt Components 00073 // ****************************************************************************************** 00074 00075 QLabel *title_; // specify the title from the parent widget 00076 QLineEdit *group_name_field_; 00077 QComboBox *kinematics_solver_field_; 00078 QLineEdit *kinematics_resolution_field_; 00079 QLineEdit *kinematics_timeout_field_; 00080 QLineEdit *kinematics_attempts_field_; 00081 QPushButton *btn_delete_; // this button is hidden for new groups 00082 QPushButton *btn_save_; // this button is hidden for new groups 00083 QWidget *new_buttons_widget_; // for showing/hiding the new group buttons 00084 00085 00086 private Q_SLOTS: 00087 00088 // ****************************************************************************************** 00089 // Slot Event Functions 00090 // ****************************************************************************************** 00091 00092 Q_SIGNALS: 00093 00094 // ****************************************************************************************** 00095 // Emitted Signals 00096 // ****************************************************************************************** 00097 00099 void saveJoints(); 00100 00102 void saveLinks(); 00103 00105 void saveChain(); 00106 00108 void saveSubgroups(); 00109 00111 void save(); 00112 00114 void cancelEditing(); 00115 00117 void deleteGroup(); 00118 00119 private: 00120 00121 00122 // ****************************************************************************************** 00123 // Variables 00124 // ****************************************************************************************** 00125 00127 moveit_setup_assistant::MoveItConfigDataPtr config_data_; 00128 00129 00130 // ****************************************************************************************** 00131 // Private Functions 00132 // ****************************************************************************************** 00133 00134 00135 00136 }; 00137 00138 } 00139 00140 #endif