mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
(#467) Moving curves onto a track inserts them in front of existing curves
Dragging and dropping curves onto a curve appends curves after the given curve.
This commit is contained in:
@@ -56,7 +56,7 @@ public:
|
||||
void insertTrack(RimWellLogPlotTrack* track, size_t index);
|
||||
size_t trackCount() { return tracks.size();}
|
||||
void removeTrack(RimWellLogPlotTrack* track);
|
||||
void moveTracks(RimWellLogPlotTrack* insertAfterTrack, const std::vector<RimWellLogPlotTrack*>& tracks);
|
||||
void moveTracks(RimWellLogPlotTrack* insertAfterTrack, const std::vector<RimWellLogPlotTrack*>& tracksToMove);
|
||||
|
||||
void loadDataAndUpdate();
|
||||
void updateTracks();
|
||||
|
||||
@@ -118,6 +118,19 @@ void RimWellLogPlotTrack::addCurve(RimWellLogPlotCurve* curve)
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimWellLogPlotTrack::insertCurve(RimWellLogPlotCurve* curve, size_t index)
|
||||
{
|
||||
curves.insert(index, curve);
|
||||
|
||||
if (m_wellLogTrackPlotWidget)
|
||||
{
|
||||
curve->setPlot(m_wellLogTrackPlotWidget);
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -131,6 +144,31 @@ void RimWellLogPlotTrack::removeCurve(RimWellLogPlotCurve* curve)
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimWellLogPlotTrack::moveCurves(RimWellLogPlotCurve* insertAfterCurve, const std::vector<RimWellLogPlotCurve*>& curvesToMove)
|
||||
{
|
||||
for (size_t cIdx = 0; cIdx < curvesToMove.size(); cIdx++)
|
||||
{
|
||||
RimWellLogPlotCurve* curve = curvesToMove[cIdx];
|
||||
|
||||
RimWellLogPlotTrack* wellLogPlotTrack;
|
||||
curve->firstAnchestorOrThisOfType(wellLogPlotTrack);
|
||||
if (wellLogPlotTrack)
|
||||
{
|
||||
wellLogPlotTrack->removeCurve(curve);
|
||||
wellLogPlotTrack->updateConnectedEditors();
|
||||
}
|
||||
}
|
||||
|
||||
size_t index = curves.index(insertAfterCurve) + 1;
|
||||
|
||||
for (size_t cIdx = 0; cIdx < curvesToMove.size(); cIdx++)
|
||||
{
|
||||
insertCurve(curvesToMove[cIdx], index + cIdx);
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
|
||||
@@ -46,7 +46,9 @@ public:
|
||||
void setDescription(const QString& description);
|
||||
|
||||
void addCurve(RimWellLogPlotCurve* curve);
|
||||
void insertCurve(RimWellLogPlotCurve* curve, size_t index);
|
||||
void removeCurve(RimWellLogPlotCurve* curve);
|
||||
void moveCurves(RimWellLogPlotCurve* insertAfterCurve, const std::vector<RimWellLogPlotCurve*>& curvesToMove);
|
||||
size_t curveCount() { return curves.size(); }
|
||||
|
||||
void recreateViewer();
|
||||
|
||||
Reference in New Issue
Block a user