From ccd839c182d113b899d731a778c44c8f11938a2c Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 13 Oct 2017 16:22:39 +0200 Subject: [PATCH] #1977 Curve Calculator : Use smaller and right aligned buttons --- .../CMakeLists_files.cmake | 1 + .../RicSummaryCurveCalculator.cpp | 94 +++++-------------- .../RicSummaryCurveCalculator.h | 13 +-- .../RicSummaryCurveCalculatorEditor.cpp | 41 +++++++- .../RicSummaryCurveCalculatorEditor.h | 10 ++ 5 files changed, 79 insertions(+), 80 deletions(-) diff --git a/ApplicationCode/Commands/SummaryPlotCommands/CMakeLists_files.cmake b/ApplicationCode/Commands/SummaryPlotCommands/CMakeLists_files.cmake index 5be86bf6b7..cddf744bc9 100644 --- a/ApplicationCode/Commands/SummaryPlotCommands/CMakeLists_files.cmake +++ b/ApplicationCode/Commands/SummaryPlotCommands/CMakeLists_files.cmake @@ -70,6 +70,7 @@ ${SOURCE_GROUP_SOURCE_FILES} list(APPEND QT_MOC_HEADERS ${CEE_CURRENT_LIST_DIR}RicSummaryCurveCreatorSplitterUi.h ${CEE_CURRENT_LIST_DIR}RicSummaryCurveCreatorDialog.h +${CEE_CURRENT_LIST_DIR}RicSummaryCurveCalculatorEditor.h ) diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculator.cpp b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculator.cpp index a66b6774c2..ff9fb31b9f 100644 --- a/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculator.cpp +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculator.cpp @@ -48,18 +48,6 @@ RicSummaryCurveCalculator::RicSummaryCurveCalculator() CAF_PDM_InitFieldNoDefault(&m_deleteCalculation, "DeleteCalculation", "Delete Calculation", "", "", ""); RicSummaryCurveCalculator::assignPushButtonEditor(&m_deleteCalculation); - - CAF_PDM_InitFieldNoDefault(&m_parseExpression, "ParseExpression", "Parse", "", "", ""); - RicSummaryCurveCalculator::assignPushButtonEditor(&m_parseExpression); - - CAF_PDM_InitFieldNoDefault(&m_calculateExpression, "CalculateExpression", "Calculate", "", "", ""); - RicSummaryCurveCalculator::assignPushButtonEditor(&m_calculateExpression); - - CAF_PDM_InitFieldNoDefault(&m_newVariable, "NewVariable", "New Variable", "", "", ""); - RicSummaryCurveCalculator::assignPushButtonEditor(&m_newVariable); - - CAF_PDM_InitFieldNoDefault(&m_deleteVariable, "DeleteVariable", "Delete Variable", "", "", ""); - RicSummaryCurveCalculator::assignPushButtonEditor(&m_deleteVariable); } //-------------------------------------------------------------------------------------------------- @@ -86,6 +74,19 @@ RimCalculation* RicSummaryCurveCalculator::currentCalculation() const return m_currentCalculation(); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSummaryCurveCalculator::parseExpression() +{ + if (m_currentCalculation()) + { + m_currentCalculation()->parseExpression(); + + this->updateConnectedEditors(); + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -112,41 +113,6 @@ void RicSummaryCurveCalculator::fieldChangedByUi(const caf::PdmFieldHandle* chan this->updateConnectedEditors(); } } - else if (changedField == &m_parseExpression) - { - m_parseExpression = false; - - if (m_currentCalculation()) - { - m_currentCalculation()->parseExpression(); - - this->updateConnectedEditors(); - } - } - else if (changedField == &m_calculateExpression) - { - m_calculateExpression = false; - - if (m_currentCalculation()) - { - m_currentCalculation()->calculate(); - } - } - else if (changedField == &m_newVariable) - { - m_newVariable = false; - - if (m_currentCalculation()) - { - m_currentCalculation()->addVariable(); - - this->updateConnectedEditors(); - } - } - else if (changedField == &m_deleteVariable) - { - m_deleteVariable = false; - } } //-------------------------------------------------------------------------------------------------- @@ -175,14 +141,7 @@ void RicSummaryCurveCalculator::defineUiOrdering(QString uiConfigName, caf::PdmU { m_currentCalculation->uiOrdering(uiConfigName, *group); } - - group->add(&m_parseExpression); - group->add(&m_calculateExpression); - -// group->add(&m_newVariable); -// group->add(&m_deleteVariable); } - } //-------------------------------------------------------------------------------------------------- @@ -240,6 +199,17 @@ void RicSummaryCurveCalculator::assignPushButtonEditorText(caf::PdmUiEditorAttri } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSummaryCurveCalculator::calculate() const +{ + if (m_currentCalculation()) + { + m_currentCalculation()->calculate(); + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -253,20 +223,4 @@ void RicSummaryCurveCalculator::defineEditorAttribute(const caf::PdmFieldHandle* { RicSummaryCurveCalculator::assignPushButtonEditorText(attribute, "Delete Calculation"); } - else if (&m_newVariable == field) - { - RicSummaryCurveCalculator::assignPushButtonEditorText(attribute, "New Variable"); - } - else if (&m_deleteVariable == field) - { - RicSummaryCurveCalculator::assignPushButtonEditorText(attribute, "Delete Variable"); - } - else if (&m_parseExpression == field) - { - RicSummaryCurveCalculator::assignPushButtonEditorText(attribute, "Parse Expression"); - } - else if (&m_calculateExpression == field) - { - RicSummaryCurveCalculator::assignPushButtonEditorText(attribute, "Calculate"); - } } diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculator.h b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculator.h index 0d4b96f846..ade0aa7dc8 100644 --- a/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculator.h +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculator.h @@ -36,11 +36,14 @@ class RicSummaryCurveCalculator : public caf::PdmObject public: RicSummaryCurveCalculator(); - static QString calculatedSummariesGroupName(); - static QString calulationGroupName(); + static QString calculatedSummariesGroupName(); + static QString calulationGroupName(); RimCalculation* currentCalculation() const; + void parseExpression(); + void calculate() const; + private: virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; @@ -59,10 +62,4 @@ private: caf::PdmField m_newCalculation; caf::PdmField m_deleteCalculation; - - caf::PdmField m_newVariable; - caf::PdmField m_deleteVariable; - - caf::PdmField m_parseExpression; - caf::PdmField m_calculateExpression; }; diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculatorEditor.cpp b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculatorEditor.cpp index 3b97d1fa13..853055de20 100644 --- a/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculatorEditor.cpp +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculatorEditor.cpp @@ -27,6 +27,7 @@ #include #include +#include #include #include @@ -64,6 +65,7 @@ void RicSummaryCurveCalculatorEditor::recursivelyConfigureAndUpdateTopLevelUiIte { if (!m_firstRowLeftLayout || !m_firstRowRightLayout) return; + int layoutItemIndex = 0; for (size_t i = 0; i < topLevelUiItems.size(); ++i) { if (topLevelUiItems[i]->isUiHidden(uiConfigName)) continue; @@ -79,11 +81,13 @@ void RicSummaryCurveCalculatorEditor::recursivelyConfigureAndUpdateTopLevelUiIte } else if (group->keyword() == RicSummaryCurveCalculator::calulationGroupName()) { - m_firstRowRightLayout->addWidget(groupBox); + m_firstRowRightLayout->insertWidget(layoutItemIndex++, groupBox); } } } + m_firstRowRightLayout->insertLayout(layoutItemIndex++, m_parseButtonLayout); + if (m_calculator->currentCalculation()) { m_pdmTableView->setListField(m_calculator->currentCalculation()->variables()); @@ -91,7 +95,8 @@ void RicSummaryCurveCalculatorEditor::recursivelyConfigureAndUpdateTopLevelUiIte else m_pdmTableView->setListField(nullptr); - m_firstRowRightLayout->addWidget(m_pdmTableView); + m_firstRowRightLayout->insertWidget(layoutItemIndex++, m_pdmTableView); + m_firstRowRightLayout->insertLayout(layoutItemIndex++, m_calculateButtonLayout); m_pdmTableView->tableView()->resizeColumnsToContents(); } @@ -142,6 +147,22 @@ QWidget* RicSummaryCurveCalculatorEditor::createWidget(QWidget* parent) mainLayout->addWidget(rowSplitter); + { + QPushButton* pushButton = new QPushButton("Parse Expression"); + connect(pushButton, SIGNAL(clicked()), this, SLOT(slotParseExpression())); + m_parseButtonLayout = new QHBoxLayout; + m_parseButtonLayout->addStretch(10); + m_parseButtonLayout->addWidget(pushButton); + } + + { + QPushButton* pushButton = new QPushButton("Calculate"); + connect(pushButton, SIGNAL(clicked()), this, SLOT(slotCalculate())); + m_calculateButtonLayout = new QHBoxLayout; + m_calculateButtonLayout->addStretch(10); + m_calculateButtonLayout->addWidget(pushButton); + } + return widget; } @@ -159,3 +180,19 @@ QMinimizePanel* RicSummaryCurveCalculatorEditor::updateGroupBoxWithContent(caf:: return groupBox; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSummaryCurveCalculatorEditor::slotCalculate() +{ + m_calculator->calculate(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RicSummaryCurveCalculatorEditor::slotParseExpression() +{ + m_calculator->parseExpression(); +} + diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculatorEditor.h b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculatorEditor.h index a0516faaf1..4169ed6b3a 100644 --- a/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculatorEditor.h +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCalculatorEditor.h @@ -29,6 +29,7 @@ class QMinimizePanel; class QString; class QVBoxLayout; class QHBoxLayout; +class QPushButton; namespace caf { class PdmUiItem; @@ -42,6 +43,8 @@ namespace caf { //================================================================================================== class RicSummaryCurveCalculatorEditor : public caf::PdmUiWidgetBasedObjectEditor { + Q_OBJECT + public: RicSummaryCurveCalculatorEditor(); ~RicSummaryCurveCalculatorEditor(); @@ -54,10 +57,17 @@ private: QMinimizePanel* updateGroupBoxWithContent(caf::PdmUiGroup* group, const QString& uiConfigName); +private slots: + void slotCalculate(); + void slotParseExpression(); + private: QPointer m_firstRowLeftLayout; QPointer m_firstRowRightLayout; + QPointer m_parseButtonLayout; + QPointer m_calculateButtonLayout; + caf::PdmUiTableView* m_pdmTableView; std::unique_ptr m_calculator;