mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1080 Snapshot : Show parameter and case as default
This commit is contained in:
parent
22f870bff0
commit
9c1e9f0970
@ -114,18 +114,18 @@ void RicExportMultipleSnapshotsFeature::exportMultipleSnapshots(const QString& f
|
||||
{
|
||||
if (!msd->isActive()) continue;
|
||||
|
||||
RimView* rimView = msd->viewObject();
|
||||
if (!rimView) continue;
|
||||
if (!rimView->viewer()) continue;
|
||||
RimView* sourceView = msd->view();
|
||||
if (!sourceView) continue;
|
||||
if (!sourceView->viewer()) continue;
|
||||
|
||||
int initialFramIndex = rimView->viewer()->currentFrameIndex();
|
||||
int initialFramIndex = sourceView->viewer()->currentFrameIndex();
|
||||
|
||||
exportResultVariations(rimView, msd, folder);
|
||||
//exportViewVariations(sourceView, msd, folder);
|
||||
|
||||
for (RimCase* rimCase : msd->additionalCases())
|
||||
{
|
||||
RimEclipseCase* eclCase = dynamic_cast<RimEclipseCase*>(rimCase);
|
||||
RimEclipseView* sourceEclipseView = dynamic_cast<RimEclipseView*>(rimView);
|
||||
RimEclipseView* sourceEclipseView = dynamic_cast<RimEclipseView*>(sourceView);
|
||||
if (eclCase && sourceEclipseView)
|
||||
{
|
||||
RimEclipseView* copyOfEclipseView = eclCase->createCopyAndAddView(sourceEclipseView);
|
||||
@ -133,7 +133,7 @@ void RicExportMultipleSnapshotsFeature::exportMultipleSnapshots(const QString& f
|
||||
|
||||
copyOfEclipseView->loadDataAndUpdate();
|
||||
|
||||
exportResultVariations(copyOfEclipseView, msd, folder);
|
||||
exportViewVariations(copyOfEclipseView, msd, folder);
|
||||
|
||||
eclCase->reservoirViews().removeChildObject(copyOfEclipseView);
|
||||
|
||||
@ -141,7 +141,7 @@ void RicExportMultipleSnapshotsFeature::exportMultipleSnapshots(const QString& f
|
||||
}
|
||||
|
||||
RimGeoMechCase* geomCase = dynamic_cast<RimGeoMechCase*>(rimCase);
|
||||
RimGeoMechView* sourceGeoMechView = dynamic_cast<RimGeoMechView*>(rimView);
|
||||
RimGeoMechView* sourceGeoMechView = dynamic_cast<RimGeoMechView*>(sourceView);
|
||||
if (geomCase && sourceGeoMechView)
|
||||
{
|
||||
RimGeoMechView* copyOfGeoMechView = dynamic_cast<RimGeoMechView*>(sourceGeoMechView->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance()));
|
||||
@ -159,7 +159,7 @@ void RicExportMultipleSnapshotsFeature::exportMultipleSnapshots(const QString& f
|
||||
|
||||
copyOfGeoMechView->loadDataAndUpdate();
|
||||
|
||||
exportResultVariations(copyOfGeoMechView, msd, folder);
|
||||
exportViewVariations(copyOfGeoMechView, msd, folder);
|
||||
|
||||
geomCase->geoMechViews().removeChildObject(copyOfGeoMechView);
|
||||
|
||||
@ -168,20 +168,18 @@ void RicExportMultipleSnapshotsFeature::exportMultipleSnapshots(const QString& f
|
||||
}
|
||||
|
||||
// Set view back to initial state
|
||||
rimView->viewer()->setCurrentFrame(initialFramIndex);
|
||||
rimView->viewer()->animationControl()->setCurrentFrameOnly(initialFramIndex);
|
||||
sourceView->viewer()->setCurrentFrame(initialFramIndex);
|
||||
sourceView->viewer()->animationControl()->setCurrentFrameOnly(initialFramIndex);
|
||||
|
||||
rimView->scheduleCreateDisplayModelAndRedraw();
|
||||
sourceView->scheduleCreateDisplayModelAndRedraw();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicExportMultipleSnapshotsFeature::exportResultVariations(RimView* rimView, RimMultiSnapshotDefinition* msd, const QString& folder)
|
||||
void RicExportMultipleSnapshotsFeature::exportViewVariations(RimView* rimView, RimMultiSnapshotDefinition* msd, const QString& folder)
|
||||
{
|
||||
exportViewVariationsToFolder(rimView, msd, folder);
|
||||
|
||||
if (msd->selectedEclipseResults().size() > 0)
|
||||
{
|
||||
RimEclipseCase* eclCase = dynamic_cast<RimEclipseCase*>(rimView->ownerCase());
|
||||
|
@ -39,7 +39,7 @@ protected:
|
||||
public:
|
||||
static void exportMultipleSnapshots(const QString& folder, RimProject* project);
|
||||
|
||||
static void exportResultVariations(RimView* rimView, RimMultiSnapshotDefinition* msd, const QString& folder);
|
||||
static void exportViewVariations(RimView* rimView, RimMultiSnapshotDefinition* msd, const QString& folder);
|
||||
|
||||
private:
|
||||
static void exportViewVariationsToFolder(RimView* rimView, RimMultiSnapshotDefinition* msd, const QString& folder);
|
||||
|
@ -59,7 +59,7 @@ RimMultiSnapshotDefinition::RimMultiSnapshotDefinition()
|
||||
|
||||
CAF_PDM_InitField(&isActive, "IsActive", true, "Active", "", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&viewObject, "View", "View", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&view, "View", "View", "", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&eclipseResultType, "EclipseResultType", "Result Type", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&selectedEclipseResults, "SelectedEclipseResults", "Result Name", "", "", "");
|
||||
@ -91,7 +91,7 @@ QList<caf::PdmOptionItemInfo> RimMultiSnapshotDefinition::calculateValueOptions(
|
||||
|
||||
RimProject* proj = RiaApplication::instance()->project();
|
||||
|
||||
if (fieldNeedingOptions == &viewObject)
|
||||
if (fieldNeedingOptions == &view)
|
||||
{
|
||||
std::vector<RimView*> views;
|
||||
|
||||
@ -120,10 +120,9 @@ QList<caf::PdmOptionItemInfo> RimMultiSnapshotDefinition::calculateValueOptions(
|
||||
}
|
||||
else if (fieldNeedingOptions == &selectedEclipseResults)
|
||||
{
|
||||
RimView* rimView = viewObject();
|
||||
if (dynamic_cast<RimEclipseView*>(rimView))
|
||||
RimEclipseView* rimEclipseView = dynamic_cast<RimEclipseView*>(view().p());
|
||||
if (rimEclipseView)
|
||||
{
|
||||
RimEclipseView* rimEclipseView = dynamic_cast<RimEclipseView*>(rimView);
|
||||
QStringList varList;
|
||||
varList = rimEclipseView->currentGridCellResults()->cellResults()->resultNames(eclipseResultType());
|
||||
|
||||
@ -153,11 +152,11 @@ QList<caf::PdmOptionItemInfo> RimMultiSnapshotDefinition::calculateValueOptions(
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimMultiSnapshotDefinition::getTimeStepStrings(QList<caf::PdmOptionItemInfo> &options)
|
||||
{
|
||||
if (!viewObject()) return;
|
||||
if (!view()) return;
|
||||
|
||||
QStringList timeSteps;
|
||||
|
||||
timeSteps = viewObject->ownerCase()->timeStepStrings();
|
||||
timeSteps = view->ownerCase()->timeStepStrings();
|
||||
|
||||
for (int i = 0; i < timeSteps.size(); i++)
|
||||
{
|
||||
@ -179,10 +178,10 @@ void RimMultiSnapshotDefinition::fieldChangedByUi(const caf::PdmFieldHandle* cha
|
||||
const cvf::StructGridInterface* mainGrid = nullptr;
|
||||
RigActiveCellInfo* actCellInfo = nullptr;
|
||||
|
||||
if (viewObject())
|
||||
if (view())
|
||||
{
|
||||
mainGrid = viewObject()->rangeFilterCollection()->gridByIndex(0);
|
||||
actCellInfo = viewObject()->rangeFilterCollection()->activeCellInfo();
|
||||
mainGrid = view()->rangeFilterCollection()->gridByIndex(0);
|
||||
actCellInfo = view()->rangeFilterCollection()->activeCellInfo();
|
||||
}
|
||||
|
||||
if (mainGrid && actCellInfo)
|
||||
|
@ -40,7 +40,7 @@ public:
|
||||
RimMultiSnapshotDefinition();
|
||||
virtual ~RimMultiSnapshotDefinition();
|
||||
|
||||
caf::PdmPtrField<RimView*> viewObject;
|
||||
caf::PdmPtrField<RimView*> view;
|
||||
|
||||
caf::PdmField< caf::AppEnum< RimDefines::ResultCatType > > eclipseResultType;
|
||||
caf::PdmField< std::vector<QString> > selectedEclipseResults;
|
||||
|
@ -23,6 +23,8 @@
|
||||
#include "RicExportMultipleSnapshotsFeature.h"
|
||||
|
||||
#include "RimCase.h"
|
||||
#include "RimEclipseCellColors.h"
|
||||
#include "RimEclipseView.h"
|
||||
#include "RimMultiSnapshotDefinition.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimView.h"
|
||||
@ -137,10 +139,25 @@ void RiuExportMultipleSnapshotsWidget::addSnapshotItemFromActiveView()
|
||||
if (activeView)
|
||||
{
|
||||
RimMultiSnapshotDefinition* multiSnapshot = new RimMultiSnapshotDefinition();
|
||||
multiSnapshot->viewObject = activeView;
|
||||
multiSnapshot->view = activeView;
|
||||
|
||||
RimEclipseView* eclipseView = dynamic_cast<RimEclipseView*>(activeView);
|
||||
if (eclipseView)
|
||||
{
|
||||
multiSnapshot->eclipseResultType = eclipseView->cellResult->resultType();
|
||||
multiSnapshot->selectedEclipseResults.v().push_back(eclipseView->cellResult->resultVariable());
|
||||
|
||||
}
|
||||
multiSnapshot->timeStepStart = activeView->currentTimeStep();
|
||||
multiSnapshot->timeStepEnd = activeView->currentTimeStep();
|
||||
|
||||
RimCase* sourceCase = nullptr;
|
||||
activeView->firstAncestorOrThisOfType(sourceCase);
|
||||
if (sourceCase)
|
||||
{
|
||||
multiSnapshot->additionalCases().push_back(sourceCase);
|
||||
}
|
||||
|
||||
m_rimProject->multiSnapshotDefinitions.push_back(multiSnapshot);
|
||||
m_rimProject->multiSnapshotDefinitions.uiCapability()->updateConnectedEditors();
|
||||
}
|
||||
@ -232,24 +249,5 @@ void RiuExportMultipleSnapshotsWidget::folderSelectionClicked()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuExportMultipleSnapshotsWidget::addSnapshotItem()
|
||||
{
|
||||
if (!m_rimProject) return;
|
||||
|
||||
|
||||
if (m_rimProject->multiSnapshotDefinitions.size() == 0)
|
||||
{
|
||||
addSnapshotItemFromActiveView();
|
||||
}
|
||||
else
|
||||
{
|
||||
//Getting default value from last entered line:
|
||||
RimMultiSnapshotDefinition* other = m_rimProject->multiSnapshotDefinitions[m_rimProject->multiSnapshotDefinitions.size() - 1];
|
||||
|
||||
RimMultiSnapshotDefinition* multiSnapshot = new RimMultiSnapshotDefinition();
|
||||
multiSnapshot->viewObject = other->viewObject();
|
||||
multiSnapshot->timeStepStart = other->timeStepStart();
|
||||
multiSnapshot->timeStepEnd = other->timeStepEnd();
|
||||
|
||||
m_rimProject->multiSnapshotDefinitions.push_back(multiSnapshot);
|
||||
m_rimProject->multiSnapshotDefinitions.uiCapability()->updateConnectedEditors();
|
||||
}
|
||||
addSnapshotItemFromActiveView();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user