00001 #ifndef _RQT_MRTA_REGISTER_ARCHITECTURE_WIDGET_H_ 00002 #define _RQT_MRTA_REGISTER_ARCHITECTURE_WIDGET_H_ 00003 00004 #include <QWidget> 00005 00006 namespace Ui 00007 { 00008 class RegisterArchitectureWidget; 00009 } 00010 00011 namespace rqt_mrta 00012 { 00013 namespace config 00014 { 00015 namespace architecture 00016 { 00017 class Allocations; 00018 class Architecture; 00019 class Robots; 00020 class RqtMrtaArchitecture; 00021 class Tasks; 00022 } 00023 } 00024 typedef config::architecture::RqtMrtaArchitecture Config; 00025 typedef config::architecture::Architecture ArchitectureConfig; 00026 typedef config::architecture::Robots RobotsConfig; 00027 typedef config::architecture::Tasks TasksConfig; 00028 typedef config::architecture::Allocations AllocationsConfig; 00029 class RegisterArchitectureWidget : public QWidget 00030 { 00031 friend class RegisterArchitectureWizardPage; 00032 Q_OBJECT 00033 public: 00034 RegisterArchitectureWidget(QWidget* parent, Config* config); 00035 virtual ~RegisterArchitectureWidget(); 00036 Config* getConfig() const; 00037 void setConfig(Config* config); 00038 QString validate() const; 00039 00040 signals: 00041 void changed(); 00042 00043 private: 00044 Ui::RegisterArchitectureWidget* ui_; 00045 Config* config_; 00046 00047 private slots: 00048 void packageChanged(const QString& package); 00049 void robotTypeChanged(); 00050 void taskTypeChanged(); 00051 void allocationTypeChanged(); 00052 void configPackageChanged(const QString& package); 00053 void configRobotsTypeChanged(const QString& type); 00054 void configTasksTypeChanged(const QString& type); 00055 void configAllocationsTypeChanged(const QString& type); 00056 }; 00057 } 00058 00059 #endif // _RQT_MRTA_REGISTER_ARCHITECTURE_WIDGET_H_