mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Several RFT plot adjustments
* #9923 Call loadDataAndUpdate() after visibility of curves is updated This will ensure that all zoom ranges are recalculated based on visible curves. * #9923 Put new segment plots in RFT Plot collection * #9923 Add "Create Rft Sement Plot" to RFT plot collection * #9923 Make sure the main window is displayed when required Make sure the main window is opened and views updated when a grid model is opened from a summary case. * #9923 Make sure fieldChanged is triggered when required Exclude field having the target state. If these fields are included, the one and only call to setValueWithFieldChanged() can contain a field with the target state value. When setting a value to a field with the same value, nothing happens and the UI will get an inconsistent state (some curves toggled off are still visible in a plot).
This commit is contained in:
@@ -58,11 +58,7 @@ bool RicNewMultiPhaseRftSegmentPlotFeature::isCommandEnabled()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicNewMultiPhaseRftSegmentPlotFeature::onActionTriggered( bool isChecked )
|
||||
{
|
||||
auto rftCase = caf::SelectionManager::instance()->selectedItemOfType<RimRftCase>();
|
||||
if ( !rftCase ) return;
|
||||
|
||||
RimSummaryCase* summaryCase = nullptr;
|
||||
rftCase->firstAncestorOfType( summaryCase );
|
||||
RimSummaryCase* summaryCase = RicNewRftSegmentWellLogPlotFeature::getSelectedOrFirstRftCase();
|
||||
if ( !summaryCase ) return;
|
||||
|
||||
auto rftReader = summaryCase->rftReader();
|
||||
@@ -72,7 +68,7 @@ void RicNewMultiPhaseRftSegmentPlotFeature::onActionTriggered( bool isChecked )
|
||||
return;
|
||||
}
|
||||
|
||||
auto plot = RicNewWellLogPlotFeatureImpl::createHorizontalWellLogPlot();
|
||||
auto plot = RicNewWellLogPlotFeatureImpl::createRftSegmentPlot();
|
||||
|
||||
QString wellName = "Unknown";
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "RiaLogging.h"
|
||||
#include "RiaPlotWindowRedrawScheduler.h"
|
||||
#include "RiaRftDefines.h"
|
||||
#include "RiaSummaryTools.h"
|
||||
|
||||
#include "RifReaderOpmRft.h"
|
||||
|
||||
@@ -58,11 +59,7 @@ bool RicNewRftSegmentWellLogPlotFeature::isCommandEnabled()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicNewRftSegmentWellLogPlotFeature::onActionTriggered( bool isChecked )
|
||||
{
|
||||
auto rftCase = caf::SelectionManager::instance()->selectedItemOfType<RimRftCase>();
|
||||
if ( !rftCase ) return;
|
||||
|
||||
RimSummaryCase* summaryCase = nullptr;
|
||||
rftCase->firstAncestorOfType( summaryCase );
|
||||
RimSummaryCase* summaryCase = RicNewRftSegmentWellLogPlotFeature::getSelectedOrFirstRftCase();
|
||||
if ( !summaryCase ) return;
|
||||
|
||||
auto rftReader = summaryCase->rftReader();
|
||||
@@ -72,7 +69,7 @@ void RicNewRftSegmentWellLogPlotFeature::onActionTriggered( bool isChecked )
|
||||
return;
|
||||
}
|
||||
|
||||
auto plot = RicNewWellLogPlotFeatureImpl::createHorizontalWellLogPlot();
|
||||
auto plot = RicNewWellLogPlotFeatureImpl::createRftSegmentPlot();
|
||||
|
||||
QString wellName = "Unknown";
|
||||
auto wellNames = rftReader->wellNames();
|
||||
@@ -293,6 +290,31 @@ void RicNewRftSegmentWellLogPlotFeature::appendConnectionFactorTrack( RimWellLog
|
||||
curve->setFillStyle( Qt::SolidPattern );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimSummaryCase* RicNewRftSegmentWellLogPlotFeature::getSelectedOrFirstRftCase()
|
||||
{
|
||||
auto rftCase = caf::SelectionManager::instance()->selectedItemOfType<RimRftCase>();
|
||||
if ( rftCase )
|
||||
{
|
||||
RimSummaryCase* summaryCase = nullptr;
|
||||
rftCase->firstAncestorOfType( summaryCase );
|
||||
if ( summaryCase ) return summaryCase;
|
||||
}
|
||||
|
||||
auto summaryCases = RiaSummaryTools::singleTopLevelSummaryCases();
|
||||
for ( const auto& candidateCase : summaryCases )
|
||||
{
|
||||
if ( candidateCase && candidateCase->rftReader() )
|
||||
{
|
||||
return candidateCase;
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -40,6 +40,8 @@ public:
|
||||
static void appendPressureTrack( RimWellLogPlot* plot, const QString& wellName, RimSummaryCase* summaryCase );
|
||||
static void appendConnectionFactorTrack( RimWellLogPlot* plot, const QString& wellName, RimSummaryCase* summaryCase );
|
||||
|
||||
static RimSummaryCase* getSelectedOrFirstRftCase();
|
||||
|
||||
private:
|
||||
bool isCommandEnabled() override;
|
||||
void onActionTriggered( bool isChecked ) override;
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "RimEclipseCase.h"
|
||||
#include "RimMainPlotCollection.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimRftPlotCollection.h"
|
||||
#include "RimStimPlanModelPlot.h"
|
||||
#include "RimStimPlanModelPlotCollection.h"
|
||||
#include "RimWellBoreStabilityPlot.h"
|
||||
@@ -84,9 +85,22 @@ RimWellBoreStabilityPlot* RicNewWellLogPlotFeatureImpl::createWellBoreStabilityP
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimWellLogPlot* RicNewWellLogPlotFeatureImpl::createHorizontalWellLogPlot()
|
||||
RimWellLogPlot* RicNewWellLogPlotFeatureImpl::createRftSegmentPlot()
|
||||
{
|
||||
auto plot = createWellLogPlot();
|
||||
auto rftPlotCollection = RimMainPlotCollection::current()->rftPlotCollection();
|
||||
CVF_ASSERT( rftPlotCollection );
|
||||
|
||||
// Make sure the summary plot window is created
|
||||
RiaGuiApplication::instance()->getOrCreateMainPlotWindow();
|
||||
|
||||
RimWellLogPlot* plot = new RimWellLogPlot();
|
||||
plot->setAsPlotMdiWindow();
|
||||
|
||||
rftPlotCollection->addPlot( plot );
|
||||
|
||||
plot->nameConfig()->setCustomName( QString( "RFT Segment Plot %1" ).arg( rftPlotCollection->plotCount() ) );
|
||||
|
||||
rftPlotCollection->updateConnectedEditors();
|
||||
|
||||
plot->setDepthOrientation( RiaDefines::Orientation::HORIZONTAL );
|
||||
plot->setNamingMethod( RiaDefines::ObjectNamingMethod::TEMPLATE );
|
||||
|
||||
@@ -38,7 +38,7 @@ public:
|
||||
const QString& plotDescription = QString( "" ),
|
||||
const RimWbsParameters* params = nullptr );
|
||||
|
||||
static RimWellLogPlot* createHorizontalWellLogPlot();
|
||||
static RimWellLogPlot* createRftSegmentPlot();
|
||||
static RimWellLogTrack* createWellLogTrackWithAutoUpdate();
|
||||
|
||||
static RimWellLogPlot* createWellLogPlot( bool showAfterCreation = true, const QString& plotDescription = QString( "" ) );
|
||||
|
||||
Reference in New Issue
Block a user