Remove drag/drop of individual summary curves

Drag/drop of individual curves is unstable. Remove drag/drop, as arrow buttons can be used to change ordering of curves.
This commit is contained in:
Magne Sjaastad 2023-11-27 10:45:34 +01:00
parent 001a7340cd
commit 163b742ad0
4 changed files with 2 additions and 79 deletions

View File

@ -420,45 +420,6 @@ void RimSummaryPlot::onAxisSelected( RiuPlotAxis axis, bool toggle )
RiuPlotMainWindowTools::selectOrToggleObject( itemToSelect, toggle );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryPlot::moveCurvesToPlot( RimSummaryPlot* plot, const std::vector<RimSummaryCurve*> curves, int insertAtPosition )
{
CAF_ASSERT( plot );
std::set<RimSummaryPlot*> srcPlots;
for ( auto curve : curves )
{
auto srcPlot = curve->firstAncestorOrThisOfTypeAsserted<RimSummaryPlot>();
srcPlot->removeCurve( curve );
srcPlots.insert( srcPlot );
}
for ( auto srcPlot : srcPlots )
{
srcPlot->updateConnectedEditors();
srcPlot->loadDataAndUpdate();
}
for ( size_t cIdx = 0; cIdx < curves.size(); ++cIdx )
{
if ( insertAtPosition >= 0 )
{
size_t position = (size_t)insertAtPosition + cIdx;
plot->insertCurve( curves[cIdx], position );
}
else
{
plot->addCurveNoUpdate( curves[cIdx] );
}
}
plot->updateConnectedEditors();
plot->updateStackedCurveData();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -197,8 +197,6 @@ public:
return 8;
}
static void moveCurvesToPlot( RimSummaryPlot* plot, const std::vector<RimSummaryCurve*> curves, int insertAtPosition );
std::vector<RimSummaryCurve*> curvesForStepping() const override;
std::vector<RimEnsembleCurveSet*> curveSets() const override;
std::vector<RimSummaryCurve*> allCurves() const override;

View File

@ -38,9 +38,6 @@
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimSummaryCaseMainCollection.h"
#include "RimSummaryCurve.h"
#include "RimSummaryCurveCollection.h"
#include "RimSummaryPlot.h"
#include "RimSurface.h"
#include "RimSurfaceCollection.h"
#include "RimWellAllocationPlot.h"
@ -250,9 +247,8 @@ Qt::ItemFlags RiuDragDrop::flags( const QModelIndex& index ) const
}
if ( dynamic_cast<RimEclipseCase*>( uiItem ) || dynamic_cast<RimWellLogCurve*>( uiItem ) ||
dynamic_cast<RimWellLogFileChannel*>( uiItem ) || dynamic_cast<RimPlot*>( uiItem ) ||
dynamic_cast<RimSummaryCase*>( uiItem ) || dynamic_cast<RimSummaryCaseCollection*>( uiItem ) ||
dynamic_cast<RimSummaryCurve*>( uiItem ) || dynamic_cast<RimSurface*>( uiItem ) )
dynamic_cast<RimWellLogFileChannel*>( uiItem ) || dynamic_cast<RimPlot*>( uiItem ) || dynamic_cast<RimSummaryCase*>( uiItem ) ||
dynamic_cast<RimSummaryCaseCollection*>( uiItem ) || dynamic_cast<RimSurface*>( uiItem ) )
{
itemflags |= Qt::ItemIsDragEnabled;
}
@ -320,13 +316,6 @@ Qt::ItemFlags RiuDragDrop::flags( const QModelIndex& index ) const
}
}
}
else if ( dynamic_cast<RimSummaryPlot*>( uiItem ) || dynamic_cast<RimSummaryCurveCollection*>( uiItem ) )
{
if ( RiuTypedPdmObjects<RimSummaryCurve>::containsTypedObjects( m_dragItems ) )
{
itemflags |= Qt::ItemIsDropEnabled;
}
}
else if ( dynamic_cast<RimSummaryCaseCollection*>( uiItem ) )
{
if ( RiuTypedPdmObjects<RimSummaryCase>::containsTypedObjects( m_dragItems ) )
@ -416,12 +405,6 @@ bool RiuDragDrop::dropMimeData( const QMimeData* data, Qt::DropAction action, in
return handleWellLogPlotDrop( action, draggedObjects, wellLogPlot, row );
}
auto summaryPlot = dropTarget->firstAncestorOrThisOfType<RimSummaryPlot>();
if ( summaryPlot )
{
return handleSummaryPlotDrop( action, draggedObjects, summaryPlot, row );
}
auto multiPlot = dropTarget->firstAncestorOrThisOfType<RimMultiPlot>();
if ( multiPlot )
{
@ -585,23 +568,6 @@ bool RiuDragDrop::handleWellLogPlotDrop( Qt::DropAction action,
return false;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RiuDragDrop::handleSummaryPlotDrop( Qt::DropAction action, caf::PdmObjectGroup& objectGroup, RimSummaryPlot* summaryPlot, int insertAtPosition )
{
std::vector<RimSummaryCurve*> summaryCurves = RiuTypedPdmObjects<RimSummaryCurve>::typedObjectsFromGroup( objectGroup );
if ( !summaryCurves.empty() )
{
if ( action == Qt::MoveAction )
{
RimSummaryPlot::moveCurvesToPlot( summaryPlot, summaryCurves, insertAtPosition );
return true;
}
}
return false;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -78,8 +78,6 @@ private:
bool handleWellLogPlotDrop( Qt::DropAction action, caf::PdmObjectGroup& objectGroup, RimWellLogPlot* wellLogPlot, int insertAtPosition );
bool handleSummaryPlotDrop( Qt::DropAction action, caf::PdmObjectGroup& objectGroup, RimSummaryPlot* summaryPlot, int insertAtPosition );
bool handleMultiPlotDrop( Qt::DropAction action, caf::PdmObjectGroup& objectGroup, RimMultiPlot* multiPlot, int insertAtPosition );
bool handleSummaryCaseCollectionDrop( Qt::DropAction action,
caf::PdmObjectGroup& objectGroup,