params_array.cpp
Go to the documentation of this file.
00001 #include "rqt_mrta/config/params_array.h"
00002 
00003 namespace rqt_mrta
00004 {
00005 namespace config
00006 {
00007 ParamsArray::ParamsArray(Params* parent) : Params("array", parent) {}
00008 
00009 ParamsArray::~ParamsArray() {}
00010 
00011 Params* ParamsArray::getParentParam() const
00012 {
00013   return parent() ? static_cast<Params*>(parent()) : NULL;
00014 }
00015 
00016 ParamInterface* ParamsArray::clone() const
00017 {
00018   ParamsArray* array = new ParamsArray();
00019   *array = *this;
00020   return array;
00021 }
00022 
00023 bool ParamsArray::isArray() const { return true; }
00024 
00025 void ParamsArray::createParams(size_t size)
00026 {
00027   Params* parent = getParentParam();
00028   for (size_t index(0); index < names_.count(); index++)
00029   {
00030     parent->removeParam(names_[index]);
00031   }
00032   names_.clear();
00033   for (size_t i(0); i < size; i++)
00034   {
00035     QString name(name_);
00036     Params* params = new Params(parent);
00037     params->setName(name.replace("@index@", QString::number(i)));
00038     names_.append(name);
00039     for (size_t j(0); j < params_.count(); j++)
00040     {
00041       params->addParam(params_[j]->clone());
00042     }
00043     parent->addParam(params);
00044   }
00045 }
00046 }
00047 }


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