mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-26 23:20:29 -05:00
Add reordering and drag/drop for summary ensembles
This commit is contained in:
1 parent
71c575ce10
commit
3727a12634
3 files changed
+35
-9
No files matched your search
@@ -109,6 +109,7 @@ RimSummaryCaseMainCollection::RimSummaryCaseMainCollection()
|
||||
caf::PdmFieldReorderCapability::addToField( &m_cases );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_ensembles, "SummaryCaseCollections", "" );
|
||||
caf::PdmFieldReorderCapability::addToField( &m_ensembles );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -214,17 +215,25 @@ void RimSummaryCaseMainCollection::removeCases( std::vector<RimSummaryCase*>& ca
|
||||
dataSourceHasChanged.send();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// Lambda function to move an object in a child array field
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
auto moveObjectInChildArrayField = []( auto& childArrayField, auto* object, int destinationIndex )
|
||||
{
|
||||
auto currentIndex = childArrayField.indexOf( object );
|
||||
if ( currentIndex < childArrayField.size() )
|
||||
{
|
||||
childArrayField.erase( currentIndex );
|
||||
childArrayField.insertAt( std::min( destinationIndex, static_cast<int>( childArrayField.size() ) ), object );
|
||||
}
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCaseMainCollection::moveCase( RimSummaryCase* summaryCase, int destinationIndex )
|
||||
{
|
||||
auto currentIndex = m_cases.indexOf( summaryCase );
|
||||
if ( currentIndex < m_cases.size() )
|
||||
{
|
||||
m_cases.erase( currentIndex );
|
||||
m_cases.insertAt( std::min( destinationIndex, (int)m_cases.size() ), summaryCase );
|
||||
}
|
||||
moveObjectInChildArrayField( m_cases, summaryCase, destinationIndex );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -264,6 +273,14 @@ RimSummaryEnsemble* RimSummaryCaseMainCollection::addEnsemble( const std::vector
|
||||
return ensemble;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCaseMainCollection::moveEnsemble( RimSummaryEnsemble* ensemble, int destinationIndex )
|
||||
{
|
||||
moveObjectInChildArrayField( m_ensembles, ensemble, destinationIndex );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
Reference in new issue
Block a user