mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#4255 Read default plot font sizes from preferences and apply
This commit is contained in:
@@ -127,12 +127,12 @@ void RimSummaryPlotYAxisFormatter::applyYAxisPropertiesToPlot(RiuSummaryQwtPlot*
|
||||
|
||||
QFont axisTitleYFont = axisTitleY.font();
|
||||
axisTitleYFont.setBold(true);
|
||||
axisTitleYFont.setPixelSize(m_axisProperties->titleFontSize);
|
||||
axisTitleYFont.setPointSize(m_axisProperties->titleFontSize());
|
||||
axisTitleY.setFont(axisTitleYFont);
|
||||
|
||||
axisTitleY.setText(axisTitle);
|
||||
|
||||
switch (m_axisProperties->titlePositionEnum())
|
||||
switch (m_axisProperties->titlePosition())
|
||||
{
|
||||
case RimPlotAxisProperties::AXIS_TITLE_CENTER:
|
||||
axisTitleY.setRenderFlags(Qt::AlignCenter);
|
||||
@@ -148,7 +148,7 @@ void RimSummaryPlotYAxisFormatter::applyYAxisPropertiesToPlot(RiuSummaryQwtPlot*
|
||||
{
|
||||
QFont yAxisFont = qwtPlot->axisFont(m_axisProperties->qwtPlotAxisType());
|
||||
yAxisFont.setBold(false);
|
||||
yAxisFont.setPixelSize(m_axisProperties->valuesFontSize);
|
||||
yAxisFont.setPointSize(m_axisProperties->valuesFontSize());
|
||||
qwtPlot->setAxisFont(m_axisProperties->qwtPlotAxisType(), yAxisFont);
|
||||
}
|
||||
|
||||
|
||||
@@ -539,6 +539,61 @@ size_t RimSummaryPlot::singleColorCurveCount() const
|
||||
return colorIndex;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimSummaryPlot::hasCustomFontSizes(RiaDefines::FontSettingType fontSettingType, int defaultFontSize) const
|
||||
{
|
||||
if (fontSettingType != RiaDefines::PLOT_FONT) return false;
|
||||
|
||||
for (auto plotAxis : allPlotAxes())
|
||||
{
|
||||
if (plotAxis->titleFontSize() != defaultFontSize || plotAxis->valuesFontSize() != defaultFontSize)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (m_legendFontSize() != defaultFontSize)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimSummaryPlot::applyFontSize(RiaDefines::FontSettingType fontSettingType, int oldFontSize, int fontSize, bool forceChange /*= false*/)
|
||||
{
|
||||
if (fontSettingType != RiaDefines::PLOT_FONT) return false;
|
||||
|
||||
bool anyChange = false;
|
||||
for (auto plotAxis : allPlotAxes())
|
||||
{
|
||||
if (forceChange || plotAxis->titleFontSize() == oldFontSize)
|
||||
{
|
||||
plotAxis->setTitleFontSize(fontSize);
|
||||
anyChange = true;
|
||||
}
|
||||
if (forceChange || plotAxis->valuesFontSize() == oldFontSize)
|
||||
{
|
||||
plotAxis->setValuesFontSize(fontSize);
|
||||
anyChange = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (forceChange || m_legendFontSize() == oldFontSize)
|
||||
{
|
||||
m_legendFontSize = fontSize;
|
||||
anyChange = true;
|
||||
}
|
||||
|
||||
if (anyChange) loadDataAndUpdate();
|
||||
|
||||
return anyChange;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -847,12 +902,12 @@ void RimSummaryPlot::updateTimeAxis()
|
||||
|
||||
QFont font = timeAxisTitle.font();
|
||||
font.setBold(true);
|
||||
font.setPixelSize(m_timeAxisProperties->titleFontSize);
|
||||
font.setPointSize(m_timeAxisProperties->titleFontSize());
|
||||
timeAxisTitle.setFont(font);
|
||||
|
||||
timeAxisTitle.setText(axisTitle);
|
||||
|
||||
switch ( m_timeAxisProperties->titlePositionEnum() )
|
||||
switch ( m_timeAxisProperties->titlePosition() )
|
||||
{
|
||||
case RimSummaryTimeAxisProperties::AXIS_TITLE_CENTER:
|
||||
timeAxisTitle.setRenderFlags(Qt::AlignCenter);
|
||||
@@ -868,7 +923,7 @@ void RimSummaryPlot::updateTimeAxis()
|
||||
{
|
||||
QFont timeAxisFont = m_qwtPlot->axisFont(QwtPlot::xBottom);
|
||||
timeAxisFont.setBold(false);
|
||||
timeAxisFont.setPixelSize(m_timeAxisProperties->valuesFontSize);
|
||||
timeAxisFont.setPointSize(m_timeAxisProperties->valuesFontSize());
|
||||
m_qwtPlot->setAxisFont(QwtPlot::xBottom, timeAxisFont);
|
||||
}
|
||||
}
|
||||
@@ -1337,6 +1392,14 @@ void RimSummaryPlot::updateAxisRangesFromQwt()
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::set<RimPlotAxisPropertiesInterface*> RimSummaryPlot::allPlotAxes() const
|
||||
{
|
||||
return { m_timeAxisProperties, m_bottomAxisProperties, m_leftYAxisProperties, m_rightYAxisProperties };
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -1518,7 +1581,7 @@ void RimSummaryPlot::updateMdiWindowTitle()
|
||||
QwtLegend* legend = new QwtLegend(m_qwtPlot);
|
||||
|
||||
auto font = legend->font();
|
||||
font.setPixelSize(m_legendFontSize());
|
||||
font.setPointSize(m_legendFontSize());
|
||||
legend->setFont(font);
|
||||
m_qwtPlot->insertLegend(legend, QwtPlot::BottomLegend);
|
||||
}
|
||||
|
||||
@@ -45,6 +45,7 @@ class RimEnsembleCurveSet;
|
||||
class RimEnsembleCurveSetCollection;
|
||||
class RimSummaryCurveFilter_OBSOLETE;
|
||||
class RimSummaryTimeAxisProperties;
|
||||
class RimPlotAxisPropertiesInterface;
|
||||
class RimPlotAxisProperties;
|
||||
class RiuSummaryQwtPlot;
|
||||
class RimSummaryPlotNameHelper;
|
||||
@@ -132,6 +133,10 @@ public:
|
||||
|
||||
size_t singleColorCurveCount() const;
|
||||
|
||||
|
||||
bool hasCustomFontSizes(RiaDefines::FontSettingType fontSettingType, int defaultFontSize) const override;
|
||||
bool applyFontSize(RiaDefines::FontSettingType fontSettingType, int oldFontSize, int fontSize, bool forceChange = false) override;
|
||||
|
||||
public:
|
||||
// Rim2dPlotInterface overrides
|
||||
void updateAxisScaling() override;
|
||||
@@ -171,7 +176,7 @@ private:
|
||||
std::vector<RimAsciiDataCurve*> visibleAsciiDataCurvesForAxis(RiaDefines::PlotAxis plotAxis) const;
|
||||
bool hasVisibleCurvesForAxis(RiaDefines::PlotAxis plotAxis) const;
|
||||
|
||||
RimPlotAxisProperties* yAxisPropertiesLeftOrRight(RiaDefines::PlotAxis leftOrRightPlotAxis) const;
|
||||
RimPlotAxisProperties* yAxisPropertiesLeftOrRight(RiaDefines::PlotAxis leftOrRightPlotAxis) const;
|
||||
void updateAxis(RiaDefines::PlotAxis plotAxis);
|
||||
|
||||
void updateZoomForAxis(RiaDefines::PlotAxis plotAxis);
|
||||
@@ -181,6 +186,8 @@ private:
|
||||
|
||||
void updateAxisRangesFromQwt();
|
||||
|
||||
std::set<RimPlotAxisPropertiesInterface*> allPlotAxes() const;
|
||||
|
||||
private:
|
||||
caf::PdmField<bool> m_showPlotTitle;
|
||||
caf::PdmField<bool> m_showLegend;
|
||||
|
||||
@@ -18,6 +18,10 @@
|
||||
|
||||
#include "RimSummaryTimeAxisProperties.h"
|
||||
|
||||
#include "RiaApplication.h"
|
||||
#include "RiaFontCache.h"
|
||||
#include "RiaPreferences.h"
|
||||
|
||||
#include "RimSummaryPlot.h"
|
||||
|
||||
#include "cafPdmUiLineEditor.h"
|
||||
@@ -28,15 +32,6 @@
|
||||
|
||||
namespace caf
|
||||
{
|
||||
template<>
|
||||
void caf::AppEnum< RimSummaryTimeAxisProperties::AxisTitlePositionType >::setUp()
|
||||
{
|
||||
addItem(RimSummaryTimeAxisProperties::AXIS_TITLE_CENTER, "AXIS_TITLE_CENTER", "Center");
|
||||
addItem(RimSummaryTimeAxisProperties::AXIS_TITLE_END, "AXIS_TITLE_END", "At End");
|
||||
|
||||
setDefault(RimSummaryTimeAxisProperties::AXIS_TITLE_CENTER);
|
||||
}
|
||||
|
||||
template<>
|
||||
void caf::AppEnum< RimSummaryTimeAxisProperties::TimeModeType >::setUp()
|
||||
{
|
||||
@@ -77,10 +72,6 @@ RimSummaryTimeAxisProperties::RimSummaryTimeAxisProperties()
|
||||
|
||||
CAF_PDM_InitField(&showTitle, "ShowTitle", false, "Show Title", "", "", "");
|
||||
CAF_PDM_InitField(&title, "Title", QString("Time"), "Title", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&titlePositionEnum, "TitlePosition", "Title Position", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&titleFontSize, "FontSize", 11, "Font Size", "", "", "");
|
||||
CAF_PDM_InitField(&valuesFontSize, "ValuesFontSize", 11, "Font Size", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&m_isAutoZoom, "AutoZoom", true, "Set Range Automatically", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&m_timeMode, "TimeMode", "Time Mode", "", "", "");
|
||||
@@ -98,6 +89,52 @@ RimSummaryTimeAxisProperties::RimSummaryTimeAxisProperties()
|
||||
CAF_PDM_InitFieldNoDefault(&m_visibleTimeRangeMin, "VisibleTimeModeRangeMin", "Min", "", "", "");
|
||||
m_visibleDateRangeMin.uiCapability()->setUiEditorTypeName(caf::PdmUiLineEditor::uiEditorTypeName());
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_titlePositionEnum, "TitlePosition", "Title Position", "", "", "");
|
||||
CAF_PDM_InitField(&m_titleFontSize, "FontSize", 10, "Font Size", "", "", "");
|
||||
m_titleFontSize = RiaFontCache::pointSizeFromFontSizeEnum(RiaApplication::instance()->preferences()->defaultPlotFontSize());
|
||||
CAF_PDM_InitField(&m_valuesFontSize, "ValuesFontSize", 10, "Font Size", "", "", "");
|
||||
m_valuesFontSize = RiaFontCache::pointSizeFromFontSizeEnum(RiaApplication::instance()->preferences()->defaultPlotFontSize());
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimPlotAxisPropertiesInterface::AxisTitlePositionType RimSummaryTimeAxisProperties::titlePosition() const
|
||||
{
|
||||
return m_titlePositionEnum();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimSummaryTimeAxisProperties::titleFontSize() const
|
||||
{
|
||||
return m_titleFontSize;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryTimeAxisProperties::setTitleFontSize(int fontSize)
|
||||
{
|
||||
m_titleFontSize = fontSize;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimSummaryTimeAxisProperties::valuesFontSize() const
|
||||
{
|
||||
return m_valuesFontSize;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryTimeAxisProperties::setValuesFontSize(int fontSize)
|
||||
{
|
||||
m_valuesFontSize = fontSize;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -240,8 +277,8 @@ QList<caf::PdmOptionItemInfo> RimSummaryTimeAxisProperties::calculateValueOption
|
||||
QList<caf::PdmOptionItemInfo> options;
|
||||
*useOptionsOnly = true;
|
||||
|
||||
if (&titleFontSize == fieldNeedingOptions ||
|
||||
&valuesFontSize == fieldNeedingOptions)
|
||||
if (&m_titleFontSize == fieldNeedingOptions ||
|
||||
&m_valuesFontSize == fieldNeedingOptions)
|
||||
{
|
||||
std::vector<int> fontSizes;
|
||||
fontSizes.push_back(8);
|
||||
@@ -272,6 +309,22 @@ caf::PdmFieldHandle* RimSummaryTimeAxisProperties::objectToggleField()
|
||||
return &m_isActive;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimSummaryTimeAxisProperties::TimeModeType RimSummaryTimeAxisProperties::timeMode() const
|
||||
{
|
||||
return m_timeMode();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryTimeAxisProperties::setTimeMode(TimeModeType val)
|
||||
{
|
||||
m_timeMode = val;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -340,8 +393,8 @@ void RimSummaryTimeAxisProperties::defineUiOrdering(QString uiConfigName, caf::P
|
||||
caf::PdmUiGroup& titleGroup = *(uiOrdering.addNewGroup("Axis Title"));
|
||||
titleGroup.add(&showTitle);
|
||||
titleGroup.add(&title);
|
||||
titleGroup.add(&titlePositionEnum);
|
||||
titleGroup.add(&titleFontSize);
|
||||
titleGroup.add(&m_titlePositionEnum);
|
||||
titleGroup.add(&m_titleFontSize);
|
||||
|
||||
caf::PdmUiGroup* timeGroup = uiOrdering.addNewGroup("Time Values");
|
||||
timeGroup->add(&m_timeMode);
|
||||
@@ -356,7 +409,7 @@ void RimSummaryTimeAxisProperties::defineUiOrdering(QString uiConfigName, caf::P
|
||||
timeGroup->add(&m_visibleTimeRangeMax);
|
||||
timeGroup->add(&m_visibleTimeRangeMin);
|
||||
}
|
||||
timeGroup->add(&valuesFontSize);
|
||||
timeGroup->add(&m_valuesFontSize);
|
||||
|
||||
uiOrdering.skipRemainingFields(true);
|
||||
}
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "RimPlotAxisPropertiesInterface.h"
|
||||
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmChildArrayField.h"
|
||||
@@ -31,18 +33,11 @@
|
||||
///
|
||||
///
|
||||
//==================================================================================================
|
||||
class RimSummaryTimeAxisProperties : public caf::PdmObject
|
||||
class RimSummaryTimeAxisProperties : public caf::PdmObject, public RimPlotAxisPropertiesInterface
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
public:
|
||||
|
||||
enum AxisTitlePositionType
|
||||
{
|
||||
AXIS_TITLE_CENTER,
|
||||
AXIS_TITLE_END
|
||||
};
|
||||
|
||||
enum TimeModeType
|
||||
{
|
||||
DATE,
|
||||
@@ -61,16 +56,19 @@ public:
|
||||
public:
|
||||
RimSummaryTimeAxisProperties();
|
||||
|
||||
caf::PdmField<int> titleFontSize;
|
||||
caf::PdmField<QString> title;
|
||||
caf::PdmField<bool> showTitle;
|
||||
caf::PdmField< caf::AppEnum< AxisTitlePositionType > > titlePositionEnum;
|
||||
caf::PdmField<int> valuesFontSize;
|
||||
|
||||
TimeModeType timeMode() const { return m_timeMode(); }
|
||||
void setTimeMode(TimeModeType val) { m_timeMode = val; }
|
||||
double fromTimeTToDisplayUnitScale();
|
||||
double fromDaysToDisplayUnitScale();
|
||||
|
||||
AxisTitlePositionType titlePosition() const override;
|
||||
int titleFontSize() const override;
|
||||
void setTitleFontSize(int fontSize) override;
|
||||
int valuesFontSize() const override;
|
||||
void setValuesFontSize(int fontSize) override;
|
||||
TimeModeType timeMode() const;
|
||||
void setTimeMode(TimeModeType val);
|
||||
double fromTimeTToDisplayUnitScale();
|
||||
double fromDaysToDisplayUnitScale();
|
||||
|
||||
double visibleRangeMin() const;
|
||||
double visibleRangeMax() const;
|
||||
@@ -104,4 +102,9 @@ private:
|
||||
caf::PdmField<double> m_visibleTimeRangeMin;
|
||||
caf::PdmField<double> m_visibleTimeRangeMax;
|
||||
caf::PdmField<bool> m_isAutoZoom;
|
||||
|
||||
caf::PdmField<int> m_titleFontSize;
|
||||
caf::PdmField<caf::AppEnum<AxisTitlePositionType>> m_titlePositionEnum;
|
||||
caf::PdmField<int> m_valuesFontSize;
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user