Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "rqt_multiplot/CurveAxisConfig.h"
00020
00021 namespace rqt_multiplot {
00022
00023
00024
00025
00026
00027 CurveAxisConfig::CurveAxisConfig(QObject* parent, const QString& topic,
00028 const QString& type, FieldType fieldType, const QString& field) :
00029 Config(parent),
00030 topic_(topic),
00031 type_(type),
00032 fieldType_(fieldType),
00033 field_(field),
00034 scaleConfig_(new CurveAxisScaleConfig(this)) {
00035 connect(scaleConfig_, SIGNAL(changed()), this, SLOT(scaleChanged()));
00036 }
00037
00038 CurveAxisConfig::~CurveAxisConfig() {
00039 }
00040
00041
00042
00043
00044
00045 void CurveAxisConfig::setTopic(const QString& topic) {
00046 if (topic != topic_) {
00047 topic_ = topic;
00048
00049 emit topicChanged(topic);
00050 emit changed();
00051 }
00052 }
00053
00054 const QString& CurveAxisConfig::getTopic() const {
00055 return topic_;
00056 }
00057
00058 void CurveAxisConfig::setType(const QString& type) {
00059 if (type != type_) {
00060 type_ = type;
00061
00062 emit typeChanged(type);
00063 emit changed();
00064 }
00065 }
00066
00067 const QString& CurveAxisConfig::getType() const {
00068 return type_;
00069 }
00070
00071 void CurveAxisConfig::setFieldType(FieldType fieldType) {
00072 if (fieldType != fieldType_) {
00073 fieldType_ = fieldType;
00074
00075 emit fieldTypeChanged(fieldType);
00076 emit changed();
00077 }
00078 }
00079
00080 CurveAxisConfig::FieldType CurveAxisConfig::getFieldType() const {
00081 return fieldType_;
00082 }
00083
00084 void CurveAxisConfig::setField(const QString& field) {
00085 if (field != field_) {
00086 field_ = field;
00087
00088 emit fieldChanged(field);
00089 emit changed();
00090 }
00091 }
00092
00093 const QString& CurveAxisConfig::getField() const {
00094 return field_;
00095 }
00096
00097 CurveAxisScaleConfig* CurveAxisConfig::getScaleConfig() const {
00098 return scaleConfig_;
00099 }
00100
00101
00102
00103
00104
00105 void CurveAxisConfig::save(QSettings& settings) const {
00106 settings.setValue("topic", topic_);
00107 settings.setValue("type", type_);
00108 settings.setValue("field_type", fieldType_);
00109 settings.setValue("field", field_);
00110
00111 settings.beginGroup("scale");
00112 scaleConfig_->save(settings);
00113 settings.endGroup();
00114 }
00115
00116 void CurveAxisConfig::load(QSettings& settings) {
00117 setTopic(settings.value("topic").toString());
00118 setType(settings.value("type").toString());
00119 setFieldType(static_cast<FieldType>(settings.value("field_type").toInt()));
00120 setField(settings.value("field").toString());
00121
00122 settings.beginGroup("scale");
00123 scaleConfig_->load(settings);
00124 settings.endGroup();
00125 }
00126
00127 void CurveAxisConfig::reset() {
00128 setTopic(QString());
00129 setType(QString());
00130 setFieldType(MessageData);
00131 setField(QString());
00132
00133 scaleConfig_->reset();
00134 }
00135
00136 void CurveAxisConfig::write(QDataStream& stream) const {
00137 stream << topic_;
00138 stream << type_;
00139 stream << (int)fieldType_;
00140 stream << field_;
00141
00142 scaleConfig_->write(stream);
00143 }
00144
00145 void CurveAxisConfig::read(QDataStream& stream) {
00146 QString topic, type, field;
00147 int fieldType;
00148
00149 stream >> topic;
00150 setTopic(topic);
00151 stream >> type;
00152 setType(type);
00153 stream >> fieldType;
00154 setFieldType(static_cast<FieldType>(fieldType));
00155 stream >> field;
00156 setField(field);
00157
00158 scaleConfig_->read(stream);
00159 }
00160
00161
00162
00163
00164
00165 CurveAxisConfig& CurveAxisConfig::operator=(const CurveAxisConfig& src) {
00166 setTopic(src.topic_);
00167 setType(src.type_);
00168 setFieldType(src.fieldType_);
00169 setField(src.field_);
00170
00171 *scaleConfig_ = *src.scaleConfig_;
00172
00173 return *this;
00174 }
00175
00176
00177
00178
00179
00180 void CurveAxisConfig::scaleChanged() {
00181 emit changed();
00182 }
00183
00184 }