#4578 Add commands for create and clone view

This commit is contained in:
Gaute Lindkvist
2019-08-23 11:25:00 +02:00
parent 3f6d0db07a
commit 2e49670f40
22 changed files with 368 additions and 29 deletions

View File

@@ -141,9 +141,6 @@ Rim3dView::Rim3dView(void)
m_measurementPartManager = new RivMeasurementPartMgr(this);
this->setAs3DViewMdiWindow();
RimProject* proj = RiaApplication::instance()->project();
proj->assignViewIdToView(this);
}
//--------------------------------------------------------------------------------------------------

View File

@@ -271,6 +271,8 @@ void RimEclipseCase::initAfterRead()
RimEclipseView* RimEclipseCase::createAndAddReservoirView()
{
RimEclipseView* rimEclipseView = new RimEclipseView();
RiaApplication::instance()->project()->assignViewIdToView(rimEclipseView);
rimEclipseView->setEclipseCase(this);
// Set default values
@@ -306,7 +308,7 @@ RimEclipseView* RimEclipseCase::createCopyAndAddView(const RimEclipseView* sourc
RimEclipseView* rimEclipseView = dynamic_cast<RimEclipseView*>(
sourceView->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance()));
CVF_ASSERT(rimEclipseView);
RiaApplication::instance()->project()->assignViewIdToView(rimEclipseView);
rimEclipseView->setEclipseCase(this);
caf::PdmDocument::updateUiIconStateRecursively(rimEclipseView);

View File

@@ -181,13 +181,38 @@ void RimGeoMechCase::reloadDataAndUpdate()
RimGeoMechView* RimGeoMechCase::createAndAddReservoirView()
{
RimGeoMechView* gmv = new RimGeoMechView();
RiaApplication::instance()->project()->assignViewIdToView(gmv);
gmv->setGeoMechCase(this);
geoMechViews.push_back(gmv);
return gmv;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimGeoMechView* RimGeoMechCase::createCopyAndAddView(const RimGeoMechView* sourceView)
{
RimGeoMechView* rimGeoMechView = dynamic_cast<RimGeoMechView*>(
sourceView->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance()));
CVF_ASSERT(rimGeoMechView);
RiaApplication::instance()->project()->assignViewIdToView(rimGeoMechView);
rimGeoMechView->setGeoMechCase(this);
caf::PdmDocument::updateUiIconStateRecursively(rimGeoMechView);
geoMechViews.push_back(rimGeoMechView);
// Resolve references after reservoir view has been inserted into Rim structures
rimGeoMechView->resolveReferencesRecursively();
rimGeoMechView->initAfterReadRecursively();
return rimGeoMechView;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -67,6 +67,7 @@ public:
void reloadDataAndUpdate();
RimGeoMechView* createAndAddReservoirView();
RimGeoMechView* createCopyAndAddView(const RimGeoMechView* sourceView);
void updateFilePathsFromProjectPath(const QString& projectPath, const QString& oldProjectPath) override;

View File

@@ -682,7 +682,7 @@ void RimGeoMechView::convertCameraPositionFromOldProjectFiles()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimGeoMechCase* RimGeoMechView::geoMechCase()
RimGeoMechCase* RimGeoMechView::geoMechCase() const
{
return m_geomechCase;
}

View File

@@ -64,7 +64,7 @@ public:
~RimGeoMechView(void) override;
void setGeoMechCase(RimGeoMechCase* gmCase);
RimGeoMechCase* geoMechCase();
RimGeoMechCase* geoMechCase() const;
RimCase* ownerCase() const override;
caf::PdmChildField<RimGeoMechCellColors*> cellResult;