28 void setData(
int column,
int role,
const QVariant& value)
override
30 QStringList tokenList = value.toString().split(
" ");
31 if (tokenList.size() == 0)
37 if (std::is_same<wkf::Latitude, T>::value || std::is_same<wkf::Longitude, T>::value)
39 QTreeWidgetItem::setData(column, role, value);
43 std::map<std::string, int> unitStrings;
44 if (std::is_same<wkf::Acceleration, T>::value)
46 unitStrings = UtUnitAcceleration::mUnitStrings;
48 else if (std::is_same<wkf::Altitude, T>::value)
50 unitStrings = UtUnitLength::mUnitStrings;
52 else if (std::is_same<wkf::Angle, T>::value)
54 unitStrings = UtUnitAngle::mUnitStrings;
56 else if (std::is_same<wkf::AngularRate, T>::value)
58 unitStrings = UtUnitAngularRate::mUnitStrings;
60 else if (std::is_same<wkf::AngularAcceleration, T>::value)
62 unitStrings = UtUnitAngularAcceleration::mUnitStrings;
64 else if (std::is_same<wkf::Force, T>::value)
66 unitStrings = UtUnitForce::mUnitStrings;
68 else if (std::is_same<wkf::Frequency, T>::value)
70 unitStrings = UtUnitFrequency::mUnitStrings;
72 else if (std::is_same<wkf::Length, T>::value)
74 unitStrings = UtUnitLength::mUnitStrings;
76 else if (std::is_same<wkf::Mass, T>::value)
78 unitStrings = UtUnitMass::mUnitStrings;
80 else if (std::is_same<wkf::MassTransfer, T>::value)
82 unitStrings = UtUnitMassTransfer::mUnitStrings;
84 else if (std::is_same<wkf::Power, T>::value)
86 unitStrings = UtUnitPower::mUnitStrings;
88 else if (std::is_same<wkf::PowerDB, T>::value)
90 unitStrings = UtUnitPowerDB::mUnitStrings;
92 else if (std::is_same<wkf::Pressure, T>::value)
94 unitStrings = UtUnitPressure::mUnitStrings;
96 else if (std::is_same<wkf::Ratio, T>::value)
98 unitStrings = UtUnitRatio::mUnitStrings;
100 else if (std::is_same<wkf::Speed, T>::value)
102 unitStrings = UtUnitSpeed::mUnitStrings;
104 else if (std::is_same<wkf::Time, T>::value)
106 unitStrings = UtUnitTime::mUnitStrings;
108 else if (std::is_same<wkf::Torque, T>::value)
110 unitStrings = UtUnitTorque::mUnitStrings;
117 bool isDouble =
false;
118 tokenList[0].toDouble(&isDouble);
122 if (tokenList.size() >= 2 && unitStrings.count(tokenList[1].toStdString()) != 0)
124 QTreeWidgetItem::setData(column, role, value);
129 QStringList prevTokenList = wkf::UnitTreeWidgetItemT<T>::text(column).split(
" ");
130 if (prevTokenList.size() >= 2)
132 QTreeWidgetItem::setData(column, role, QVariant(tokenList[0] +
" " + prevTokenList[1]));