00001 #ifndef _RQT_MRTA_DEFINE_ROBOTS_WIDGET_H_ 00002 #define _RQT_MRTA_DEFINE_ROBOTS_WIDGET_H_ 00003 00004 #include <QWidget> 00005 #include <QStringListModel> 00006 00007 namespace Ui 00008 { 00009 class DefineRobotsWidget; 00010 } 00011 00012 namespace rqt_mrta 00013 { 00014 namespace config 00015 { 00016 namespace application 00017 { 00018 class RqtMrtaApplication; 00019 } 00020 } 00021 00022 typedef config::application::RqtMrtaApplication RqtMrtaApplicationConfig; 00023 00024 class DefineRobotsWidget : public QWidget 00025 { 00026 friend class DefineRobotsWizardPage; 00027 Q_OBJECT 00028 public: 00029 DefineRobotsWidget( 00030 QWidget* parent, RqtMrtaApplicationConfig* application_config = NULL); 00031 virtual ~DefineRobotsWidget(); 00032 RqtMrtaApplicationConfig* getApplicationConfig() const; 00033 void setApplicationConfig(RqtMrtaApplicationConfig* config); 00034 QString validate() const; 00035 00036 signals: 00037 void changed(); 00038 00039 private: 00040 Ui::DefineRobotsWidget* ui_; 00041 RqtMrtaApplicationConfig* application_config_; 00042 QStringListModel* tasks_model_; 00043 00044 private slots: 00045 void idChanged(const QString& id); 00046 void newRobotButtonClicked(); 00047 void newTaskButtonClicked(); 00048 void robotSelected(const QString& robot_id); 00049 void taskSelected(const QString& task_id); 00050 }; 00051 } 00052 00053 #endif // _RQT_MRTA_DEFINE_ROBOTS_WIDGET_H_