mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#9347 Well Log Plot : Add possibility to show depth axis in all tracks
This commit is contained in:
parent
1a5da47418
commit
3f9f337e64
@ -35,6 +35,15 @@ void caf::AppEnum<RiaDefines::PlotAxis>::setUp()
|
|||||||
|
|
||||||
setDefault( RiaDefines::PlotAxis::PLOT_AXIS_LEFT );
|
setDefault( RiaDefines::PlotAxis::PLOT_AXIS_LEFT );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <>
|
||||||
|
void caf::AppEnum<RiaDefines::MultiPlotAxisVisibility>::setUp()
|
||||||
|
{
|
||||||
|
addItem( RiaDefines::MultiPlotAxisVisibility::ONE_VISIBLE, "ONE_VISIBLE", "One Axis Per Plot" );
|
||||||
|
addItem( RiaDefines::MultiPlotAxisVisibility::ALL_VISIBLE, "ALL_VISIBLE", "All Axis Visible" );
|
||||||
|
|
||||||
|
setDefault( RiaDefines::MultiPlotAxisVisibility::ONE_VISIBLE );
|
||||||
|
}
|
||||||
}; // namespace caf
|
}; // namespace caf
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -59,6 +59,12 @@ enum class Orientation
|
|||||||
VERTICAL
|
VERTICAL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum class MultiPlotAxisVisibility
|
||||||
|
{
|
||||||
|
ONE_VISIBLE,
|
||||||
|
ALL_VISIBLE
|
||||||
|
};
|
||||||
|
|
||||||
double minimumDefaultValuePlot();
|
double minimumDefaultValuePlot();
|
||||||
double minimumDefaultLogValuePlot();
|
double minimumDefaultLogValuePlot();
|
||||||
double maximumDefaultValuePlot();
|
double maximumDefaultValuePlot();
|
||||||
|
@ -123,6 +123,9 @@ RimDepthTrackPlot::RimDepthTrackPlot()
|
|||||||
CAF_PDM_InitScriptableField( &m_isAutoScaleDepthEnabled, "AutoScaleDepthEnabled", true, "Auto Scale" );
|
CAF_PDM_InitScriptableField( &m_isAutoScaleDepthEnabled, "AutoScaleDepthEnabled", true, "Auto Scale" );
|
||||||
m_isAutoScaleDepthEnabled.uiCapability()->setUiHidden( true );
|
m_isAutoScaleDepthEnabled.uiCapability()->setUiHidden( true );
|
||||||
|
|
||||||
|
caf::AppEnum<RiaDefines::MultiPlotAxisVisibility> depthAxisVisibility = RiaDefines::MultiPlotAxisVisibility::ONE_VISIBLE;
|
||||||
|
CAF_PDM_InitField( &m_depthAxisVisibility, "DepthAxisVisibility", depthAxisVisibility, "Axis Visibility" );
|
||||||
|
|
||||||
CAF_PDM_InitScriptableFieldNoDefault( &m_subTitleFontSize, "SubTitleFontSize", "Track Title Font Size" );
|
CAF_PDM_InitScriptableFieldNoDefault( &m_subTitleFontSize, "SubTitleFontSize", "Track Title Font Size" );
|
||||||
CAF_PDM_InitScriptableFieldNoDefault( &m_axisTitleFontSize, "AxisTitleFontSize", "Axis Title Font Size" );
|
CAF_PDM_InitScriptableFieldNoDefault( &m_axisTitleFontSize, "AxisTitleFontSize", "Axis Title Font Size" );
|
||||||
CAF_PDM_InitScriptableFieldNoDefault( &m_axisValueFontSize, "AxisValueFontSize", "Axis Value Font Size" );
|
CAF_PDM_InitScriptableFieldNoDefault( &m_axisValueFontSize, "AxisValueFontSize", "Axis Value Font Size" );
|
||||||
@ -200,6 +203,7 @@ RimDepthTrackPlot& RimDepthTrackPlot::operator=( RimDepthTrackPlot&& rhs )
|
|||||||
m_maxVisibleDepth = rhs.m_maxVisibleDepth();
|
m_maxVisibleDepth = rhs.m_maxVisibleDepth();
|
||||||
m_depthAxisGridVisibility = rhs.m_depthAxisGridVisibility();
|
m_depthAxisGridVisibility = rhs.m_depthAxisGridVisibility();
|
||||||
m_isAutoScaleDepthEnabled = rhs.m_isAutoScaleDepthEnabled();
|
m_isAutoScaleDepthEnabled = rhs.m_isAutoScaleDepthEnabled();
|
||||||
|
m_depthAxisVisibility = rhs.m_depthAxisVisibility();
|
||||||
|
|
||||||
m_subTitleFontSize = rhs.m_subTitleFontSize();
|
m_subTitleFontSize = rhs.m_subTitleFontSize();
|
||||||
m_axisTitleFontSize = rhs.m_axisTitleFontSize();
|
m_axisTitleFontSize = rhs.m_axisTitleFontSize();
|
||||||
@ -473,6 +477,7 @@ void RimDepthTrackPlot::uiOrderingForDepthAxis( QString uiConfigName, caf::PdmUi
|
|||||||
uiOrdering.add( &m_minVisibleDepth );
|
uiOrdering.add( &m_minVisibleDepth );
|
||||||
uiOrdering.add( &m_maxVisibleDepth );
|
uiOrdering.add( &m_maxVisibleDepth );
|
||||||
uiOrdering.add( &m_depthAxisGridVisibility );
|
uiOrdering.add( &m_depthAxisGridVisibility );
|
||||||
|
uiOrdering.add( &m_depthAxisVisibility );
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -878,7 +883,7 @@ void RimDepthTrackPlot::fieldChangedByUi( const caf::PdmFieldHandle* changedFiel
|
|||||||
m_isAutoScaleDepthEnabled = true;
|
m_isAutoScaleDepthEnabled = true;
|
||||||
onLoadDataAndUpdate();
|
onLoadDataAndUpdate();
|
||||||
}
|
}
|
||||||
else if ( changedField == &m_depthOrientation )
|
else if ( changedField == &m_depthOrientation || changedField == &m_depthAxisVisibility )
|
||||||
{
|
{
|
||||||
onLoadDataAndUpdate();
|
onLoadDataAndUpdate();
|
||||||
}
|
}
|
||||||
@ -1214,6 +1219,22 @@ void RimDepthTrackPlot::setDepthOrientation( DepthOrientation depthOrientation )
|
|||||||
m_depthOrientation = depthOrientation;
|
m_depthOrientation = depthOrientation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
RiaDefines::MultiPlotAxisVisibility RimDepthTrackPlot::depthAxisVisibility() const
|
||||||
|
{
|
||||||
|
return m_depthAxisVisibility();
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimDepthTrackPlot::setDepthAxisVisibility( RiaDefines::MultiPlotAxisVisibility axisVisibility )
|
||||||
|
{
|
||||||
|
m_depthAxisVisibility = axisVisibility;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -20,6 +20,8 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "RiaDefines.h"
|
#include "RiaDefines.h"
|
||||||
|
#include "RiaPlotDefines.h"
|
||||||
|
|
||||||
#include "RimAbstractPlotCollection.h"
|
#include "RimAbstractPlotCollection.h"
|
||||||
#include "RimEnsembleWellLogStatistics.h"
|
#include "RimEnsembleWellLogStatistics.h"
|
||||||
#include "RimPlot.h"
|
#include "RimPlot.h"
|
||||||
@ -107,6 +109,9 @@ public:
|
|||||||
RimDepthTrackPlot::DepthOrientation depthOrientation() const;
|
RimDepthTrackPlot::DepthOrientation depthOrientation() const;
|
||||||
void setDepthOrientation( RimDepthTrackPlot::DepthOrientation depthOrientation );
|
void setDepthOrientation( RimDepthTrackPlot::DepthOrientation depthOrientation );
|
||||||
|
|
||||||
|
RiaDefines::MultiPlotAxisVisibility depthAxisVisibility() const;
|
||||||
|
void setDepthAxisVisibility( RiaDefines::MultiPlotAxisVisibility axisVisibility );
|
||||||
|
|
||||||
RiuPlotAxis depthAxis() const;
|
RiuPlotAxis depthAxis() const;
|
||||||
RiuPlotAxis valueAxis() const;
|
RiuPlotAxis valueAxis() const;
|
||||||
RiuPlotAxis annotationAxis() const;
|
RiuPlotAxis annotationAxis() const;
|
||||||
@ -188,16 +193,20 @@ protected:
|
|||||||
caf::PdmChildField<RimWellLogCurveCommonDataSource*> m_commonDataSource;
|
caf::PdmChildField<RimWellLogCurveCommonDataSource*> m_commonDataSource;
|
||||||
bool m_commonDataSourceEnabled;
|
bool m_commonDataSourceEnabled;
|
||||||
|
|
||||||
caf::PdmField<QString> m_plotWindowTitle;
|
caf::PdmField<QString> m_plotWindowTitle;
|
||||||
caf::PdmField<caf::AppEnum<DepthTypeEnum>> m_depthType;
|
|
||||||
caf::PdmField<caf::AppEnum<RiaDefines::DepthUnitType>> m_depthUnit;
|
// Depth axis
|
||||||
caf::PdmField<double> m_minVisibleDepth;
|
caf::PdmField<caf::AppEnum<DepthTypeEnum>> m_depthType;
|
||||||
caf::PdmField<double> m_maxVisibleDepth;
|
caf::PdmField<caf::AppEnum<RiaDefines::DepthUnitType>> m_depthUnit;
|
||||||
caf::PdmField<AxisGridEnum> m_depthAxisGridVisibility;
|
caf::PdmField<double> m_minVisibleDepth;
|
||||||
caf::PdmField<bool> m_isAutoScaleDepthEnabled;
|
caf::PdmField<double> m_maxVisibleDepth;
|
||||||
caf::PdmField<caf::FontTools::RelativeSizeEnum> m_subTitleFontSize;
|
caf::PdmField<AxisGridEnum> m_depthAxisGridVisibility;
|
||||||
caf::PdmField<caf::FontTools::RelativeSizeEnum> m_axisTitleFontSize;
|
caf::PdmField<bool> m_isAutoScaleDepthEnabled;
|
||||||
caf::PdmField<caf::FontTools::RelativeSizeEnum> m_axisValueFontSize;
|
caf::PdmField<caf::AppEnum<RiaDefines::MultiPlotAxisVisibility>> m_depthAxisVisibility;
|
||||||
|
|
||||||
|
caf::PdmField<caf::FontTools::RelativeSizeEnum> m_subTitleFontSize;
|
||||||
|
caf::PdmField<caf::FontTools::RelativeSizeEnum> m_axisTitleFontSize;
|
||||||
|
caf::PdmField<caf::FontTools::RelativeSizeEnum> m_axisValueFontSize;
|
||||||
|
|
||||||
caf::PdmChildField<RimWellLogPlotNameConfig*> m_nameConfig;
|
caf::PdmChildField<RimWellLogPlotNameConfig*> m_nameConfig;
|
||||||
caf::PdmChildArrayField<RimWellLogTrack*> m_plots;
|
caf::PdmChildArrayField<RimWellLogTrack*> m_plots;
|
||||||
|
@ -1287,19 +1287,30 @@ void RimWellLogTrack::updateAxesVisibility( RimDepthTrackPlot::DepthOrientation
|
|||||||
|
|
||||||
bool needUpdate = false;
|
bool needUpdate = false;
|
||||||
|
|
||||||
|
RimDepthTrackPlot* wellLogPlot;
|
||||||
|
this->firstAncestorOrThisOfTypeAsserted( wellLogPlot );
|
||||||
|
|
||||||
|
bool showFirstTrack =
|
||||||
|
wellLogPlot->depthAxisVisibility() == RiaDefines::MultiPlotAxisVisibility::ALL_VISIBLE ||
|
||||||
|
( isFirstTrack && wellLogPlot->depthAxisVisibility() == RiaDefines::MultiPlotAxisVisibility::ONE_VISIBLE );
|
||||||
|
|
||||||
|
bool showLastTrack =
|
||||||
|
wellLogPlot->depthAxisVisibility() == RiaDefines::MultiPlotAxisVisibility::ALL_VISIBLE ||
|
||||||
|
( isLastTrack && wellLogPlot->depthAxisVisibility() == RiaDefines::MultiPlotAxisVisibility::ONE_VISIBLE );
|
||||||
|
|
||||||
if ( orientation == RimDepthTrackPlot::DepthOrientation::VERTICAL )
|
if ( orientation == RimDepthTrackPlot::DepthOrientation::VERTICAL )
|
||||||
{
|
{
|
||||||
// Show depth axis only for the first track (on the left side)
|
// Show depth axis only for the first track (on the left side)
|
||||||
needUpdate |= setAxisVisible( QwtAxis::XBottom, false );
|
needUpdate |= setAxisVisible( QwtAxis::XBottom, false );
|
||||||
needUpdate |= setAxisVisible( QwtAxis::XTop, true );
|
needUpdate |= setAxisVisible( QwtAxis::XTop, true );
|
||||||
needUpdate |= setAxisVisible( QwtAxis::YLeft, isFirstTrack );
|
needUpdate |= setAxisVisible( QwtAxis::YLeft, showFirstTrack );
|
||||||
needUpdate |= setAxisVisible( QwtAxis::YRight, false );
|
needUpdate |= setAxisVisible( QwtAxis::YRight, false );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Show depth axis only for the last track (on the bottom side)
|
// Show depth axis only for the last track (on the bottom side)
|
||||||
needUpdate |= setAxisVisible( QwtAxis::XTop, false );
|
needUpdate |= setAxisVisible( QwtAxis::XTop, false );
|
||||||
needUpdate |= setAxisVisible( QwtAxis::XBottom, isLastTrack );
|
needUpdate |= setAxisVisible( QwtAxis::XBottom, showLastTrack );
|
||||||
needUpdate |= setAxisVisible( QwtAxis::YLeft, true );
|
needUpdate |= setAxisVisible( QwtAxis::YLeft, true );
|
||||||
needUpdate |= setAxisVisible( QwtAxis::YRight, false );
|
needUpdate |= setAxisVisible( QwtAxis::YRight, false );
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user