mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Allow dragging and dropping ensemble data vectors into summary plots
This commit is contained in:
parent
7494751bec
commit
2e9c6e7a64
@ -253,11 +253,3 @@ bool RimSummaryAddress::isEnsemble() const
|
||||
{
|
||||
return m_ensembleId >= 0;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimSummaryAddress::canBeDragged() const
|
||||
{
|
||||
return !isEnsemble();
|
||||
}
|
||||
|
@ -57,8 +57,6 @@ public:
|
||||
int ensembleId() const;
|
||||
bool isEnsemble() const;
|
||||
|
||||
bool canBeDragged() const;
|
||||
|
||||
QString quantityName() const;
|
||||
|
||||
void ensureCalculationIdIsAssigned();
|
||||
|
@ -1834,7 +1834,17 @@ void RimSummaryPlot::handleDroppedObjects( const std::vector<caf::PdmObjectHandl
|
||||
auto summaryAdr = dynamic_cast<RimSummaryAddress*>( obj );
|
||||
if ( summaryAdr )
|
||||
{
|
||||
if ( summaryAdr->isEnsemble() ) continue;
|
||||
if ( summaryAdr->isEnsemble() )
|
||||
{
|
||||
auto ensemble = RiaSummaryTools::ensembleById( summaryAdr->ensembleId() );
|
||||
if ( ensemble )
|
||||
{
|
||||
addNewEnsembleCurveY( summaryAdr->address(), ensemble );
|
||||
newCurves++;
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
auto summaryCase = RiaSummaryTools::summaryCaseById( summaryAdr->caseId() );
|
||||
if ( summaryCase )
|
||||
@ -1945,6 +1955,18 @@ void RimSummaryPlot::addNewCurveY( const RifEclipseSummaryAddress& address, RimS
|
||||
addCurveNoUpdate( newCurve );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryPlot::addNewEnsembleCurveY( const RifEclipseSummaryAddress& address, RimSummaryCaseCollection* ensemble )
|
||||
{
|
||||
RimEnsembleCurveSet* curveSet = new RimEnsembleCurveSet();
|
||||
|
||||
curveSet->setSummaryCaseCollection( ensemble );
|
||||
curveSet->setSummaryAddress( address );
|
||||
ensembleCurveSetCollection()->addCurveSet( curveSet );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -42,6 +42,7 @@ class PdmUiTreeOrdering;
|
||||
class RimAsciiDataCurve;
|
||||
class RimGridTimeHistoryCurve;
|
||||
class RimSummaryCase;
|
||||
class RimSummaryCaseCollection;
|
||||
class RimSummaryCurve;
|
||||
class RimSummaryCurveCollection;
|
||||
class RimEnsembleCurveSet;
|
||||
@ -269,6 +270,7 @@ private:
|
||||
void assignPlotAxis( RimSummaryCurve* curve );
|
||||
|
||||
void addNewCurveY( const RifEclipseSummaryAddress& address, RimSummaryCase* summaryCase );
|
||||
void addNewEnsembleCurveY( const RifEclipseSummaryAddress& address, RimSummaryCaseCollection* ensemble );
|
||||
|
||||
void updateStackedCurveData();
|
||||
bool updateStackedCurveDataForAxis( RiuPlotAxis plotAxis );
|
||||
|
@ -264,7 +264,7 @@ Qt::ItemFlags RiuDragDrop::flags( const QModelIndex& index ) const
|
||||
itemflags |= Qt::ItemIsDragEnabled;
|
||||
}
|
||||
auto sumAdr = dynamic_cast<RimSummaryAddress*>( uiItem );
|
||||
if ( sumAdr && sumAdr->canBeDragged() )
|
||||
if ( sumAdr )
|
||||
{
|
||||
itemflags |= Qt::ItemIsDragEnabled;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user