param_interface.h
Go to the documentation of this file.
00001 #ifndef _RQT_MRTA_ARCHITECTURE_CONFIG_PARAM_INTERFACE_H_
00002 #define _RQT_MRTA_ARCHITECTURE_CONFIG_PARAM_INTERFACE_H_
00003 
00004 #include "utilities/abstract_config.h"
00005 
00006 namespace rqt_mrta
00007 {
00008 namespace config
00009 {
00010 class Params;
00011 
00012 class ParamInterface : public utilities::AbstractConfig
00013 {
00014   Q_OBJECT
00015 public:
00016   virtual ~ParamInterface();
00017   QString getGroupName() const;
00018   QString getName() const;
00019   QString getFullName() const;
00020   virtual ParamInterface* getParentParam() const;
00021   virtual void setName(const QString& name);
00022   virtual ParamInterface* getParam(const QString& full_name) const;
00023   virtual void addParam(ParamInterface* param);
00024   virtual void removeParam(const QString& full_name);
00025   virtual void clearParams();
00026   virtual bool contains(const QString& name) const;
00027   virtual size_t count() const;
00028   virtual bool isEmpty() const;
00029   virtual QString validate() const;
00030   virtual bool isParam() const;
00031   virtual bool isParams() const;
00032   virtual bool isArray() const;
00033   virtual void save(QSettings& settings) const;
00034   virtual void load(QSettings& settings);
00035   virtual void reset();
00036   virtual void write(QDataStream& stream) const;
00037   virtual void read(QDataStream& stream);
00038   virtual ParamInterface& operator=(const ParamInterface& config);
00039   virtual ParamInterface* clone() const = 0;
00040   virtual QString toYaml(const QString& prefix = "") const;
00041 
00042 signals:
00043   void nameChanged(const QString &previous_full_name, const QString &name);
00044   void typeChanged(const QString &full_name, const QMetaType::Type& type);
00045   void valueChanged(const QString& full_name, const QVariant& value);
00046   void defaultValueChanged(const QString &full_name, const QVariant& type);
00047   void toolTipChanged(const QString &full_name, const QString& type);
00048   void added(const QString& full_name);
00049   void removed(const QString& full_name);
00050   void cleared(const QString& full_name);
00051 
00052 protected:
00053   ParamInterface(const QString &group_name, Params* parent);
00054   QString name_;
00055   const QString group_name_;
00056 
00057 protected slots:
00058   void paramTypeChanged(const QString &full_name, const QMetaType::Type& type);
00059   void paramValueChanged(const QString& full_name, const QVariant& value);
00060   void paramDefaultValueChanged(const QString &full_name, const QVariant& default_value);
00061   void paramToolTipChanged(const QString &full_name, const QString& tool_tip);
00062 };
00063 }
00064 }
00065 
00066 #endif // _RQT_MRTA_ARCHITECTURE_CONFIG_PARAM_INTERFACE_H_


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