#3155 Implement grid lines settings for depth axis as well

* Done to "get away with" removing tick marks on all depth axes apart from the first track
This commit is contained in:
Gaute Lindkvist 2018-07-06 11:22:18 +02:00
parent 162d82f8b7
commit ca1f9506b1
8 changed files with 118 additions and 64 deletions

View File

@ -197,7 +197,7 @@ void RicNewWellBoreStabilityPlotFeature::createStabilityCurvesTrack(RimWellLogPl
stabilityCurvesTrack->setWidthScaleFactor(RimWellLogTrack::EXTRA_WIDE_TRACK); stabilityCurvesTrack->setWidthScaleFactor(RimWellLogTrack::EXTRA_WIDE_TRACK);
stabilityCurvesTrack->setAutoScaleXEnabled(true); stabilityCurvesTrack->setAutoScaleXEnabled(true);
stabilityCurvesTrack->setTickIntervals(0.5, 0.05); stabilityCurvesTrack->setTickIntervals(0.5, 0.05);
stabilityCurvesTrack->enableGridLines(RimWellLogTrack::GRID_X_MAJOR_AND_MINOR); stabilityCurvesTrack->setXAxisGridVisibility(RimWellLogPlot::AXIS_GRID_MAJOR_AND_MINOR);
stabilityCurvesTrack->setFormationWellPath(wellPath); stabilityCurvesTrack->setFormationWellPath(wellPath);
stabilityCurvesTrack->setFormationCase(geoMechView->geoMechCase()); stabilityCurvesTrack->setFormationCase(geoMechView->geoMechCase());
stabilityCurvesTrack->setShowFormations(true); stabilityCurvesTrack->setShowFormations(true);
@ -270,7 +270,7 @@ void RicNewWellBoreStabilityPlotFeature::createAnglesTrack(RimWellLogPlot* plot,
wellPathAnglesTrack->setWidthScaleFactor(RimWellLogTrack::NORMAL_TRACK); wellPathAnglesTrack->setWidthScaleFactor(RimWellLogTrack::NORMAL_TRACK);
wellPathAnglesTrack->setVisibleXRange(minValue, maxValue); wellPathAnglesTrack->setVisibleXRange(minValue, maxValue);
wellPathAnglesTrack->setTickIntervals(90.0, 30.0); wellPathAnglesTrack->setTickIntervals(90.0, 30.0);
wellPathAnglesTrack->enableGridLines(RimWellLogTrack::GRID_X_MAJOR_AND_MINOR); wellPathAnglesTrack->setXAxisGridVisibility(RimWellLogPlot::AXIS_GRID_MAJOR_AND_MINOR);
wellPathAnglesTrack->setFormationWellPath(wellPath); wellPathAnglesTrack->setFormationWellPath(wellPath);
wellPathAnglesTrack->setFormationCase(geoMechView->geoMechCase()); wellPathAnglesTrack->setFormationCase(geoMechView->geoMechCase());
wellPathAnglesTrack->setShowFormations(true); wellPathAnglesTrack->setShowFormations(true);

View File

@ -53,6 +53,15 @@ namespace caf {
setDefault(RimWellLogPlot::MEASURED_DEPTH); setDefault(RimWellLogPlot::MEASURED_DEPTH);
} }
template<>
void RimWellLogPlot::AxisGridEnum::setUp()
{
addItem(RimWellLogPlot::AXIS_GRID_NONE, "GRID_X_NONE", "No Grid Lines");
addItem(RimWellLogPlot::AXIS_GRID_MAJOR, "GRID_X_MAJOR", "Major Only");
addItem(RimWellLogPlot::AXIS_GRID_MAJOR_AND_MINOR, "GRID_X_MAJOR_AND_MINOR", "Major and Minor");
setDefault(RimWellLogPlot::AXIS_GRID_MAJOR);
}
} // End namespace caf } // End namespace caf
@ -78,6 +87,7 @@ RimWellLogPlot::RimWellLogPlot()
CAF_PDM_InitField(&m_minVisibleDepth, "MinimumDepth", 0.0, "Min", "", "", ""); CAF_PDM_InitField(&m_minVisibleDepth, "MinimumDepth", 0.0, "Min", "", "", "");
CAF_PDM_InitField(&m_maxVisibleDepth, "MaximumDepth", 1000.0, "Max", "", "", ""); CAF_PDM_InitField(&m_maxVisibleDepth, "MaximumDepth", 1000.0, "Max", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_depthAxisGridVisibility, "ShowDepthGridLines", "Show Grid Lines", "", "", "");
CAF_PDM_InitField(&m_isAutoScaleDepthEnabled, "AutoScaleDepthEnabled", true, "Auto Scale", "", "", ""); CAF_PDM_InitField(&m_isAutoScaleDepthEnabled, "AutoScaleDepthEnabled", true, "Auto Scale", "", "", "");
m_isAutoScaleDepthEnabled.uiCapability()->setUiHidden(true); m_isAutoScaleDepthEnabled.uiCapability()->setUiHidden(true);
CAF_PDM_InitField(&m_showTitleInPlot, "ShowTitleInPlot", false, "Show Title", "", "", ""); CAF_PDM_InitField(&m_showTitleInPlot, "ShowTitleInPlot", false, "Show Title", "", "", "");
@ -135,7 +145,8 @@ void RimWellLogPlot::fieldChangedByUi(const caf::PdmFieldHandle* changedField, c
} }
else if (changedField == &m_showTitleInPlot || else if (changedField == &m_showTitleInPlot ||
changedField == &m_showTrackLegends || changedField == &m_showTrackLegends ||
changedField == &m_trackLegendsHorizontal) changedField == &m_trackLegendsHorizontal ||
changedField == &m_depthAxisGridVisibility)
{ {
updateTracks(); updateTracks();
if (m_viewer) m_viewer->updateChildrenLayout(); if (m_viewer) m_viewer->updateChildrenLayout();
@ -568,6 +579,7 @@ void RimWellLogPlot::uiOrderingForDepthAxis(caf::PdmUiOrdering& uiOrdering)
} }
gridGroup->add(&m_minVisibleDepth); gridGroup->add(&m_minVisibleDepth);
gridGroup->add(&m_maxVisibleDepth); gridGroup->add(&m_maxVisibleDepth);
gridGroup->add(&m_depthAxisGridVisibility);
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -830,6 +842,22 @@ QString RimWellLogPlot::depthPlotTitle() const
return depthTitle; return depthTitle;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimWellLogPlot::enableDepthGridLines(AxisGridVisibility gridVisibility)
{
m_depthAxisGridVisibility = gridVisibility;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimWellLogPlot::AxisGridVisibility RimWellLogPlot::depthGridLinesVisibility() const
{
return m_depthAxisGridVisibility();
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -52,8 +52,9 @@ public:
CONNECTION_NUMBER CONNECTION_NUMBER
}; };
enum AxisGridVisibility { AXIS_GRID_NONE, AXIS_GRID_MAJOR, AXIS_GRID_MAJOR_AND_MINOR };
typedef caf::AppEnum<AxisGridVisibility> AxisGridEnum;
public: public:
RimWellLogPlot(); RimWellLogPlot();
@ -71,8 +72,10 @@ public:
RiaDefines::DepthUnitType depthUnit() const; RiaDefines::DepthUnitType depthUnit() const;
void setDepthUnit(RiaDefines::DepthUnitType depthUnit); void setDepthUnit(RiaDefines::DepthUnitType depthUnit);
QString depthPlotTitle() const; QString depthPlotTitle() const;
void enableDepthGridLines(AxisGridVisibility gridVisibility);
AxisGridVisibility depthGridLinesVisibility() const;
bool isPlotTitleVisible() const; bool isPlotTitleVisible() const;
void setPlotTitleVisible(bool visible); void setPlotTitleVisible(bool visible);
bool areTrackLegendsVisible() const; bool areTrackLegendsVisible() const;
@ -140,25 +143,24 @@ private:
void updatePlotTitle(); void updatePlotTitle();
private: private:
caf::PdmField<QString> m_userName; caf::PdmField<QString> m_userName;
caf::PdmChildArrayField<RimWellLogTrack*> m_tracks;
caf::PdmField< caf::AppEnum<DepthTypeEnum>> m_depthType;
caf::PdmField< caf::AppEnum<RiaDefines::DepthUnitType>> m_depthUnit;
std::set<RimWellLogPlot::DepthTypeEnum> m_disabledDepthTypes;
caf::PdmField<double> m_minVisibleDepth;
caf::PdmField<double> m_maxVisibleDepth;
caf::PdmField<AxisGridEnum> m_depthAxisGridVisibility;
caf::PdmField<bool> m_isAutoScaleDepthEnabled;
caf::PdmField< caf::AppEnum< DepthTypeEnum > > m_depthType; caf::PdmField<bool> m_showTitleInPlot;
caf::PdmField< caf::AppEnum< RiaDefines::DepthUnitType > > m_depthUnit; caf::PdmField<bool> m_showTrackLegends;
std::set<DepthTypeEnum> m_disabledDepthTypes; caf::PdmField<bool> m_trackLegendsHorizontal;
caf::PdmChildArrayField<RimWellLogTrack*> m_tracks; double m_minAvailableDepth;
double m_maxAvailableDepth;
caf::PdmField<double> m_minVisibleDepth;
caf::PdmField<double> m_maxVisibleDepth;
caf::PdmField<bool> m_isAutoScaleDepthEnabled;
caf::PdmField<bool> m_showTitleInPlot;
caf::PdmField<bool> m_showTrackLegends;
caf::PdmField<bool> m_trackLegendsHorizontal;
double m_minAvailableDepth;
double m_maxAvailableDepth;
friend class RiuWellLogPlot; friend class RiuWellLogPlot;
QPointer<RiuWellLogPlot> m_viewer; QPointer<RiuWellLogPlot> m_viewer;
}; };

