Fix crashes when dropping analysis plots into Multiplots

This commit is contained in:
Gaute Lindkvist
2020-09-16 19:33:44 +02:00
committed by Magne Sjaastad
parent ab3e43d8fb
commit 93baf776a1
50 changed files with 360 additions and 255 deletions

View File

@@ -19,6 +19,11 @@
#pragma once
#include "RiaDefines.h"
#include "RimAbstractPlotCollection.h"
#include "RimPlotWindow.h"
#include "RimWellLogPlotNameConfig.h"
#include "cafAppEnum.h"
#include "cafPdmChildArrayField.h"
#include "cafPdmChildField.h"
@@ -26,10 +31,6 @@
#include "cafPdmFieldHandle.h"
#include "cafPdmObject.h"
#include "RiaDefines.h"
#include "RimPlotWindow.h"
#include "RimWellLogPlotNameConfig.h"
#include <QPointer>
#include <set>
@@ -43,7 +44,7 @@ class QKeyEvent;
///
///
//==================================================================================================
class RimDepthTrackPlot : public RimPlotWindow, public RimNameConfigHolderInterface
class RimDepthTrackPlot : public RimTypedPlotCollection<RimPlot>, public RimPlotWindow, public RimNameConfigHolderInterface
{
CAF_PDM_HEADER_INIT;
@@ -69,16 +70,14 @@ public:
QWidget* createPlotWidget( QWidget* mainWindowParent = nullptr );
QString description() const override;
void addPlot( RimPlot* plot );
void insertPlot( RimPlot* plot, size_t index );
void removePlot( RimPlot* plot );
size_t plotCount() const;
size_t plotCount() const override;
size_t plotIndex( const RimPlot* plot ) const;
RimPlot* plotByIndex( size_t index ) const;
std::vector<RimPlot*> plots() const;
std::vector<RimPlot*> plots() const override;
std::vector<RimPlot*> visiblePlots() const;
void insertPlot( RimPlot* plot, size_t index ) final;
void removePlot( RimPlot* plot ) final;
DepthTypeEnum depthType() const;
void setDepthType( DepthTypeEnum depthType );
@@ -154,7 +153,7 @@ private:
void onPlotAdditionOrRemoval();
void doRenderWindowContent( QPaintDevice* paintDevice ) override;
void doUpdateLayout() override;
void onPlotsReordered( const SignalEmitter* emitter );
void onPlotsReordered( const caf::SignalEmitter* emitter );
protected:
caf::PdmChildField<RimWellLogCurveCommonDataSource*> m_commonDataSource;