mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1018 : Snapshot - Use active view as basis for new snapshot definitions
This commit is contained in:
parent
60cb1d4ce0
commit
8d8ef3ddc1
@ -71,6 +71,12 @@ void RicExportMultipleSnapshotsFeature::onActionTriggered(bool isChecked)
|
||||
caf::CmdExecCommandSystemActivator activator;
|
||||
|
||||
RiuExportMultipleSnapshotsWidget dlg(nullptr, proj);
|
||||
|
||||
if (proj->multiSnapshotDefinitions.size() == 0)
|
||||
{
|
||||
dlg.addSnapshotItemFromActiveView();
|
||||
}
|
||||
|
||||
dlg.exec();
|
||||
}
|
||||
}
|
||||
|
@ -124,6 +124,26 @@ RiuExportMultipleSnapshotsWidget::~RiuExportMultipleSnapshotsWidget()
|
||||
caf::SelectionManager::instance()->setActiveChildArrayFieldHandle(nullptr);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuExportMultipleSnapshotsWidget::addSnapshotItemFromActiveView()
|
||||
{
|
||||
if (!m_rimProject) return;
|
||||
|
||||
RimView* activeView = RiaApplication::instance()->activeReservoirView();
|
||||
if (activeView)
|
||||
{
|
||||
RimMultiSnapshotDefinition* multiSnapshot = new RimMultiSnapshotDefinition();
|
||||
multiSnapshot->viewObject = activeView;
|
||||
multiSnapshot->timeStepStart = activeView->currentTimeStep();
|
||||
multiSnapshot->timeStepEnd = activeView->currentTimeStep();
|
||||
|
||||
m_rimProject->multiSnapshotDefinitions.push_back(multiSnapshot);
|
||||
m_rimProject->multiSnapshotDefinitions.uiCapability()->updateConnectedEditors();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -194,40 +214,22 @@ void RiuExportMultipleSnapshotsWidget::addSnapshotItem()
|
||||
{
|
||||
if (!m_rimProject) return;
|
||||
|
||||
RimMultiSnapshotDefinition* multiSnapshot = new RimMultiSnapshotDefinition();
|
||||
|
||||
if (m_rimProject->multiSnapshotDefinitions.size() > 0)
|
||||
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();
|
||||
}
|
||||
else
|
||||
{
|
||||
RimProject* proj = RiaApplication::instance()->project();
|
||||
std::vector<RimCase*> cases;
|
||||
proj->allCases(cases);
|
||||
|
||||
if (cases.size() > 0)
|
||||
{
|
||||
RimCase* caseExample = cases.at(0);
|
||||
|
||||
std::vector<RimView*> viewExamples;
|
||||
viewExamples = caseExample->views();
|
||||
|
||||
if (viewExamples.size() > 0)
|
||||
{
|
||||
RimView* viewExample = viewExamples.at(0);
|
||||
multiSnapshot->viewObject = viewExample;
|
||||
multiSnapshot->timeStepStart = viewExample->currentTimeStep();
|
||||
multiSnapshot->timeStepEnd = viewExample->currentTimeStep();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
m_rimProject->multiSnapshotDefinitions.push_back(multiSnapshot);
|
||||
m_rimProject->multiSnapshotDefinitions.uiCapability()->updateConnectedEditors();
|
||||
}
|
||||
|
@ -36,6 +36,8 @@ public:
|
||||
RiuExportMultipleSnapshotsWidget(QWidget* parent, RimProject* project);
|
||||
~RiuExportMultipleSnapshotsWidget();
|
||||
|
||||
void addSnapshotItemFromActiveView();
|
||||
|
||||
private slots:
|
||||
void customMenuRequested(QPoint pos);
|
||||
void addSnapshotItem();
|
||||
|
Loading…
Reference in New Issue
Block a user