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:
@@ -71,6 +71,12 @@ void RicExportMultipleSnapshotsFeature::onActionTriggered(bool isChecked)
|
|||||||
caf::CmdExecCommandSystemActivator activator;
|
caf::CmdExecCommandSystemActivator activator;
|
||||||
|
|
||||||
RiuExportMultipleSnapshotsWidget dlg(nullptr, proj);
|
RiuExportMultipleSnapshotsWidget dlg(nullptr, proj);
|
||||||
|
|
||||||
|
if (proj->multiSnapshotDefinitions.size() == 0)
|
||||||
|
{
|
||||||
|
dlg.addSnapshotItemFromActiveView();
|
||||||
|
}
|
||||||
|
|
||||||
dlg.exec();
|
dlg.exec();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -124,6 +124,26 @@ RiuExportMultipleSnapshotsWidget::~RiuExportMultipleSnapshotsWidget()
|
|||||||
caf::SelectionManager::instance()->setActiveChildArrayFieldHandle(nullptr);
|
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;
|
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:
|
//Getting default value from last entered line:
|
||||||
RimMultiSnapshotDefinition* other = m_rimProject->multiSnapshotDefinitions[m_rimProject->multiSnapshotDefinitions.size() - 1];
|
RimMultiSnapshotDefinition* other = m_rimProject->multiSnapshotDefinitions[m_rimProject->multiSnapshotDefinitions.size() - 1];
|
||||||
|
|
||||||
|
RimMultiSnapshotDefinition* multiSnapshot = new RimMultiSnapshotDefinition();
|
||||||
multiSnapshot->viewObject = other->viewObject();
|
multiSnapshot->viewObject = other->viewObject();
|
||||||
multiSnapshot->timeStepStart = other->timeStepStart();
|
multiSnapshot->timeStepStart = other->timeStepStart();
|
||||||
multiSnapshot->timeStepEnd = other->timeStepEnd();
|
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(QWidget* parent, RimProject* project);
|
||||||
~RiuExportMultipleSnapshotsWidget();
|
~RiuExportMultipleSnapshotsWidget();
|
||||||
|
|
||||||
|
void addSnapshotItemFromActiveView();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void customMenuRequested(QPoint pos);
|
void customMenuRequested(QPoint pos);
|
||||||
void addSnapshotItem();
|
void addSnapshotItem();
|
||||||
|
|||||||
Reference in New Issue
Block a user