arg.cpp
Go to the documentation of this file.
00001 #include "rqt_mrta/config/arg.h"
00002 
00003 namespace rqt_mrta
00004 {
00005 namespace config
00006 {
00007 Arg::Arg(QObject* parent) : AbstractConfig(parent) {}
00008 
00009 Arg::~Arg() {}
00010 
00011 QString Arg::getName() const { return name_; }
00012 
00013 QString Arg::getValue() const { return value_; }
00014 
00015 QString Arg::getDefaultValue() const { return default_value_; }
00016 
00017 bool Arg::isMandatory() const { return default_value_.isEmpty(); }
00018 
00019 void Arg::setName(const QString& name)
00020 {
00021   if (name != name_)
00022   {
00023     name_ = name;
00024     emit nameChanged(name);
00025     emit changed();
00026   }
00027 }
00028 
00029 void Arg::setValue(const QString& value)
00030 {
00031   if (value != value_)
00032   {
00033     value_ = value;
00034     emit valueChanged(value);
00035     emit changed();
00036   }
00037 }
00038 
00039 void Arg::setDefaultValue(const QString& value)
00040 {
00041   if (value != value_)
00042   {
00043     default_value_ = value;
00044     emit defaultValueChanged(value);
00045     emit changed();
00046   }
00047 }
00048 
00049 QString Arg::validate() const
00050 {
00051   if (isMandatory() && value_.isEmpty())
00052   {
00053     return "Enter the argument value, it is mandatory.";
00054   }
00055   return "";
00056 }
00057 
00058 void Arg::save(QSettings& settings) const
00059 {
00060   settings.setValue("name", name_);
00061   settings.setValue("value", value_);
00062   settings.setValue("default", default_value_);
00063 }
00064 
00065 void Arg::load(QSettings& settings)
00066 {
00067   setName(settings.value("name").toString());
00068   setValue(settings.value("value").toString());
00069   setDefaultValue(settings.value("default").toString());
00070 }
00071 
00072 void Arg::reset()
00073 {
00074   setName("");
00075   setValue("");
00076   setDefaultValue("");
00077 }
00078 
00079 void Arg::write(QDataStream& stream) const
00080 {
00081   stream << name_;
00082   stream << value_;
00083   stream << default_value_;
00084 }
00085 
00086 void Arg::read(QDataStream& stream)
00087 {
00088   QString name;
00089   QString value;
00090   QString default_value;
00091   stream >> name;
00092   stream >> value;
00093   stream >> default_value;
00094   setName(name);
00095   setValue(value);
00096   setDefaultValue(default_value);
00097 }
00098 
00099 Arg& Arg::operator=(const Arg& config)
00100 {
00101   setName(config.name_);
00102   setValue(config.value_);
00103   setDefaultValue(config.default_value_);
00104   return *this;
00105 }
00106 
00107 QString Arg::toLaunch(const QString &prefix) const
00108 {
00109   QString launch(prefix + "<arg ");
00110   launch += "name=\"" + name_ + "\" ";
00111   launch += "value=\"" + (!value_.isEmpty() ? value_ : default_value_) + "\"";
00112   launch += " />\n";
00113   return launch;
00114 }
00115 }
00116 }


rqt_mrta
Author(s): Adriano Henrique Rossette Leite
autogenerated on Thu Jun 6 2019 18:50:52