VR-Forces 4.1.1 Class Documentation
unitDisplayManager.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2008 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: unitDisplayManager.h,v $ $Revision: 1.3 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef UNITDISPLAYMANAGER_H_
13 #define UNITDISPLAYMANAGER_H_
14 
17 #include "tdbutil/tdbUnits.h"
19 
20 #include <QtCore/QObject>
21 #include <QtCore/QStringList>
22 #include <QtCore/QVector>
23 #include <QtCore/QHash>
24 
26 
30 
38 
39 typedef QHash<QString, DtUnitDisplay*> DtUnitDisplayDict;
40 typedef QHash<QString, double> DtGridLineChoiceMap;
41 
43 {
44  Q_OBJECT
45 
46 public:
47 
50 
52  virtual ~DtUnitDisplayManager();
53 
56 
58  virtual DtUnitDisplayManager& operator=(const DtUnitDisplayManager& rhs);
59 
60  virtual bool init();
61 
62 public:
63  static DtUnitDisplayManager* create(const DtUnitConverterFactory*);
64  const DtUnitConverterFactory* unitConverterFactory() const;
65 
66 public:
70  virtual bool addUnitToDisplay(const QString& unitDisplay, const QString& unit, int precision = 3, bool addTimeUnits = false);
71 
73  virtual bool addUnitToAllDisplay(const QString& unit, int precision = 3, bool addTimeUnits = false);
74 
76  virtual void addUnitDisplay(const QString& newUnit, const QString& basedOn, const QString& externalName);
77 
80  virtual void addGridLineChoices(double start, int steps, const QString& source, const QString& title,
81  const QString& convertSource, const QString& convertDestination);
82 
83 public:
87  virtual void addUnitDisplay(const QString& internalName, const QString& externalName,
88  const QStringList& supportedUnits, const QVector<int>& defaultPrecision = QVector<int>());
89 
90  virtual void removeDisplayUnit(const QString& internalName);
91 
92  virtual QString displayingUnitsFor(const QString& displayUnit) const;
93 
95  virtual void setDisplayingUnitsFor(const QString& displayUnit, const QString& unit, bool signal = true);
96 
97  virtual int precisionFor(const QString& displayUnit, const QString& unit) const;
98 
100  virtual int precisionForDisplay(const QString& displayUnit) const;
101 
103  virtual void setPrecisionFor(const QString& displayUnit, const QString& unit, int precision, bool signal = true);
104 
106  virtual QString formatToPrecision(double val, const QString& displayUnit, const QString& unit) const;
107 
109  virtual DtUnitDisplayManager* clone() const;
110 
111  int count() const;
112  virtual DtUnitDisplay unitDisplay(int) const;
113  virtual QString internalName(int) const;
114 
116  virtual int displayIndexOf(const QString& internalName) const;
117  virtual void setDisplayIndex(const QString& internalName, int i);
118 
120 
121  virtual DtGridLineChoiceMap gridLineChoices(const QString&) const;
122  virtual void addGridLineChoice(const QString& unit, const QString& title, double frequency);
123  virtual void removeGridLineChoice(const QString& unit, const QString& title);
124 
126  virtual void restoreDefaults();
127 
128  virtual bool operator==(const DtUnitDisplayManager&) const;
129  bool operator!=(const DtUnitDisplayManager&) const;
130 
131 public:
134  virtual QString formatSourceToDestination(double val, const QString& unitDisplay, const QString& source,
135  const QString& destination) const;
136 
138  virtual QString formatSourceToDisplay(double val, const QString& unitDisplay,
139  const QString& source) const;
140 
142  virtual QString formatDestinationToSource(double val, const QString& unitDisplay,
143  const QString& source, const QString& destination) const;
144 
146  virtual QString formatDisplayToSource(double val, const QString& unitDisplay,
147  const QString& source) const;
148 
150  virtual double convertSourceToDisplay(double val, const QString& unitDisplay, const QString& source) const;
151 
153  virtual double convertDisplayToSource(double val, const QString& unitDisplay, const QString& source) const;
154 
156  virtual double convertSourceToDestination(double val, const QString& source, const QString& destination) const;
157 
159  virtual double convertDestinationToSource(double val, const QString& source, const QString& destination) const;
160 
161 signals:
162  void unitDisplayChanged(const QString& unitDisplay, const QString& oldValue, const QString& newValue);
163 
165  void unitDisplayChanged(const DtUnitDisplayManager*);
166 
167 public:
170  virtual QString unitLabel(const QString& unitDisplay) const;
171 
172 protected:
173  virtual void copyDisplayUnits(const DtUnitDisplayDict&);
174  virtual void cleanupUnitDisplay(DtUnitDisplayDict&);
175  virtual void read(QTextStream& ts);
176  virtual void write(QTextStream& ts);
177  virtual void initGridLineChoices();
178 
179 protected:
182  QHash<QString, DtGridLineChoiceMap> myGridLineChoices;
183 
187 };
188 
190 {
191  return myUnitConverterFactory;
192 }
193 
194 inline bool DtUnitDisplay::operator!=(const DtUnitDisplay& rhs) const
195 {
196  return !(*this == rhs);
197 }
198 
200 {
201  return !(*this == rhs);
202 }
203 
204 #endif

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)