mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Fix missing curve tracker
* Move some functionality from protected to private * Attach curve text provider when creating plot widget * Add missing cleanup in destructor of RimWellLogTrack
This commit is contained in:
parent
ad4930db79
commit
8b7144d987
@ -798,19 +798,13 @@ void RimDepthTrackPlot::recreatePlotWidgets()
|
||||
{
|
||||
CVF_ASSERT( m_viewer );
|
||||
|
||||
auto plotVector = plots();
|
||||
|
||||
m_viewer->removeAllPlots();
|
||||
|
||||
for ( size_t tIdx = 0; tIdx < plotVector.size(); ++tIdx )
|
||||
for ( auto plot : m_plots )
|
||||
{
|
||||
plotVector[tIdx]->createPlotWidget();
|
||||
m_viewer->addPlot( plotVector[tIdx]->plotWidget() );
|
||||
}
|
||||
RimDepthTrackPlot::createPlotWidgetAndAttachCurveTextProvider( plot );
|
||||
|
||||
for ( size_t idx = 0; idx < m_plots.size(); ++idx )
|
||||
{
|
||||
createAndSetCurveTextProvider( m_plots[idx] );
|
||||
m_viewer->addPlot( plot->plotWidget() );
|
||||
}
|
||||
}
|
||||
|
||||
@ -1130,12 +1124,7 @@ void RimDepthTrackPlot::defineUiOrdering( QString uiConfigName, caf::PdmUiOrderi
|
||||
legendGroup->setCollapsedByDefault();
|
||||
RimPlotWindow::uiOrderingForLegends( uiConfigName, *legendGroup, true );
|
||||
|
||||
caf::PdmUiGroup* fontGroup = uiOrdering.addNewGroup( "Fonts" );
|
||||
fontGroup->setCollapsedByDefault();
|
||||
RimPlotWindow::uiOrderingForFonts( uiConfigName, *fontGroup );
|
||||
fontGroup->add( &m_subTitleFontSize );
|
||||
fontGroup->add( &m_axisTitleFontSize );
|
||||
fontGroup->add( &m_axisValueFontSize );
|
||||
uiOrderingForFonts( uiConfigName, uiOrdering );
|
||||
|
||||
std::vector<RimEnsembleWellLogCurveSet*> ensembleWellLogCurveSets = descendantsOfType<RimEnsembleWellLogCurveSet>();
|
||||
if ( !ensembleWellLogCurveSets.empty() )
|
||||
@ -1291,12 +1280,25 @@ caf::PdmFieldHandle* RimDepthTrackPlot::userDescriptionField()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimDepthTrackPlot::createAndSetCurveTextProvider( RimWellLogTrack* track )
|
||||
void RimDepthTrackPlot::uiOrderingForFonts( const QString& uiConfigName, caf::PdmUiOrdering& uiOrdering )
|
||||
{
|
||||
caf::PdmUiGroup* fontGroup = uiOrdering.addNewGroup( "Fonts" );
|
||||
fontGroup->setCollapsedByDefault();
|
||||
RimPlotWindow::uiOrderingForFonts( uiConfigName, *fontGroup );
|
||||
fontGroup->add( &m_subTitleFontSize );
|
||||
fontGroup->add( &m_axisTitleFontSize );
|
||||
fontGroup->add( &m_axisValueFontSize );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimDepthTrackPlot::createPlotWidgetAndAttachCurveTextProvider( RimWellLogTrack* track )
|
||||
{
|
||||
if ( !track ) return;
|
||||
track->createPlotWidget();
|
||||
|
||||
auto* qwtPlotWidget = dynamic_cast<RiuQwtPlotWidget*>( track->plotWidget() );
|
||||
|
||||
if ( !qwtPlotWidget ) return;
|
||||
|
||||
new RiuWellLogCurvePointTracker( qwtPlotWidget->qwtPlot(), curveTextProvider(), track );
|
||||
@ -1305,7 +1307,7 @@ void RimDepthTrackPlot::createAndSetCurveTextProvider( RimWellLogTrack* track )
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiuPlotCurveInfoTextProvider* RimDepthTrackPlot::curveTextProvider() const
|
||||
RiuPlotCurveInfoTextProvider* RimDepthTrackPlot::curveTextProvider()
|
||||
{
|
||||
static auto textProvider = RimWellLogCurveInfoTextProvider();
|
||||
return &textProvider;
|
||||
@ -1325,7 +1327,8 @@ void RimDepthTrackPlot::insertPlot( RimPlot* plot, size_t index )
|
||||
|
||||
if ( m_viewer )
|
||||
{
|
||||
wellLogTrack->createPlotWidget();
|
||||
RimDepthTrackPlot::createPlotWidgetAndAttachCurveTextProvider( wellLogTrack );
|
||||
|
||||
m_viewer->insertPlot( wellLogTrack->plotWidget(), index );
|
||||
}
|
||||
wellLogTrack->setShowWindow( true );
|
||||
|
@ -198,8 +198,14 @@ protected:
|
||||
void updatePlots();
|
||||
caf::PdmFieldHandle* userDescriptionField() override;
|
||||
|
||||
void createAndSetCurveTextProvider( RimWellLogTrack* track );
|
||||
virtual RiuPlotCurveInfoTextProvider* curveTextProvider() const;
|
||||
void uiOrderingForFonts( const QString& uiConfigName, caf::PdmUiOrdering& uiOrdering );
|
||||
|
||||
protected:
|
||||
bool m_commonDataSourceEnabled;
|
||||
caf::PdmChildField<RimWellLogCurveCommonDataSource*> m_commonDataSource;
|
||||
caf::PdmChildField<RimWellLogPlotNameConfig*> m_nameConfig;
|
||||
caf::PdmField<caf::AppEnum<DepthTypeEnum>> m_depthType;
|
||||
caf::PdmField<caf::AppEnum<RiaDefines::Orientation>> m_depthOrientation;
|
||||
|
||||
private:
|
||||
void cleanupBeforeClose();
|
||||
@ -209,17 +215,16 @@ private:
|
||||
void doUpdateLayout() override;
|
||||
void onPlotsReordered( const caf::SignalEmitter* emitter );
|
||||
|
||||
protected:
|
||||
caf::PdmChildField<RimWellLogCurveCommonDataSource*> m_commonDataSource;
|
||||
bool m_commonDataSourceEnabled;
|
||||
static void createPlotWidgetAndAttachCurveTextProvider( RimWellLogTrack* track );
|
||||
static RiuPlotCurveInfoTextProvider* curveTextProvider();
|
||||
|
||||
private:
|
||||
caf::PdmField<QString> m_plotWindowTitle;
|
||||
caf::PdmField<QString> m_nameTemplateText;
|
||||
|
||||
caf::PdmField<caf::AppEnum<RiaDefines::ObjectNamingMethod>> m_namingMethod;
|
||||
|
||||
// Depth axis
|
||||
caf::PdmField<caf::AppEnum<DepthTypeEnum>> m_depthType;
|
||||
caf::PdmField<caf::AppEnum<RiaDefines::DepthUnitType>> m_depthUnit;
|
||||
caf::PdmField<double> m_minVisibleDepth;
|
||||
caf::PdmField<double> m_maxVisibleDepth;
|
||||
@ -235,14 +240,11 @@ protected:
|
||||
caf::PdmField<caf::FontTools::RelativeSizeEnum> m_axisTitleFontSize;
|
||||
caf::PdmField<caf::FontTools::RelativeSizeEnum> m_axisValueFontSize;
|
||||
|
||||
caf::PdmChildField<RimWellLogPlotNameConfig*> m_nameConfig;
|
||||
caf::PdmChildArrayField<RimWellLogTrack*> m_plots;
|
||||
caf::PdmChildArrayField<RimWellLogTrack*> m_plots;
|
||||
|
||||
caf::PdmField<caf::AppEnum<RimEnsembleWellLogStatistics::DepthEqualization>> m_depthEqualization;
|
||||
caf::PdmPtrField<RimEnsembleCurveSet*> m_ensembleCurveSet;
|
||||
|
||||
caf::PdmField<caf::AppEnum<RiaDefines::Orientation>> m_depthOrientation;
|
||||
|
||||
QPointer<RiuWellLogPlot> m_viewer;
|
||||
std::set<RiaDefines::DepthUnitType> m_availableDepthUnits;
|
||||
std::set<DepthTypeEnum> m_availableDepthTypes;
|
||||
|
@ -1211,7 +1211,7 @@ void RimPlotCurve::detach( bool deletePlotCurve )
|
||||
}
|
||||
}
|
||||
|
||||
m_parentPlot->scheduleReplot();
|
||||
if ( m_parentPlot ) m_parentPlot->scheduleReplot();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -132,13 +132,7 @@ void RimWellBoreStabilityPlot::defineUiOrdering( QString uiConfigName, caf::PdmU
|
||||
legendGroup->setCollapsedByDefault();
|
||||
RimPlotWindow::uiOrderingForLegends( uiConfigName, *legendGroup, true );
|
||||
|
||||
caf::PdmUiGroup* fontGroup = uiOrdering.addNewGroup( "Fonts" );
|
||||
fontGroup->setCollapsedByDefault();
|
||||
RimPlotWindow::uiOrderingForFonts( uiConfigName, *fontGroup );
|
||||
|
||||
fontGroup->add( &m_subTitleFontSize );
|
||||
fontGroup->add( &m_axisTitleFontSize );
|
||||
fontGroup->add( &m_axisValueFontSize );
|
||||
RimDepthTrackPlot::uiOrderingForFonts( uiConfigName, uiOrdering );
|
||||
|
||||
uiOrdering.skipRemainingFields( true );
|
||||
}
|
||||
|
@ -294,6 +294,8 @@ RimWellLogTrack::RimWellLogTrack()
|
||||
RimWellLogTrack::~RimWellLogTrack()
|
||||
{
|
||||
m_curves.deleteChildren();
|
||||
|
||||
deleteViewWidget();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user