12 #ifndef UNITDISPLAYMANAGER_H_
13 #define UNITDISPLAYMANAGER_H_
20 #include <QtCore/QObject>
21 #include <QtCore/QStringList>
22 #include <QtCore/QVector>
23 #include <QtCore/QHash>
70 virtual bool addUnitToDisplay(
const QString& unitDisplay,
const QString& unit,
int precision = 3,
bool addTimeUnits =
false);
73 virtual bool addUnitToAllDisplay(
const QString& unit,
int precision = 3,
bool addTimeUnits =
false);
76 virtual void addUnitDisplay(
const QString& newUnit,
const QString& basedOn,
const QString& externalName);
80 virtual void addGridLineChoices(
double start,
int steps,
const QString& source,
const QString& title,
81 const QString& convertSource,
const QString& convertDestination);
87 virtual void addUnitDisplay(
const QString& internalName,
const QString& externalName,
88 const QStringList& supportedUnits,
const QVector<int>& defaultPrecision = QVector<int>());
90 virtual void removeDisplayUnit(
const QString& internalName);
92 virtual QString displayingUnitsFor(
const QString& displayUnit)
const;
95 virtual void setDisplayingUnitsFor(
const QString& displayUnit,
const QString& unit,
bool signal =
true);
97 virtual int precisionFor(
const QString& displayUnit,
const QString& unit)
const;
100 virtual int precisionForDisplay(
const QString& displayUnit)
const;
103 virtual void setPrecisionFor(
const QString& displayUnit,
const QString& unit,
int precision,
bool signal =
true);
106 virtual QString formatToPrecision(
double val,
const QString& displayUnit,
const QString& unit)
const;
113 virtual QString internalName(
int)
const;
116 virtual int displayIndexOf(
const QString& internalName)
const;
117 virtual void setDisplayIndex(
const QString& internalName,
int i);
122 virtual void addGridLineChoice(
const QString& unit,
const QString& title,
double frequency);
123 virtual void removeGridLineChoice(
const QString& unit,
const QString& title);
126 virtual void restoreDefaults();
134 virtual QString formatSourceToDestination(
double val,
const QString& unitDisplay,
const QString& source,
135 const QString& destination)
const;
139 const QString& source)
const;
142 virtual QString formatDestinationToSource(
double val,
const QString& unitDisplay,
143 const QString& source,
const QString& destination)
const;
146 virtual QString formatDisplayToSource(
double val,
const QString& unitDisplay,
147 const QString& source)
const;
150 virtual double convertSourceToDisplay(
double val,
const QString& unitDisplay,
const QString& source)
const;
153 virtual double convertDisplayToSource(
double val,
const QString& unitDisplay,
const QString& source)
const;
156 virtual double convertSourceToDestination(
double val,
const QString& source,
const QString& destination)
const;
159 virtual double convertDestinationToSource(
double val,
const QString& source,
const QString& destination)
const;
162 void unitDisplayChanged(
const QString& unitDisplay,
const QString& oldValue,
const QString& newValue);
170 virtual QString unitLabel(
const QString& unitDisplay)
const;
175 virtual void read(QTextStream& ts);
176 virtual void write(QTextStream& ts);
177 virtual void initGridLineChoices();
196 return !(*
this == rhs);
201 return !(*
this == rhs);