From c6f3638dadc5ed83d1c5b18162dd9c74c5270d05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Jensen?= Date: Mon, 6 Nov 2017 11:35:34 +0100 Subject: [PATCH] #2053 Curve calc. Resove ptr field and fix a bug --- .../RimSummaryCalculationCollection.cpp | 3 ++- .../RiuCalculationsContextMenuManager.cpp | 20 +++---------------- .../RiuCalculationsContextMenuManager.h | 2 +- 3 files changed, 6 insertions(+), 19 deletions(-) diff --git a/ApplicationCode/ProjectDataModel/RimSummaryCalculationCollection.cpp b/ApplicationCode/ProjectDataModel/RimSummaryCalculationCollection.cpp index 4bab02358b..0feb3e8877 100644 --- a/ApplicationCode/ProjectDataModel/RimSummaryCalculationCollection.cpp +++ b/ApplicationCode/ProjectDataModel/RimSummaryCalculationCollection.cpp @@ -86,11 +86,12 @@ RimSummaryCalculation* RimSummaryCalculationCollection::addCalculationCopy(const expression.replace(currVarName, newVarName); calcCopy->setExpression(expression); - calcCopy->parseExpression(); m_calcuations.push_back(calcCopy); + calcCopy->resolveReferencesRecursively(); rebuildCaseMetaData(); + calcCopy->parseExpression(); return calcCopy; } diff --git a/ApplicationCode/UserInterface/RiuCalculationsContextMenuManager.cpp b/ApplicationCode/UserInterface/RiuCalculationsContextMenuManager.cpp index 18320b8cda..ac55236bc5 100644 --- a/ApplicationCode/UserInterface/RiuCalculationsContextMenuManager.cpp +++ b/ApplicationCode/UserInterface/RiuCalculationsContextMenuManager.cpp @@ -31,9 +31,8 @@ void RiuCalculationsContextMenuManager::attachWidget(QWidget* widget, RicSummary QObject::connect(widget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotMenuItems(QPoint))); m_widget = widget; - m_curveCalc = std::unique_ptr(curveCalc); + m_curveCalc = curveCalc; } - } //-------------------------------------------------------------------------------------------------- @@ -45,15 +44,14 @@ void RiuCalculationsContextMenuManager::slotMenuItems(QPoint point) QAction action("Create copy", this); connect(&action, SIGNAL(triggered()), SLOT(slotCreateCalculationCopy())); - menu.addAction(&action); + action.setEnabled(m_curveCalc->currentCalculation() != nullptr); + menu.addAction(&action); QPoint globalPoint = point; if (m_widget) { globalPoint = m_widget->mapToGlobal(point); - - //m_textPosition = m_widget->textCursor().position(); } menu.exec(globalPoint); @@ -71,17 +69,5 @@ void RiuCalculationsContextMenuManager::slotCreateCalculationCopy() RimSummaryCalculationCollection* coll = RicSummaryCurveCalculator::calculationCollection(); coll->addCalculationCopy(currCalculation); m_curveCalc->updateConnectedEditors(); - - - - //QAction* action = qobject_cast(sender()); - //if (action) - //{ - // QTextCursor cursor = m_textEdit->textCursor(); - // cursor.setPosition(m_textPosition); - - // m_textEdit->setTextCursor(cursor); - // m_textEdit->insertPlainText(action->text()); - //} } } diff --git a/ApplicationCode/UserInterface/RiuCalculationsContextMenuManager.h b/ApplicationCode/UserInterface/RiuCalculationsContextMenuManager.h index aab677885e..21e755210c 100644 --- a/ApplicationCode/UserInterface/RiuCalculationsContextMenuManager.h +++ b/ApplicationCode/UserInterface/RiuCalculationsContextMenuManager.h @@ -52,7 +52,7 @@ private slots: private: QPointer m_widget; - std::unique_ptr m_curveCalc; + RicSummaryCurveCalculator* m_curveCalc; int m_textPosition; std::map> m_actionCache; };