#5300 Formations : Fix update issues

This commit is contained in:
Magne Sjaastad
2020-01-06 14:33:54 +01:00
parent a7366fbebf
commit 7d05a8bd0a
11 changed files with 33 additions and 46 deletions
@@ -72,6 +72,7 @@ RicfCommandResponse RicfImportFormationNames::execute()
if ( rimCase->caseId() == m_applyToCaseId() ) if ( rimCase->caseId() == m_applyToCaseId() )
{ {
rimCase->setFormationNames( formationNames ); rimCase->setFormationNames( formationNames );
rimCase->updateFormationNamesData();
rimCase->updateConnectedEditors(); rimCase->updateConnectedEditors();
foundCase = true; foundCase = true;
break; break;
@@ -111,6 +111,7 @@ void RicImportFormationNamesFeature::onActionTriggered( bool isChecked )
if ( ownerCase ) if ( ownerCase )
{ {
ownerCase->setFormationNames( formationName ); ownerCase->setFormationNames( formationName );
ownerCase->updateFormationNamesData();
ownerCase->updateConnectedEditors(); ownerCase->updateConnectedEditors();
} }
} }
+19 -3
View File
@@ -51,7 +51,7 @@ RimCase::RimCase()
caseId.uiCapability()->setUiReadOnly( true ); caseId.uiCapability()->setUiReadOnly( true );
caseId.capability<RicfFieldHandle>()->setIOWriteable( false ); caseId.capability<RicfFieldHandle>()->setIOWriteable( false );
CAF_PDM_InitFieldNoDefault( &activeFormationNames, "DefaultFormationNames", "Formation Names File", "", "", "" ); CAF_PDM_InitFieldNoDefault( &m_activeFormationNames, "DefaultFormationNames", "Formation Names File", "", "", "" );
CAF_PDM_InitFieldNoDefault( &m_timeStepFilter, "TimeStepFilter", "Time Step Filter", "", "", "" ); CAF_PDM_InitFieldNoDefault( &m_timeStepFilter, "TimeStepFilter", "Time Step Filter", "", "", "" );
m_timeStepFilter.uiCapability()->setUiHidden( true ); m_timeStepFilter.uiCapability()->setUiHidden( true );
@@ -122,7 +122,15 @@ cvf::Vec3d RimCase::displayModelOffset() const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimCase::setFormationNames( RimFormationNames* formationNames ) void RimCase::setFormationNames( RimFormationNames* formationNames )
{ {
activeFormationNames = formationNames; m_activeFormationNames = formationNames;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimFormationNames* RimCase::activeFormationNames() const
{
return m_activeFormationNames();
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -156,7 +164,7 @@ QList<caf::PdmOptionItemInfo> RimCase::calculateValueOptions( const caf::PdmFiel
{ {
QList<caf::PdmOptionItemInfo> options; QList<caf::PdmOptionItemInfo> options;
if ( fieldNeedingOptions == &activeFormationNames ) if ( fieldNeedingOptions == &m_activeFormationNames )
{ {
RimProject* proj = RiaApplication::instance()->project(); RimProject* proj = RiaApplication::instance()->project();
if ( proj && proj->activeOilField() && proj->activeOilField()->formationNamesCollection() ) if ( proj && proj->activeOilField() && proj->activeOilField()->formationNamesCollection() )
@@ -186,3 +194,11 @@ void RimCase::initAfterRead()
RiaApplication::instance()->project()->assignCaseIdToCase( this ); RiaApplication::instance()->project()->assignCaseIdToCase( this );
} }
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
caf::PdmFieldHandle* RimCase::userDescriptionField()
{
return &caseUserDescription;
}
+5 -8
View File
@@ -53,8 +53,6 @@ public:
caf::PdmField<int> caseId; caf::PdmField<int> caseId;
caf::PdmField<QString> caseUserDescription; caf::PdmField<QString> caseUserDescription;
caf::PdmPtrField<RimFormationNames*> activeFormationNames;
std::vector<Rim3dView*> views() const; std::vector<Rim3dView*> views() const;
std::vector<RimGridView*> gridViews() const; std::vector<RimGridView*> gridViews() const;
@@ -69,8 +67,9 @@ public:
virtual cvf::Vec3d displayModelOffset() const; virtual cvf::Vec3d displayModelOffset() const;
virtual void updateFormationNamesData() = 0; void setFormationNames( RimFormationNames* formationNames );
virtual void setFormationNames( RimFormationNames* formationNames ); RimFormationNames* activeFormationNames() const;
virtual void updateFormationNamesData() = 0;
virtual double characteristicCellSize() const = 0; virtual double characteristicCellSize() const = 0;
@@ -85,14 +84,12 @@ protected:
void initAfterRead() override; void initAfterRead() override;
private: private:
caf::PdmFieldHandle* userDescriptionField() override caf::PdmFieldHandle* userDescriptionField() override;
{
return &caseUserDescription;
}
protected: protected:
caf::PdmChildField<RimTimeStepFilter*> m_timeStepFilter; caf::PdmChildField<RimTimeStepFilter*> m_timeStepFilter;
caf::PdmChildField<Rim2dIntersectionViewCollection*> m_2dIntersectionViewCollection; caf::PdmChildField<Rim2dIntersectionViewCollection*> m_2dIntersectionViewCollection;
caf::PdmPtrField<RimFormationNames*> m_activeFormationNames;
private: private:
bool m_isInActiveDestruction; bool m_isInActiveDestruction;
@@ -464,7 +464,7 @@ void RimEclipseCase::fieldChangedByUi( const caf::PdmFieldHandle* changedField,
} }
} }
} }
else if ( changedField == &activeFormationNames ) else if ( changedField == &m_activeFormationNames )
{ {
updateFormationNamesData(); updateFormationNamesData();
} }
@@ -951,18 +951,6 @@ double RimEclipseCase::characteristicCellSize() const
return 10.0; return 10.0;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimEclipseCase::setFormationNames( RimFormationNames* formationNames )
{
activeFormationNames = formationNames;
if ( m_rigEclipseCase.notNull() && formationNames != nullptr )
{
m_rigEclipseCase->setActiveFormationNamesAndUpdatePlots( formationNames->formationNamesData() );
}
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -117,8 +117,6 @@ public:
double characteristicCellSize() const override; double characteristicCellSize() const override;
void setFormationNames( RimFormationNames* formationNames ) override;
std::set<QString> sortedSimWellNames() const; std::set<QString> sortedSimWellNames() const;
protected: protected:
@@ -322,7 +322,7 @@ void RimEclipseInputCase::defineUiOrdering( QString uiConfigName, caf::PdmUiOrde
uiOrdering.add( &m_additionalFiles ); uiOrdering.add( &m_additionalFiles );
auto group = uiOrdering.addNewGroup( "Case Options" ); auto group = uiOrdering.addNewGroup( "Case Options" );
group->add( &activeFormationNames ); group->add( &m_activeFormationNames );
group->add( &m_flipXAxis ); group->add( &m_flipXAxis );
group->add( &m_flipYAxis ); group->add( &m_flipYAxis );
} }
@@ -618,7 +618,7 @@ void RimEclipseResultCase::defineUiOrdering( QString uiConfigName, caf::PdmUiOrd
uiOrdering.add( &m_unitSystem ); uiOrdering.add( &m_unitSystem );
auto group = uiOrdering.addNewGroup( "Case Options" ); auto group = uiOrdering.addNewGroup( "Case Options" );
group->add( &activeFormationNames ); group->add( &m_activeFormationNames );
group->add( &m_flipXAxis ); group->add( &m_flipXAxis );
group->add( &m_flipYAxis ); group->add( &m_flipYAxis );
@@ -134,7 +134,7 @@ RimEclipseStatisticsCase::RimEclipseStatisticsCase()
// These does not work properly for statistics case, so hide for now // These does not work properly for statistics case, so hide for now
m_flipXAxis.uiCapability()->setUiHidden( true ); m_flipXAxis.uiCapability()->setUiHidden( true );
m_flipYAxis.uiCapability()->setUiHidden( true ); m_flipYAxis.uiCapability()->setUiHidden( true );
activeFormationNames.uiCapability()->setUiHidden( true ); m_activeFormationNames.uiCapability()->setUiHidden( true );
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -426,7 +426,7 @@ void RimEclipseStatisticsCase::defineUiOrdering( QString uiConfigName, caf::PdmU
group = uiOrdering.addNewGroup( "Case Options" ); group = uiOrdering.addNewGroup( "Case Options" );
group->add( &m_wellDataSourceCase ); group->add( &m_wellDataSourceCase );
group->add( &activeFormationNames ); group->add( &m_activeFormationNames );
group->add( &m_flipXAxis ); group->add( &m_flipXAxis );
group->add( &m_flipYAxis ); group->add( &m_flipYAxis );
} }
@@ -479,18 +479,6 @@ double RimGeoMechCase::characteristicCellSize() const
return 10.0; return 10.0;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimGeoMechCase::setFormationNames( RimFormationNames* formationNames )
{
activeFormationNames = formationNames;
if ( m_geoMechCaseData.notNull() && formationNames != nullptr )
{
m_geoMechCaseData->femPartResults()->setActiveFormationNames( formationNames->formationNamesData() );
}
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -599,7 +587,7 @@ void RimGeoMechCase::fieldChangedByUi( const caf::PdmFieldHandle* changedField,
const QVariant& oldValue, const QVariant& oldValue,
const QVariant& newValue ) const QVariant& newValue )
{ {
if ( changedField == &activeFormationNames ) if ( changedField == &m_activeFormationNames )
{ {
updateFormationNamesData(); updateFormationNamesData();
} }
@@ -821,7 +809,7 @@ void RimGeoMechCase::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering&
uiOrdering.add( &m_caseFileName ); uiOrdering.add( &m_caseFileName );
caf::PdmUiGroup* caseGroup = uiOrdering.addNewGroup( "Case Options" ); caf::PdmUiGroup* caseGroup = uiOrdering.addNewGroup( "Case Options" );
caseGroup->add( &activeFormationNames ); caseGroup->add( &m_activeFormationNames );
caseGroup->add( &m_cohesion ); caseGroup->add( &m_cohesion );
caseGroup->add( &m_frictionAngleDeg ); caseGroup->add( &m_frictionAngleDeg );
@@ -80,8 +80,6 @@ public:
double characteristicCellSize() const override; double characteristicCellSize() const override;
void setFormationNames( RimFormationNames* formationNames ) override;
void addElementPropertyFiles( const std::vector<caf::FilePath>& filenames ); void addElementPropertyFiles( const std::vector<caf::FilePath>& filenames );
double cohesion() const; double cohesion() const;