00001 #ifndef _RQT_MRTA_CONFIG_ARG_H_ 00002 #define _RQT_MRTA_CONFIG_ARG_H_ 00003 00004 #include "utilities/abstract_config.h" 00005 00006 namespace rqt_mrta 00007 { 00008 namespace config 00009 { 00010 class Arg : public utilities::AbstractConfig 00011 { 00012 Q_OBJECT 00013 public: 00014 Arg(QObject* parent = NULL); 00015 virtual ~Arg(); 00016 QString getName() const; 00017 QString getValue() const; 00018 QString getDefaultValue() const; 00019 bool isMandatory() const; 00020 void setName(const QString& name); 00021 void setValue(const QString& value); 00022 void setDefaultValue(const QString& value); 00023 QString validate() const; 00024 void save(QSettings& settings) const; 00025 void load(QSettings& settings); 00026 void reset(); 00027 void write(QDataStream& stream) const; 00028 void read(QDataStream& stream); 00029 Arg& operator=(const Arg& config); 00030 QString toLaunch(const QString& prefix) const; 00031 00032 signals: 00033 void nameChanged(const QString& name); 00034 void valueChanged(const QString& value); 00035 void defaultValueChanged(const QString& value); 00036 00037 private: 00038 QString name_; 00039 QString value_; 00040 QString default_value_; 00041 }; 00042 } 00043 } 00044 00045 #endif // _RQT_MRTA_CONFIG_ARG_H_