00001 #ifndef _RQT_MRTA_NEW_APPLICATION_DIALOG_H_ 00002 #define _RQT_MRTA_NEW_APPLICATION_DIALOG_H_ 00003 00004 #include <QLabel> 00005 #include <QWizard> 00006 #include "rqt_mrta/config/application/rqt_mrta_application.h" 00007 #include "rqt_mrta/config/application/rqt_mrta_package.h" 00008 #include "rqt_mrta/config/architecture/rqt_mrta_architecture.h" 00009 00010 namespace rqt_mrta 00011 { 00012 typedef config::application::RqtMrtaApplication RqtMrtaApplicationConfig; 00013 typedef config::application::RqtMrtaApplicationPackage RqtMrtaApplicationPackageConfig; 00014 typedef config::architecture::RqtMrtaArchitecture RqtMrtaArchitectureConfig; 00015 class NewApplicationWizardPage; 00016 class NewApplicationWizard : public QWizard 00017 { 00018 Q_OBJECT 00019 public: 00020 enum Page 00021 { 00022 DefineApplication, 00023 DefineArchitecture, 00024 DefineRobots, 00025 DefineParameters, 00026 Summary 00027 }; 00028 NewApplicationWizard(QWidget* parent, 00029 RqtMrtaApplicationConfig* application_config, 00030 Qt::WindowFlags flags = 0); 00031 virtual ~NewApplicationWizard(); 00032 RqtMrtaApplicationConfig* getApplicationConfig() const; 00033 RqtMrtaApplicationPackageConfig* getPackageConfig() const; 00034 RqtMrtaArchitectureConfig* getArchitectureConfig() const; 00035 00036 private: 00037 RqtMrtaApplicationConfig* application_config_; 00038 RqtMrtaApplicationPackageConfig* package_config_; 00039 RqtMrtaArchitectureConfig* architecture_config_; 00040 QLabel* summary_label_; 00041 NewApplicationWizardPage *createSummaryPage(); 00042 00043 private slots: 00044 void summary(); 00045 void generate(); 00046 void resetConfig(); 00047 }; 00048 } 00049 00050 #endif // _RQT_MRTA_NEW_APPLICATION_DIALOG_H_