#1173 Added the possibility to hide the legend in a Well Alloc plots ((including WellLog plot )

Also changed the background color to white.
This commit is contained in:
Jacob Støren 2017-02-10 11:22:57 +01:00
parent d1743be8e7
commit 3e7413831a
4 changed files with 40 additions and 7 deletions

View File

@ -73,6 +73,7 @@ RimWellLogPlot::RimWellLogPlot()
CAF_PDM_InitField(&m_minVisibleDepth, "MinimumDepth", 0.0, "Min", "", "", "");
CAF_PDM_InitField(&m_maxVisibleDepth, "MaximumDepth", 1000.0, "Max", "", "", "");
CAF_PDM_InitField(&m_isAutoScaleDepthEnabled, "AutoScaleDepthEnabled", true, "Auto Scale", "", "", "");
CAF_PDM_InitField(&m_showTrackLegends, "ShowTrackLegends", true, "Show Legends", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_tracks, "Tracks", "", "", "", "");
m_tracks.uiCapability()->setUiHidden(true);
@ -115,11 +116,18 @@ void RimWellLogPlot::fieldChangedByUi(const caf::PdmFieldHandle* changedField, c
updateMdiWindowTitle();
}
if (changedField == &m_depthType ||
changedField == &m_depthUnit)
if ( changedField == &m_depthType
|| changedField == &m_depthUnit)
{
updateTracks();
}
if ( changedField == &m_showTrackLegends)
{
updateTracks();
if (m_viewer) m_viewer->updateChildrenLayout();
}
}
//--------------------------------------------------------------------------------------------------
@ -396,6 +404,8 @@ void RimWellLogPlot::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering&
gridGroup->add(&m_minVisibleDepth);
gridGroup->add(&m_maxVisibleDepth);
uiOrdering.add(&m_showTrackLegends);
uiOrdering.setForgetRemainingFields(true);
}
@ -619,6 +629,14 @@ QString RimWellLogPlot::depthPlotTitle() const
return depthTitle;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimWellLogPlot::isTrackLegendsVisible() const
{
return m_showTrackLegends();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -68,6 +68,7 @@ public:
QString depthPlotTitle() const;
bool isTrackLegendsVisible() const;
void addTrack(RimWellLogTrack* track);
void insertTrack(RimWellLogTrack* track, size_t index);
@ -134,6 +135,7 @@ private:
caf::PdmField<double> m_minVisibleDepth;
caf::PdmField<double> m_maxVisibleDepth;
caf::PdmField<bool> m_isAutoScaleDepthEnabled;
caf::PdmField<bool> m_showTrackLegends;
double m_minAvailableDepth;
double m_maxAvailableDepth;

View File

@ -51,6 +51,12 @@ RiuWellAllocationPlot::RiuWellAllocationPlot(RimWellAllocationPlot* plotDefiniti
font.setBold(true);
m_titleLabel->setFont(font);
// White background
QPalette pal = this->palette();
pal.setColor(QPalette::Background, Qt::white);
this->setAutoFillBackground(true);
this->setPalette(pal);
mainLayout->addWidget(m_titleLabel, 0, Qt::AlignCenter);
QHBoxLayout* plotWidgetsLayout = new QHBoxLayout();

View File

@ -96,6 +96,11 @@ void RiuWellLogPlot::insertTrackPlot(RiuWellLogTrack* trackPlot, size_t index)
this->connect(trackPlot, SIGNAL(legendDataChanged(const QVariant &, const QList< QwtLegendData > &)), SLOT(scheduleUpdateChildrenLayout()));
if (!m_plotDefinition->isTrackLegendsVisible())
{
legend->hide();
}
trackPlot->updateLegend();
if (trackPlot->isRimTrackVisible())
@ -263,19 +268,21 @@ void RiuWellLogPlot::placeChildWidgets(int height, int width)
int maxLegendHeight = 0;
for (int tIdx = 0; tIdx < trackCount; ++tIdx)
if (m_plotDefinition->isTrackLegendsVisible())
{
if (m_trackPlots[tIdx]->isVisible())
for ( int tIdx = 0; tIdx < trackCount; ++tIdx )
{
int legendHeight = m_legends[tIdx]->sizeHint().height();
if (legendHeight > maxLegendHeight) maxLegendHeight = legendHeight;
if ( m_trackPlots[tIdx]->isVisible() )
{
int legendHeight = m_legends[tIdx]->sizeHint().height();
if ( legendHeight > maxLegendHeight ) maxLegendHeight = legendHeight;
}
}
}
int trackHeight = height - maxLegendHeight;
int trackX = 0;
if (visibleTrackCount)
{
int trackWidth = (width - scrollBarWidth)/visibleTrackCount;