mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Hide seismic section folder in views if no seismic data is loaded
This commit is contained in:
parent
0e7cf49b17
commit
dea931cb25
@ -1056,7 +1056,7 @@ void RimGeoMechView::defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrderin
|
||||
|
||||
uiTreeOrdering.add( m_intersectionCollection() );
|
||||
if ( surfaceInViewCollection() ) uiTreeOrdering.add( surfaceInViewCollection() );
|
||||
uiTreeOrdering.add( seismicSectionCollection() );
|
||||
if ( seismicSectionCollection()->shouldBeVisibleInTree() ) uiTreeOrdering.add( seismicSectionCollection() );
|
||||
|
||||
uiTreeOrdering.skipRemainingChildren( true );
|
||||
}
|
||||
|
@ -1929,8 +1929,7 @@ void RimEclipseView::defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrderin
|
||||
uiTreeOrdering.add( intersectionCollection() );
|
||||
|
||||
if ( surfaceInViewCollection() ) uiTreeOrdering.add( surfaceInViewCollection() );
|
||||
|
||||
uiTreeOrdering.add( seismicSectionCollection() );
|
||||
if ( seismicSectionCollection()->shouldBeVisibleInTree() ) uiTreeOrdering.add( seismicSectionCollection() );
|
||||
|
||||
uiTreeOrdering.skipRemainingChildren( true );
|
||||
}
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "RimGridView.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimSeismicData.h"
|
||||
#include "RimSeismicSectionCollection.h"
|
||||
|
||||
#include <QFile>
|
||||
#include <QFileInfo>
|
||||
@ -63,6 +64,8 @@ RimSeismicData* RimSeismicDataCollection::importSeismicFromFile( const QString f
|
||||
m_seismicData.push_back( seisData );
|
||||
updateAllRequiredEditors();
|
||||
|
||||
if ( m_seismicData.size() == 1 ) updateTreeForAllViews();
|
||||
|
||||
return seisData;
|
||||
}
|
||||
|
||||
@ -88,6 +91,7 @@ bool RimSeismicDataCollection::isEmpty()
|
||||
void RimSeismicDataCollection::onChildDeleted( caf::PdmChildArrayFieldHandle* childArray, std::vector<caf::PdmObjectHandle*>& referringObjects )
|
||||
{
|
||||
updateViews();
|
||||
if ( m_seismicData.size() == 0 ) updateTreeForAllViews();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -104,3 +108,20 @@ void RimSeismicDataCollection::updateViews()
|
||||
view->scheduleCreateDisplayModelAndRedraw();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSeismicDataCollection::updateTreeForAllViews()
|
||||
{
|
||||
RimProject* proj = RimProject::current();
|
||||
if ( proj != nullptr )
|
||||
{
|
||||
std::vector<RimGridView*> views;
|
||||
proj->allVisibleGridViews( views );
|
||||
for ( auto view : views )
|
||||
{
|
||||
view->updateAllRequiredEditors();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ public:
|
||||
protected:
|
||||
void onChildDeleted( caf::PdmChildArrayFieldHandle* childArray, std::vector<caf::PdmObjectHandle*>& referringObjects ) override;
|
||||
void updateViews();
|
||||
void updateTreeForAllViews();
|
||||
|
||||
private:
|
||||
caf::PdmChildArrayField<RimSeismicData*> m_seismicData;
|
||||
|
@ -258,3 +258,14 @@ void RimSeismicSectionCollection::updateView()
|
||||
firstAncestorOrThisOfType( view );
|
||||
if ( view ) view->scheduleCreateDisplayModelAndRedraw();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimSeismicSectionCollection::shouldBeVisibleInTree() const
|
||||
{
|
||||
RimProject* proj = RimProject::current();
|
||||
if ( proj == nullptr ) return false;
|
||||
|
||||
return !proj->activeOilField()->seismicCollection()->isEmpty();
|
||||
}
|
||||
|
@ -57,6 +57,8 @@ public:
|
||||
bool empty();
|
||||
int size();
|
||||
|
||||
bool shouldBeVisibleInTree() const;
|
||||
|
||||
QString userDescription();
|
||||
void setUserDescription( QString description );
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user