24 #ifndef KLFUNITINPUT_H
25 #define KLFUNITINPUT_H
30 #include <QDoubleSpinBox>
47 Q_PROPERTY(
QString currentUnit READ currentUnitName WRITE setCurrentUnit USER
true)
48 Q_PROPERTY(
double currentUnitFactor READ currentUnitFactor)
49 Q_PROPERTY(
QString klfUnits READ unitStringDescription WRITE setUnits)
60 inline Unit currentUnit()
const {
return itemData(currentIndex()).value<
Unit>(); }
61 inline QString currentUnitName()
const {
return currentUnit().name; }
62 inline QString currentUnitAbbrev()
const {
return currentUnit().abbrev; }
63 inline double currentUnitFactor()
const {
return currentUnit().factor; }
83 void setUnits(
const QString& unitstrlist);
87 void setCurrentUnit(
const QString& unitName);
88 void setCurrentUnitAbbrev(
const QString& unitAbbrev);
89 void setCurrentUnitIndex(
int k);
92 void unitChanged(
const QString& unitName);
93 void unitChanged(
double unitFactor);
94 void unitChanged(
double unitFactor,
const QString& suffix);
97 virtual void changeEvent(
QEvent *event);
105 void internalCurrentIndexChanged(
int index);
152 Q_PROPERTY(
double valurInRefUnit READ valueInRefUnit WRITE setValueInRefUnit USER
true)
153 Q_PROPERTY(
double unitFactor READ unitFactor WRITE setUnit)
154 Q_PROPERTY(
bool showUnitSuffix READ showUnitSuffix WRITE setShowUnitSuffix)
159 inline
double unitFactor()
const {
return pUnitFactor; }
163 inline double valueInRefUnit()
const {
return QDoubleSpinBox::value() * unitFactor(); }
166 void valueInRefUnitChanged(
double value);
169 void setUnit(
double unitfactor);
174 void setUnitWithSuffix(
double unitfactor,
const QString& suffix);
178 void setShowUnitSuffix(
bool show);
180 void setValueInRefUnit(
double value);
184 bool pShowUnitSuffix;
187 void internalValueChanged(
double valueInExtUnits);