setup_assistant_widget.h
Go to the documentation of this file.
1 /*********************************************************************
2  * Software License Agreement (BSD License)
3  *
4  * Copyright (c) 2012, Willow Garage, Inc.
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * * Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  * * Redistributions in binary form must reproduce the above
14  * copyright notice, this list of conditions and the following
15  * disclaimer in the documentation and/or other materials provided
16  * with the distribution.
17  * * Neither the name of Willow Garage nor the names of its
18  * contributors may be used to endorse or promote products derived
19  * from this software without specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32  * POSSIBILITY OF SUCH DAMAGE.
33  *********************************************************************/
34 
35 /* Author: Dave Coleman */
36 
37 #ifndef MOVEIT_ROS_MOVEIT_SETUP_ASSISTANT_WIDGETS_SETUP_ASSISTANT_WIDGET_
38 #define MOVEIT_ROS_MOVEIT_SETUP_ASSISTANT_WIDGETS_SETUP_ASSISTANT_WIDGET_
39 
40 // Qt
41 #include <QWidget>
42 #include <QVBoxLayout>
43 #include <QHBoxLayout>
44 #include <QString>
45 #include <QApplication>
46 #include <QObject>
47 #include <QEvent>
48 #include <QListWidget>
49 #include <QTimer>
50 #include <QSplitter>
51 #include <QStringList>
52 // Setup Asst
53 #include "navigation_widget.h"
54 #include "start_screen_widget.h"
56 #include "planning_groups_widget.h"
57 #include "robot_poses_widget.h"
58 #include "end_effectors_widget.h"
59 #include "virtual_joints_widget.h"
60 #include "passive_joints_widget.h"
62 #include "simulation_widget.h"
64 #include "perception_widget.h"
65 #include "ros_controllers_widget.h"
66 
67 #ifndef Q_MOC_RUN
69 
70 // Other
71 #include <ros/ros.h>
72 #include <boost/program_options.hpp> // for parsing input arguments
73 #include <boost/thread/mutex.hpp>
74 #endif
75 
76 // Forward declarations
77 namespace rviz
78 {
79 class GridDisplay;
80 class RenderPanel;
81 class VisualizationManager;
82 }
83 
84 namespace moveit_rviz_plugin
85 {
86 class RobotStateDisplay;
87 }
88 
89 namespace moveit_setup_assistant
90 {
91 class SetupAssistantWidget : public QWidget
92 {
93  Q_OBJECT
94 
95 public:
96  // ******************************************************************************************
97  // Public Functions
98  // ******************************************************************************************
99 
105  SetupAssistantWidget(QWidget* parent, boost::program_options::variables_map args);
106 
112 
118  void moveToScreen(const int index);
119 
124  void closeEvent(QCloseEvent* event);
125 
133  virtual bool notify(QObject* rec, QEvent* ev);
134 
139  // void showRviz( bool show );
140 
141  // ******************************************************************************************
142  // Qt Components
143  // ******************************************************************************************
144 
145 private Q_SLOTS:
146  // ******************************************************************************************
147  // Slot Event Functions
148  // ******************************************************************************************
149 
154  void navigationClicked(const QModelIndex& index);
155 
159  void updateTimer();
160 
164  void progressPastStartScreen();
165 
170  void loadRviz();
171 
177  void setModalMode(bool isModal);
178 
184  void highlightLink(const std::string& link_name, const QColor& color);
185 
189  void highlightGroup(const std::string& group_name);
190 
194  void unhighlightAll();
195 
196  // received when virtual joints that change the reference frame are added
197  void virtualJointReferenceFrameChanged();
198 
199 private:
200  // ******************************************************************************************
201  // Variables
202  // ******************************************************************************************
203  QList<QString> nav_name_list_;
205 
206  QWidget* middle_frame_;
207  QWidget* rviz_container_;
208  QSplitter* splitter_;
209  QStackedLayout* main_content_;
211  boost::mutex change_screen_lock_;
212 
213  // Rviz Panel
217 
218  // Screen Widgets
231 
233  moveit_setup_assistant::MoveItConfigDataPtr config_data_;
234 
235  // ******************************************************************************************
236  // Private Functions
237  // ******************************************************************************************
238 };
239 }
240 
241 #endif
Start screen user interface for MoveIt! Configuration Assistant.
unsigned int index
User interface for editing the default collision matrix list in an SRDF.
moveit_ros_control::ROSControllersWidget * controllers_widget_
moveit_setup_assistant::MoveItConfigDataPtr config_data_
Contains all the configuration data for the setup assistant.
moveit_rviz_plugin::RobotStateDisplay * robot_state_display_


moveit_setup_assistant
Author(s): Dave Coleman
autogenerated on Sun Oct 18 2020 13:19:28