mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1623 Schedule invalidation of completion type results instead of immediate calculation
This commit is contained in:
@@ -213,11 +213,12 @@ RiaApplication::RiaApplication(int& argc, char** argv)
|
|||||||
// instead of using the application font
|
// instead of using the application font
|
||||||
m_standardFont = new caf::FixedAtlasFont(caf::FixedAtlasFont::POINT_SIZE_8);
|
m_standardFont = new caf::FixedAtlasFont(caf::FixedAtlasFont::POINT_SIZE_8);
|
||||||
|
|
||||||
m_resViewUpdateTimer = NULL;
|
m_resViewUpdateTimer = nullptr;
|
||||||
|
m_recalculateCompletionTypeTimer = nullptr;
|
||||||
|
|
||||||
m_runningRegressionTests = false;
|
m_runningRegressionTests = false;
|
||||||
|
|
||||||
m_mainPlotWindow = NULL;
|
m_mainPlotWindow = nullptr;
|
||||||
|
|
||||||
m_recentFileActionProvider = std::unique_ptr<RiuRecentFileActionProvider>(new RiuRecentFileActionProvider);
|
m_recentFileActionProvider = std::unique_ptr<RiuRecentFileActionProvider>(new RiuRecentFileActionProvider);
|
||||||
}
|
}
|
||||||
@@ -2744,6 +2745,21 @@ void RiaApplication::scheduleDisplayModelUpdateAndRedraw(RimView* resViewToUpdat
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RiaApplication::scheduleRecalculateCompletionTypeAndRedraw()
|
||||||
|
{
|
||||||
|
if (!m_recalculateCompletionTypeTimer)
|
||||||
|
{
|
||||||
|
m_recalculateCompletionTypeTimer = new QTimer(this);
|
||||||
|
m_recalculateCompletionTypeTimer->setSingleShot(true);
|
||||||
|
connect(m_recalculateCompletionTypeTimer, SIGNAL(timeout()), this, SLOT(slotRecaulculateCompletionType()));
|
||||||
|
}
|
||||||
|
|
||||||
|
m_recalculateCompletionTypeTimer->start(500);
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -2784,6 +2800,17 @@ void RiaApplication::slotUpdateScheduledDisplayModels()
|
|||||||
m_resViewsToUpdate.clear();
|
m_resViewsToUpdate.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RiaApplication::slotRecaulculateCompletionType()
|
||||||
|
{
|
||||||
|
for (RimEclipseCase* eclipseCase : project()->activeOilField()->analysisModels->cases())
|
||||||
|
{
|
||||||
|
eclipseCase->recalculateCompletionTypeAndRedrawAllViews();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ public:
|
|||||||
RimViewWindow* activePlotWindow() const;
|
RimViewWindow* activePlotWindow() const;
|
||||||
|
|
||||||
void scheduleDisplayModelUpdateAndRedraw(RimView* resViewToUpdate);
|
void scheduleDisplayModelUpdateAndRedraw(RimView* resViewToUpdate);
|
||||||
|
void scheduleRecalculateCompletionTypeAndRedraw();
|
||||||
|
|
||||||
RimProject* project();
|
RimProject* project();
|
||||||
|
|
||||||
@@ -224,6 +225,7 @@ private:
|
|||||||
private slots:
|
private slots:
|
||||||
void slotWorkerProcessFinished(int exitCode, QProcess::ExitStatus exitStatus);
|
void slotWorkerProcessFinished(int exitCode, QProcess::ExitStatus exitStatus);
|
||||||
void slotUpdateScheduledDisplayModels();
|
void slotUpdateScheduledDisplayModels();
|
||||||
|
void slotRecaulculateCompletionType();
|
||||||
|
|
||||||
// Friend classes required to have access to slotUpdateScheduledDisplayModels
|
// Friend classes required to have access to slotUpdateScheduledDisplayModels
|
||||||
// As snapshots are produced fast in sequence, the feature must have access to force redraw
|
// As snapshots are produced fast in sequence, the feature must have access to force redraw
|
||||||
@@ -238,6 +240,7 @@ private:
|
|||||||
|
|
||||||
std::vector<caf::PdmPointer<RimView> > m_resViewsToUpdate;
|
std::vector<caf::PdmPointer<RimView> > m_resViewsToUpdate;
|
||||||
QTimer* m_resViewUpdateTimer;
|
QTimer* m_resViewUpdateTimer;
|
||||||
|
QTimer* m_recalculateCompletionTypeTimer;
|
||||||
|
|
||||||
RiaSocketServer* m_socketServer;
|
RiaSocketServer* m_socketServer;
|
||||||
|
|
||||||
|
|||||||
@@ -249,9 +249,9 @@ RimEclipseView* RimEclipseCase::createCopyAndAddView(const RimEclipseView* sourc
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimEclipseCase::removeEclipseResultAndScheduleRedrawAllViews(RiaDefines::ResultCatType type, const QString& resultName)
|
void RimEclipseCase::recalculateCompletionTypeAndRedrawAllViews()
|
||||||
{
|
{
|
||||||
m_matrixModelResults->clearScalarResult(type, resultName);
|
m_matrixModelResults->clearScalarResult(RiaDefines::DYNAMIC_NATIVE, RiaDefines::completionTypeResultName());
|
||||||
|
|
||||||
for (RimView* view : views())
|
for (RimView* view : views())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ public:
|
|||||||
RimEclipseView* createAndAddReservoirView();
|
RimEclipseView* createAndAddReservoirView();
|
||||||
RimEclipseView* createCopyAndAddView(const RimEclipseView* sourceView);
|
RimEclipseView* createCopyAndAddView(const RimEclipseView* sourceView);
|
||||||
|
|
||||||
void removeEclipseResultAndScheduleRedrawAllViews(RiaDefines::ResultCatType type, const QString& resultName);
|
void recalculateCompletionTypeAndRedrawAllViews();
|
||||||
|
|
||||||
virtual QString locationOnDisc() const { return QString(); }
|
virtual QString locationOnDisc() const { return QString(); }
|
||||||
virtual QString gridFileName() const { return QString(); }
|
virtual QString gridFileName() const { return QString(); }
|
||||||
|
|||||||
@@ -769,18 +769,8 @@ bool RimProject::showPlotWindow() const
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimProject::reloadCompletionTypeResultsInAllViews()
|
void RimProject::reloadCompletionTypeResultsInAllViews()
|
||||||
{
|
{
|
||||||
removeEclipseResultAndRedrawAllViews(RiaDefines::DYNAMIC_NATIVE, RiaDefines::completionTypeResultName());
|
createDisplayModelAndRedrawAllViews();
|
||||||
}
|
RiaApplication::instance()->scheduleRecalculateCompletionTypeAndRedraw();
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
void RimProject::removeEclipseResultAndRedrawAllViews(RiaDefines::ResultCatType type, const QString & resultName)
|
|
||||||
{
|
|
||||||
for (RimEclipseCase* eclipseCase : activeOilField()->analysisModels->cases)
|
|
||||||
{
|
|
||||||
eclipseCase->removeEclipseResultAndScheduleRedrawAllViews(type, resultName);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -123,7 +123,6 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void appendScriptItems(QMenu* menu, RimScriptCollection* scriptCollection);
|
void appendScriptItems(QMenu* menu, RimScriptCollection* scriptCollection);
|
||||||
void removeEclipseResultAndRedrawAllViews(RiaDefines::ResultCatType type, const QString& resultName);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmField<QString> m_projectFileVersionString;
|
caf::PdmField<QString> m_projectFileVersionString;
|
||||||
|
|||||||
Reference in New Issue
Block a user