Skip to content

Commit

Permalink
Use unit as default display unit in variables browser
Browse files Browse the repository at this point in the history
  • Loading branch information
rfranke committed Oct 11, 2016
1 parent 1fad4d3 commit 8efee44
Showing 1 changed file with 20 additions and 13 deletions.
33 changes: 20 additions & 13 deletions OMEdit/OMEditGUI/Plotting/VariablesWidget.cpp
Expand Up @@ -568,20 +568,27 @@ void VariablesTreeModel::insertVariablesItems(QString fileName, QString filePath
variableData << StringHandler::unparse(QString("\"").append(displayUnit).append("\""));
/* set the variable displayUnits */
if (!variableData[5].toString().isEmpty()) {
QStringList displayUnits;
QStringList displayUnits, displayUnitOptions;
displayUnits << variableData[5].toString();
displayUnits << (QList<QString>() << variableData[6].toString());
variableData << displayUnits;
// convert value to displayUnit
OMCInterface::convertUnits_res convertUnit = mpVariablesTreeView->getVariablesWidget()->getMainWindow()->getOMCProxy()->convertUnits(variableData[5].toString(), variableData[6].toString());
if (convertUnit.unitsCompatible) {
bool ok = true;
qreal realValue = variableData[4].toDouble(&ok);
if (ok) {
realValue = Utilities::convertUnit(realValue, convertUnit.offset, convertUnit.scaleFactor);
variableData[4] = QString::number(realValue);
if (!variableData[6].toString().isEmpty()) {
displayUnitOptions << variableData[6].toString();
/* convert value to displayUnit */
OMCInterface::convertUnits_res convertUnit = mpVariablesTreeView->getVariablesWidget()->getMainWindow()->getOMCProxy()->convertUnits(variableData[5].toString(), variableData[6].toString());
if (convertUnit.unitsCompatible) {
bool ok = true;
qreal realValue = variableData[4].toDouble(&ok);
if (ok) {
realValue = Utilities::convertUnit(realValue, convertUnit.offset, convertUnit.scaleFactor);
variableData[4] = QString::number(realValue);
}
}
}
else {
/* use unit as displayUnit */
variableData[6] = variableData[5];
}
displayUnits << displayUnitOptions;
variableData << displayUnits;
} else {
variableData << QStringList();
}
Expand Down Expand Up @@ -1343,15 +1350,15 @@ void VariablesWidget::unitChanged(const QModelIndex &index)
OMCInterface::convertUnits_res convertUnit = mpMainWindow->getOMCProxy()->convertUnits(pVariablesTreeItem->getPreviousUnit(),
pVariablesTreeItem->getDisplayUnit());
if (convertUnit.unitsCompatible) {
// update value
/* update value */
QVariant stringValue = pVariablesTreeItem->data(1, Qt::EditRole);
bool ok = true;
qreal realValue = stringValue.toDouble(&ok);
if (ok) {
realValue = Utilities::convertUnit(realValue, convertUnit.offset, convertUnit.scaleFactor);
pVariablesTreeItem->setData(1, QString::number(realValue), Qt::EditRole);
}
// update plots
/* update plots */
foreach (PlotCurve *pPlotCurve, pPlotWindow->getPlot()->getPlotCurvesList()) {
QString curveTitle = pPlotCurve->getNameStructure();
if (curveTitle.compare(pVariablesTreeItem->getVariableName()) == 0) {
Expand Down

0 comments on commit 8efee44

Please sign in to comment.