00001 #ifndef _RQT_MRTA_DEFINE_APPLICATION_WIDGET_H_ 00002 #define _RQT_MRTA_DEFINE_APPLICATION_WIDGET_H_ 00003 00004 #include <QWidget> 00005 #include <rospack/rospack.h> 00006 00007 namespace Ui 00008 { 00009 class DefineApplicationWidget; 00010 } 00011 00012 namespace rqt_mrta 00013 { 00014 namespace config 00015 { 00016 namespace application 00017 { 00018 class RqtMrtaApplication; 00019 class RqtMrtaApplicationPackage; 00020 } 00021 } 00022 00023 typedef config::application::RqtMrtaApplication RqtMrtaApplicationConfig; 00024 typedef config::application::RqtMrtaApplicationPackage 00025 RqtMrtaApplicationPackageConfig; 00026 00027 class DefineApplicationWidget : public QWidget 00028 { 00029 friend class DefineApplicationWizardPage; 00030 Q_OBJECT 00031 public: 00032 DefineApplicationWidget(QWidget* parent, 00033 RqtMrtaApplicationConfig* application_config, RqtMrtaApplicationPackageConfig *metapackage_config); 00034 virtual ~DefineApplicationWidget(); 00035 RqtMrtaApplicationConfig* getApplicationConfig() const; 00036 RqtMrtaApplicationPackageConfig* getMetapackageConfig() const; 00037 void setApplicationConfig(RqtMrtaApplicationConfig* config); 00038 void setMetapackageConfig(RqtMrtaApplicationPackageConfig* config); 00039 void createMetapackage(); 00040 00041 signals: 00042 void changed(); 00043 00044 private: 00045 Ui::DefineApplicationWidget* ui_; 00046 RqtMrtaApplicationConfig* application_config_; 00047 RqtMrtaApplicationPackageConfig* package_config_; 00048 rospack::Rospack rp_; 00049 00050 private slots: 00051 void configNameChanged(const QString& name); 00052 void configPackageChanged(const QString& package); 00053 void configWorkspaceUrlChanged(const QString& url); 00054 void configVersionChanged(const QString& version); 00055 void configDescriptionChanged(const QString& description); 00056 void configMaintainerChanged(const QString& name); 00057 void configMaintainerEmailChanged(const QString& email); 00058 void configLicenseChanged(const QString& license); 00059 void configRunDependsChanged(const QStringList& depends); 00060 void nameChanged(const QString& name); 00061 void packageChanged(const QString& package); 00062 void workspaceBrowserButtonClicked(); 00063 void workspaceUrlChanged(const QString& url); 00064 void versionChanged(const QString& version); 00065 void descriptionChanged(); 00066 void maintainerChanged(const QString& name); 00067 void maintainerEmailChanged(const QString& email); 00068 void licenseChanged(const QString& license); 00069 void runDependsChanged(); 00070 }; 00071 } 00072 00073 #endif // _RQT_MRTA_DEFINE_APPLICATION_WIDGET_H_