View File

@ -114,15 +114,6 @@ namespace caf
addItem(RimWellLogTrack::EXTRA_WIDE_TRACK, "EXTRA_WIDE_TRACK", "Extra wide"); addItem(RimWellLogTrack::EXTRA_WIDE_TRACK, "EXTRA_WIDE_TRACK", "Extra wide");
setDefault(RimWellLogTrack::NORMAL_TRACK); setDefault(RimWellLogTrack::NORMAL_TRACK);
} }
template<>
void AppEnum< RimWellLogTrack::GridLines >::setUp()
{
addItem(RimWellLogTrack::GRID_X_NONE, "GRID_X_NONE", "No Gridlines");
addItem(RimWellLogTrack::GRID_X_MAJOR, "GRID_X_MAJOR", "Major Only");
addItem(RimWellLogTrack::GRID_X_MAJOR_AND_MINOR, "GRID_X_MAJOR_AND_MINOR", "Major and Minor");
setDefault(RimWellLogTrack::GRID_X_MAJOR);
}
} }
@ -150,7 +141,7 @@ RimWellLogTrack::RimWellLogTrack()
CAF_PDM_InitField(&m_isLogarithmicScaleEnabled, "LogarithmicScaleX", false, "Logarithmic Scale", "", "", ""); CAF_PDM_InitField(&m_isLogarithmicScaleEnabled, "LogarithmicScaleX", false, "Logarithmic Scale", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_showXGridLines, "ShowXGridLines", "Show Grid Lines", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_xAxisGridVisibility, "ShowXGridLines", "Show Grid Lines", "", "", "");
CAF_PDM_InitField(&m_explicitTickIntervals, "ExplicitTickIntervals", false, "Manually Set Tick Intervals", "", "", ""); CAF_PDM_InitField(&m_explicitTickIntervals, "ExplicitTickIntervals", false, "Manually Set Tick Intervals", "", "", "");
CAF_PDM_InitField(&m_majorTickInterval, "MajorTickIntervals", 0.0, "Major Tick Interval", "", "", ""); CAF_PDM_InitField(&m_majorTickInterval, "MajorTickIntervals", 0.0, "Major Tick Interval", "", "", "");
@ -274,7 +265,7 @@ void RimWellLogTrack::fieldChangedByUi(const caf::PdmFieldHandle* changedField,
m_wellLogTrackPlotWidget->replot(); m_wellLogTrackPlotWidget->replot();
} }
} }
else if (changedField == &m_showXGridLines || else if (changedField == &m_xAxisGridVisibility ||
changedField == &m_majorTickInterval || changedField == &m_majorTickInterval ||
changedField == &m_minorTickInterval) changedField == &m_minorTickInterval)
{ {
@ -288,7 +279,7 @@ void RimWellLogTrack::fieldChangedByUi(const caf::PdmFieldHandle* changedField,
m_isAutoScaleXEnabled = false; m_isAutoScaleXEnabled = false;
bool emptyRange = std::abs(m_visibleXRangeMax() - m_visibleXRangeMin) < 1.0e-6 * std::max(1.0, std::max(m_visibleXRangeMax(), m_visibleXRangeMin())); bool emptyRange = std::abs(m_visibleXRangeMax() - m_visibleXRangeMin) < 1.0e-6 * std::max(1.0, std::max(m_visibleXRangeMax(), m_visibleXRangeMin()));
m_explicitTickIntervals.uiCapability()->setUiReadOnly(emptyRange); m_explicitTickIntervals.uiCapability()->setUiReadOnly(emptyRange);
m_showXGridLines.uiCapability()->setUiReadOnly(emptyRange); m_xAxisGridVisibility.uiCapability()->setUiReadOnly(emptyRange);
updateEditors(); updateEditors();
updateParentPlotLayout(); updateParentPlotLayout();
@ -477,16 +468,31 @@ void RimWellLogTrack::updateAxisAndGridTickIntervals()
m_wellLogTrackPlotWidget->setAutoTickIntervalCounts(xMajorTickIntervals, xMinorTickIntervals); m_wellLogTrackPlotWidget->setAutoTickIntervalCounts(xMajorTickIntervals, xMinorTickIntervals);
} }
switch (m_showXGridLines()) switch (m_xAxisGridVisibility())
{ {
case GRID_X_NONE: case RimWellLogPlot::AXIS_GRID_NONE:
m_wellLogTrackPlotWidget->enableGridLines(false, false); m_wellLogTrackPlotWidget->enableXGridLines(false, false);
break; break;
case GRID_X_MAJOR: case RimWellLogPlot::AXIS_GRID_MAJOR:
m_wellLogTrackPlotWidget->enableGridLines(true, false); m_wellLogTrackPlotWidget->enableXGridLines(true, false);
break; break;
case GRID_X_MAJOR_AND_MINOR: case RimWellLogPlot::AXIS_GRID_MAJOR_AND_MINOR:
m_wellLogTrackPlotWidget->enableGridLines(true, true); m_wellLogTrackPlotWidget->enableXGridLines(true, true);
break;
}
RimWellLogPlot* plot = nullptr;
this->firstAncestorOrThisOfTypeAsserted(plot);
switch (plot->depthGridLinesVisibility())
{
case RimWellLogPlot::AXIS_GRID_NONE:
m_wellLogTrackPlotWidget->enableDepthGridLines(false, false);
break;
case RimWellLogPlot::AXIS_GRID_MAJOR:
m_wellLogTrackPlotWidget->enableDepthGridLines(true, false);
break;
case RimWellLogPlot::AXIS_GRID_MAJOR_AND_MINOR:
m_wellLogTrackPlotWidget->enableDepthGridLines(true, true);
break; break;
} }
} }
@ -705,7 +711,7 @@ void RimWellLogTrack::loadDataAndUpdate()
bool emptyRange = std::abs(m_visibleXRangeMax() - m_visibleXRangeMin) < 1.0e-6 * std::max(1.0, std::max(m_visibleXRangeMax(), m_visibleXRangeMin())); bool emptyRange = std::abs(m_visibleXRangeMax() - m_visibleXRangeMin) < 1.0e-6 * std::max(1.0, std::max(m_visibleXRangeMax(), m_visibleXRangeMin()));
m_explicitTickIntervals.uiCapability()->setUiReadOnly(emptyRange); m_explicitTickIntervals.uiCapability()->setUiReadOnly(emptyRange);
m_showXGridLines.uiCapability()->setUiReadOnly(emptyRange); m_xAxisGridVisibility.uiCapability()->setUiReadOnly(emptyRange);
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -1032,9 +1038,9 @@ void RimWellLogTrack::setTickIntervals(double majorTickInterval, double minorTic
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimWellLogTrack::enableGridLines(GridLines gridLines) void RimWellLogTrack::setXAxisGridVisibility(RimWellLogPlot::AxisGridVisibility gridLines)
{ {
m_showXGridLines = gridLines; m_xAxisGridVisibility = gridLines;
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -1292,7 +1298,7 @@ void RimWellLogTrack::uiOrderingForXAxisSettings(caf::PdmUiOrdering& uiOrdering)
gridGroup->add(&m_isLogarithmicScaleEnabled); gridGroup->add(&m_isLogarithmicScaleEnabled);
gridGroup->add(&m_visibleXRangeMin); gridGroup->add(&m_visibleXRangeMin);
gridGroup->add(&m_visibleXRangeMax); gridGroup->add(&m_visibleXRangeMax);
gridGroup->add(&m_showXGridLines); gridGroup->add(&m_xAxisGridVisibility);
gridGroup->add(&m_explicitTickIntervals); gridGroup->add(&m_explicitTickIntervals);
gridGroup->add(&m_majorTickInterval); gridGroup->add(&m_majorTickInterval);
gridGroup->add(&m_minorTickInterval); gridGroup->add(&m_minorTickInterval);

View File

@ -71,7 +71,6 @@ public:
enum TrajectoryType { WELL_PATH, SIMULATION_WELL }; enum TrajectoryType { WELL_PATH, SIMULATION_WELL };
enum FormationSource { CASE, WELL_PICK_FILTER }; enum FormationSource { CASE, WELL_PICK_FILTER };
enum WidthScaleFactor { EXTRA_NARROW_TRACK = 2, NARROW_TRACK = 3, NORMAL_TRACK = 4, WIDE_TRACK = 6, EXTRA_WIDE_TRACK = 10 }; enum WidthScaleFactor { EXTRA_NARROW_TRACK = 2, NARROW_TRACK = 3, NORMAL_TRACK = 4, WIDE_TRACK = 6, EXTRA_WIDE_TRACK = 10 };
enum GridLines { GRID_X_NONE, GRID_X_MAJOR, GRID_X_MAJOR_AND_MINOR};
void setDescription(const QString& description); void setDescription(const QString& description);
bool isVisible(); bool isVisible();
@ -113,7 +112,7 @@ public:
void updateEditors(); void updateEditors();
void setVisibleXRange(double minValue, double maxValue); void setVisibleXRange(double minValue, double maxValue);
void setTickIntervals(double majorTickInterval, double minorTickInterval); void setTickIntervals(double majorTickInterval, double minorTickInterval);
void enableGridLines(GridLines gridLines); void setXAxisGridVisibility(RimWellLogPlot::AxisGridVisibility gridLines);
void setShowFormations(bool on); void setShowFormations(bool on);
void setShowFormationLabels(bool on); void setShowFormationLabels(bool on);
@ -172,17 +171,17 @@ private:
private: private:
QString m_xAxisTitle; QString m_xAxisTitle;
caf::PdmField<bool> m_show; caf::PdmField<bool> m_show;
caf::PdmField<QString> m_userName; caf::PdmField<QString> m_userName;
caf::PdmChildArrayField<RimWellLogCurve*> curves; caf::PdmChildArrayField<RimWellLogCurve*> curves;
caf::PdmField<double> m_visibleXRangeMin; caf::PdmField<double> m_visibleXRangeMin;
caf::PdmField<double> m_visibleXRangeMax; caf::PdmField<double> m_visibleXRangeMax;
caf::PdmField<bool> m_isAutoScaleXEnabled; caf::PdmField<bool> m_isAutoScaleXEnabled;
caf::PdmField<bool> m_isLogarithmicScaleEnabled; caf::PdmField<bool> m_isLogarithmicScaleEnabled;
caf::PdmField<caf::AppEnum<GridLines>> m_showXGridLines; caf::PdmField<RimWellLogPlot::AxisGridEnum> m_xAxisGridVisibility;
caf::PdmField<bool> m_explicitTickIntervals; caf::PdmField<bool> m_explicitTickIntervals;
caf::PdmField<double> m_majorTickInterval; caf::PdmField<double> m_majorTickInterval;
caf::PdmField<double> m_minorTickInterval; caf::PdmField<double> m_minorTickInterval;
caf::PdmField<bool> m_showFormations; caf::PdmField<bool> m_showFormations;
caf::PdmField<bool> m_showFormationLabels; caf::PdmField<bool> m_showFormationLabels;

View File

@ -493,7 +493,7 @@ void RiuWellLogPlot::updateChildrenLayout()
m_legends[tIdx]->setMaxColumns(legendColumns); m_legends[tIdx]->setMaxColumns(legendColumns);
m_legends[tIdx]->show(); m_legends[tIdx]->show();
m_trackPlots[tIdx]->enableVerticalAxisLabelsAndTitle(numTracksAlreadyShown == 0); m_trackPlots[tIdx]->enableDepthAxisLabelsAndTitle(numTracksAlreadyShown == 0);
numTracksAlreadyShown++; numTracksAlreadyShown++;
} }
else else

View File

@ -1,4 +1,4 @@
///////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// //
// Copyright (C) 2015- Statoil ASA // Copyright (C) 2015- Statoil ASA
// Copyright (C) 2015- Ceetron Solutions AS // Copyright (C) 2015- Ceetron Solutions AS
@ -271,7 +271,7 @@ bool RiuWellLogTrack::isRimTrackVisible()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RiuWellLogTrack::enableVerticalAxisLabelsAndTitle(bool enable) void RiuWellLogTrack::enableDepthAxisLabelsAndTitle(bool enable)
{ {
this->axisScaleDraw(QwtPlot::yLeft)->enableComponent(QwtAbstractScaleDraw::Ticks, enable); this->axisScaleDraw(QwtPlot::yLeft)->enableComponent(QwtAbstractScaleDraw::Ticks, enable);
this->axisScaleDraw(QwtPlot::yLeft)->enableComponent(QwtAbstractScaleDraw::Labels, enable); this->axisScaleDraw(QwtPlot::yLeft)->enableComponent(QwtAbstractScaleDraw::Labels, enable);
@ -292,7 +292,7 @@ int RiuWellLogTrack::widthScaleFactor() const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RiuWellLogTrack::enableGridLines(bool majorGridLines, bool minorGridLines) void RiuWellLogTrack::enableXGridLines(bool majorGridLines, bool minorGridLines)
{ {
QwtPlotItemList plotItems = this->itemList(QwtPlotItem::Rtti_PlotGrid); QwtPlotItemList plotItems = this->itemList(QwtPlotItem::Rtti_PlotGrid);
for (QwtPlotItem* plotItem : plotItems) for (QwtPlotItem* plotItem : plotItems)
@ -306,6 +306,24 @@ void RiuWellLogTrack::enableGridLines(bool majorGridLines, bool minorGridLines)
} }
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuWellLogTrack::enableDepthGridLines(bool majorGridLines, bool minorGridLines)
{
QwtPlotItemList plotItems = this->itemList(QwtPlotItem::Rtti_PlotGrid);
for (QwtPlotItem* plotItem : plotItems)
{
QwtPlotGrid* grid = static_cast<QwtPlotGrid*>(plotItem);
grid->setYAxis(QwtPlot::yLeft);
grid->enableY(majorGridLines);
grid->enableYMin(minorGridLines);
grid->setMajorPen(Qt::lightGray, 1.0, Qt::SolidLine);
grid->setMinorPen(Qt::lightGray, 1.0, Qt::DashLine);
}
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -52,9 +52,10 @@ public:
void setXRange(double min, double max); void setXRange(double min, double max);
bool isRimTrackVisible(); bool isRimTrackVisible();
void enableVerticalAxisLabelsAndTitle(bool enable); void enableDepthAxisLabelsAndTitle(bool enable);
int widthScaleFactor() const; int widthScaleFactor() const;
void enableGridLines(bool majorGridLines, bool minorGridLines); void enableXGridLines(bool majorGridLines, bool minorGridLines);
void enableDepthGridLines(bool majorGridLines, bool minorGridLines);
void setMajorAndMinorTickIntervals(double majorTickInterval, double minorTickInterval); void setMajorAndMinorTickIntervals(double majorTickInterval, double minorTickInterval);
void setAutoTickIntervalCounts(int maxMajorTickIntervalCount, int maxMinorTickIntervalCount); void setAutoTickIntervalCounts(int maxMajorTickIntervalCount, int maxMinorTickIntervalCount);
double getCurrentMajorTickInterval() const; double getCurrentMajorTickInterval() const;