Re-add missing drag and drop for well log tracks

This commit is contained in:
Gaute Lindkvist
2020-07-02 15:59:21 +02:00
parent 77eafc6a6e
commit bfaff27d51
5 changed files with 143 additions and 4 deletions

View File

@@ -24,10 +24,6 @@
#include "RiuQwtPlotWidget.h"
#include "RiuWellLogPlot.h"
#include "RimGridCrossPlot.h"
#include "RimGridCrossPlotCollection.h"
#include "RimSummaryPlot.h"
#include "RimSummaryPlotCollection.h"
#include "RimWellLogCurve.h"
#include "RimWellLogPlot.h"
#include "RimWellLogTrack.h"
@@ -87,3 +83,33 @@ void RicWellLogPlotTrackFeatureImpl::moveCurvesToWellLogPlotTrack( RimWellLogTra
destTrack->updateParentPlotZoom();
destTrack->updateConnectedEditors();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicWellLogPlotTrackFeatureImpl::moveTracksToWellLogPlot( RimWellLogPlot* wellLogPlot,
const std::vector<RimWellLogTrack*>& tracksToMove,
RimWellLogTrack* insertAfterTrack )
{
CVF_ASSERT( wellLogPlot );
for ( size_t tIdx = 0; tIdx < tracksToMove.size(); tIdx++ )
{
RimWellLogTrack* plot = tracksToMove[tIdx];
caf::PdmObject* pdmObject = dynamic_cast<caf::PdmObject*>( plot );
RimWellLogPlot* srcPlot;
pdmObject->firstAncestorOrThisOfType( srcPlot );
if ( srcPlot )
{
srcPlot->removePlot( plot );
}
}
size_t insertionStartIndex = 0;
if ( insertAfterTrack ) insertionStartIndex = wellLogPlot->plotIndex( insertAfterTrack ) + 1;
for ( size_t tIdx = 0; tIdx < tracksToMove.size(); tIdx++ )
{
wellLogPlot->insertPlot( tracksToMove[tIdx], insertionStartIndex + tIdx );
}
}

View File

@@ -21,6 +21,7 @@
#include <vector>
class RimWellLogPlot;
class RimWellLogTrack;
class RimWellLogCurve;
@@ -33,4 +34,7 @@ public:
static void moveCurvesToWellLogPlotTrack( RimWellLogTrack* dstTrack,
const std::vector<RimWellLogCurve*>& curves,
RimWellLogCurve* insertAfterCurve );
static void moveTracksToWellLogPlot( RimWellLogPlot* wellLogPlot,
const std::vector<RimWellLogTrack*>& tracks,
RimWellLogTrack* trackToInsertAfter );
};