Grid Calculator: refactor summary curve calculator and add grid calculator.

This commit is contained in:
Kristian Bendiksen
2022-04-22 12:18:34 +02:00
parent 621100f0cf
commit 4304bbbc48
52 changed files with 2493 additions and 1015 deletions

View File

@@ -17,14 +17,17 @@
/////////////////////////////////////////////////////////////////////////////////
#include "RiuCalculationsContextMenuManager.h"
#include "RimSummaryCalculationCollection.h"
#include "SummaryPlotCommands/RicSummaryCurveCalculatorUi.h"
#include "RicUserDefinedCalculatorUi.h"
#include <QMenu>
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuCalculationsContextMenuManager::attachWidget( QWidget* widget, RicSummaryCurveCalculatorUi* curveCalc )
void RiuCalculationsContextMenuManager::attachWidget( QWidget* widget, RicUserDefinedCalculatorUi* curveCalc )
{
if ( m_widget != widget )
{
@@ -63,13 +66,15 @@ void RiuCalculationsContextMenuManager::slotMenuItems( QPoint point )
//--------------------------------------------------------------------------------------------------
void RiuCalculationsContextMenuManager::slotCreateCalculationCopy()
{
RimSummaryCalculation* currCalculation = m_curveCalc != nullptr ? m_curveCalc->currentCalculation() : nullptr;
if ( m_widget != nullptr && currCalculation != nullptr )
if ( m_widget != nullptr && m_curveCalc != nullptr )
{
RimSummaryCalculationCollection* coll = RicSummaryCurveCalculatorUi::calculationCollection();
RimSummaryCalculation* calcCopy = coll->addCalculationCopy( currCalculation );
m_curveCalc->setCurrentCalculation( calcCopy );
m_curveCalc->updateConnectedEditors();
RimUserDefinedCalculation* currCalculation = m_curveCalc->currentCalculation();
if ( currCalculation != nullptr )
{
RimUserDefinedCalculationCollection* coll = m_curveCalc->calculationCollection();
RimUserDefinedCalculation* calcCopy = coll->addCalculationCopy( currCalculation );
m_curveCalc->setCurrentCalculation( calcCopy );
m_curveCalc->updateConnectedEditors();
}
}
}

View File

@@ -21,14 +21,15 @@
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include <QAction>
#include <QPointer>
#include <QWidget>
#include <map>
#include <memory>
class RimSummaryCalculationVariable;
class RicSummaryCurveCalculatorUi;
class RicUserDefinedCalculatorUi;
//==================================================================================================
///
@@ -47,7 +48,7 @@ public:
{
}
void attachWidget( QWidget* widget, RicSummaryCurveCalculatorUi* curveCalc );
void attachWidget( QWidget* widget, RicUserDefinedCalculatorUi* curveCalc );
public slots:
void slotMenuItems( QPoint point );
@@ -57,7 +58,7 @@ private slots:
private:
QPointer<QWidget> m_widget;
RicSummaryCurveCalculatorUi* m_curveCalc;
RicUserDefinedCalculatorUi* m_curveCalc;
int m_textPosition;
std::map<QString, std::unique_ptr<QAction>> m_actionCache;
};

View File

@@ -27,6 +27,8 @@
#include "RiaRegressionTest.h"
#include "RiaRegressionTestRunner.h"
#include "RicGridCalculatorDialog.h"
#include "Rim2dIntersectionView.h"
#include "Rim3dView.h"
#include "RimCellEdgeColors.h"
@@ -2113,3 +2115,16 @@ bool RiuMainWindow::isAnyMdiSubWindowVisible()
{
return !m_mdiArea->subWindowList().empty();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RicGridCalculatorDialog* RiuMainWindow::gridCalculatorDialog( bool createIfNotPresent )
{
if ( !m_gridCalculatorDialog && createIfNotPresent )
{
m_gridCalculatorDialog = std::make_unique<RicGridCalculatorDialog>( this );
}
return m_gridCalculatorDialog.get();
}

View File

@@ -51,6 +51,8 @@ class RiuRelativePermeabilityPlotPanel;
class RiuPvtPlotPanel;
class RiuMohrsCirclePlot;
class RicGridCalculatorDialog;
struct RimMdiWindowGeometry;
namespace caf
@@ -126,6 +128,8 @@ public:
void setDefaultToolbarVisibility();
void applyFontSizesToDockedPlots();
RicGridCalculatorDialog* gridCalculatorDialog( bool createIfNotPresent );
protected:
void closeEvent( QCloseEvent* event ) override;
@@ -171,10 +175,11 @@ private:
RiuProcessMonitor* m_processMonitor;
QPointer<RiuMessagePanel> m_messagePanel;
RiuResultQwtPlot* m_resultQwtPlot;
RiuMohrsCirclePlot* m_mohrsCirclePlot;
RiuRelativePermeabilityPlotPanel* m_relPermPlotPanel;
RiuPvtPlotPanel* m_pvtPlotPanel;
RiuResultQwtPlot* m_resultQwtPlot;
RiuMohrsCirclePlot* m_mohrsCirclePlot;
RiuRelativePermeabilityPlotPanel* m_relPermPlotPanel;
RiuPvtPlotPanel* m_pvtPlotPanel;
std::unique_ptr<RicGridCalculatorDialog> m_gridCalculatorDialog;
QMenu* m_windowMenu;
QLabel* m_memoryCriticalWarning;