From 7391c7acfeb40d0f7595d842c69cc5a96b7ad276 Mon Sep 17 00:00:00 2001 From: Gaute Lindkvist Date: Thu, 9 Jan 2020 15:03:54 +0100 Subject: [PATCH] #5220 Support setting double number format in the caf::PdmUiDoubleValueEditor --- .../cafUserInterface/cafPdmUiDoubleValueEditor.cpp | 7 ++++++- .../cafUserInterface/cafPdmUiDoubleValueEditor.h | 10 +++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleValueEditor.cpp b/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleValueEditor.cpp index dc5bbca743..f06af9abc9 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleValueEditor.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleValueEditor.cpp @@ -85,7 +85,12 @@ void PdmUiDoubleValueEditor::configureAndUpdateUi(const QString& uiConfigName) QString textValue; if (valueOk) { - textValue = QString::number(value, 'g', m_attributes.m_decimals); + if (m_attributes.m_numberFormat == PdmUiDoubleValueEditorAttribute::NumberFormat::FIXED) + textValue = QString::number(value, 'f', m_attributes.m_decimals); + else if (m_attributes.m_numberFormat == PdmUiDoubleValueEditorAttribute::NumberFormat::SCIENTIFIC) + textValue = QString::number(value, 'e', m_attributes.m_decimals); + else + textValue = QString::number(value, 'g', m_attributes.m_decimals); } else { diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleValueEditor.h b/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleValueEditor.h index 4b065d0d33..482f9cc877 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleValueEditor.h +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiDoubleValueEditor.h @@ -53,13 +53,21 @@ namespace caf class PdmUiDoubleValueEditorAttribute : public PdmUiEditorAttribute { public: + enum class NumberFormat + { + FIXED, + SCIENTIFIC, + AUTOMATIC + }; PdmUiDoubleValueEditorAttribute() { m_decimals = 6; + m_numberFormat = NumberFormat::AUTOMATIC; } public: - int m_decimals; + int m_decimals; + NumberFormat m_numberFormat; }; //==================================================================================================