mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#4207 Allow changing color of plot symbol edges and update cross plots
* Cross plots have same color as the symbol itself.
This commit is contained in:
@@ -466,6 +466,7 @@ void RimGridCrossPlotCurveSet::createCurves(const RigEclipseCrossPlotResult& res
|
|||||||
int colorIndex = indexInPlot();
|
int colorIndex = indexInPlot();
|
||||||
curve->setColor(colors.cycledColor3f(colorIndex));
|
curve->setColor(colors.cycledColor3f(colorIndex));
|
||||||
}
|
}
|
||||||
|
curve->setSymbolEdgeColor(curve->color());
|
||||||
curve->setGroupingInformation(indexInPlot(), 0);
|
curve->setGroupingInformation(indexInPlot(), 0);
|
||||||
curve->setSamples(result.xValues, result.yValues);
|
curve->setSamples(result.xValues, result.yValues);
|
||||||
curve->updateCurveAppearance();
|
curve->updateCurveAppearance();
|
||||||
@@ -522,6 +523,7 @@ void RimGridCrossPlotCurveSet::createCurves(const RigEclipseCrossPlotResult& res
|
|||||||
{
|
{
|
||||||
curve->setColor(cvf::Color3f(legendConfig()->scalarMapper()->mapToColor(tickValues[it->first])));
|
curve->setColor(cvf::Color3f(legendConfig()->scalarMapper()->mapToColor(tickValues[it->first])));
|
||||||
}
|
}
|
||||||
|
curve->setSymbolEdgeColor(curve->color());
|
||||||
curve->setSamples(it->second.xValues, it->second.yValues);
|
curve->setSamples(it->second.xValues, it->second.yValues);
|
||||||
curve->showLegend(m_crossPlotCurves.empty());
|
curve->showLegend(m_crossPlotCurves.empty());
|
||||||
curve->setLegendEntryText(createAutoName());
|
curve->setLegendEntryText(createAutoName());
|
||||||
|
|||||||
@@ -109,6 +109,7 @@ RimPlotCurve::RimPlotCurve()
|
|||||||
CAF_PDM_InitFieldNoDefault(&m_curveInterpolation, "CurveInterpolation", "Interpolation", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_curveInterpolation, "CurveInterpolation", "Interpolation", "", "", "");
|
||||||
CAF_PDM_InitFieldNoDefault(&m_lineStyle, "LineStyle", "Line Style", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_lineStyle, "LineStyle", "Line Style", "", "", "");
|
||||||
CAF_PDM_InitFieldNoDefault(&m_pointSymbol, "PointSymbol", "Symbol", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_pointSymbol, "PointSymbol", "Symbol", "", "", "");
|
||||||
|
CAF_PDM_InitField(&m_symbolEdgeColor, "SymbolEdgeColor", cvf::Color3f(cvf::Color3::BLACK), "Symbol Edge Color", "", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitField(&m_symbolSkipPixelDistance, "SymbolSkipPxDist", 0.0f, "Symbol Skip Distance", "", "Minimum pixel distance between symbols", "");
|
CAF_PDM_InitField(&m_symbolSkipPixelDistance, "SymbolSkipPxDist", 0.0f, "Symbol Skip Distance", "", "Minimum pixel distance between symbols", "");
|
||||||
|
|
||||||
@@ -162,7 +163,8 @@ void RimPlotCurve::fieldChangedByUi(const caf::PdmFieldHandle* changedField, con
|
|||||||
|| &m_lineStyle == changedField
|
|| &m_lineStyle == changedField
|
||||||
|| &m_symbolSkipPixelDistance == changedField
|
|| &m_symbolSkipPixelDistance == changedField
|
||||||
|| &m_curveInterpolation == changedField
|
|| &m_curveInterpolation == changedField
|
||||||
|| &m_symbolSize == changedField)
|
|| &m_symbolSize == changedField
|
||||||
|
|| &m_symbolEdgeColor == changedField)
|
||||||
{
|
{
|
||||||
updateCurveAppearance();
|
updateCurveAppearance();
|
||||||
|
|
||||||
@@ -467,6 +469,7 @@ void RimPlotCurve::appearanceUiOrdering(caf::PdmUiOrdering& uiOrdering)
|
|||||||
{
|
{
|
||||||
uiOrdering.add(&m_curveColor);
|
uiOrdering.add(&m_curveColor);
|
||||||
uiOrdering.add(&m_pointSymbol);
|
uiOrdering.add(&m_pointSymbol);
|
||||||
|
uiOrdering.add(&m_symbolEdgeColor);
|
||||||
uiOrdering.add(&m_symbolSize);
|
uiOrdering.add(&m_symbolSize);
|
||||||
uiOrdering.add(&m_symbolSkipPixelDistance);
|
uiOrdering.add(&m_symbolSkipPixelDistance);
|
||||||
uiOrdering.add(&m_lineStyle);
|
uiOrdering.add(&m_lineStyle);
|
||||||
@@ -537,8 +540,7 @@ void RimPlotCurve::updateCurveAppearance()
|
|||||||
{
|
{
|
||||||
CVF_ASSERT(m_qwtPlotCurve);
|
CVF_ASSERT(m_qwtPlotCurve);
|
||||||
|
|
||||||
QColor curveColor(m_curveColor.value().rByte(), m_curveColor.value().gByte(), m_curveColor.value().bByte());
|
QColor curveColor(m_curveColor.value().rByte(), m_curveColor.value().gByte(), m_curveColor.value().bByte());
|
||||||
|
|
||||||
QwtSymbol* symbol = nullptr;
|
QwtSymbol* symbol = nullptr;
|
||||||
|
|
||||||
if (m_pointSymbol() != RiuQwtSymbol::SYMBOL_NONE)
|
if (m_pointSymbol() != RiuQwtSymbol::SYMBOL_NONE)
|
||||||
@@ -547,6 +549,10 @@ void RimPlotCurve::updateCurveAppearance()
|
|||||||
symbol = new RiuQwtSymbol(m_pointSymbol(), m_symbolLabel, m_symbolLabelPosition);
|
symbol = new RiuQwtSymbol(m_pointSymbol(), m_symbolLabel, m_symbolLabelPosition);
|
||||||
symbol->setSize(m_symbolSize, m_symbolSize);
|
symbol->setSize(m_symbolSize, m_symbolSize);
|
||||||
symbol->setColor(curveColor);
|
symbol->setColor(curveColor);
|
||||||
|
|
||||||
|
QColor symbolEdgeColor(m_symbolEdgeColor.value().rByte(), m_symbolEdgeColor.value().gByte(), m_symbolEdgeColor.value().bByte());
|
||||||
|
|
||||||
|
symbol->setPen(symbolEdgeColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_qwtPlotCurve->setAppearance(m_lineStyle(), m_curveInterpolation(), m_curveThickness(), curveColor);
|
m_qwtPlotCurve->setAppearance(m_lineStyle(), m_curveInterpolation(), m_curveThickness(), curveColor);
|
||||||
@@ -675,6 +681,22 @@ RiuQwtSymbol::PointSymbolEnum RimPlotCurve::symbol()
|
|||||||
return m_pointSymbol();
|
return m_pointSymbol();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
cvf::Color3f RimPlotCurve::symbolEdgeColor() const
|
||||||
|
{
|
||||||
|
return m_symbolEdgeColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimPlotCurve::setSymbolEdgeColor(const cvf::Color3f& edgeColor)
|
||||||
|
{
|
||||||
|
m_symbolEdgeColor = edgeColor;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -713,6 +735,7 @@ void RimPlotCurve::setLineThickness(int thickness)
|
|||||||
void RimPlotCurve::resetAppearance()
|
void RimPlotCurve::resetAppearance()
|
||||||
{
|
{
|
||||||
setColor(cvf::Color3f(cvf::Color3::BLACK));
|
setColor(cvf::Color3f(cvf::Color3::BLACK));
|
||||||
|
setSymbolEdgeColor(cvf::Color3f(cvf::Color3::BLACK));
|
||||||
setLineThickness(2);
|
setLineThickness(2);
|
||||||
setLineStyle(RiuQwtPlotCurve::STYLE_SOLID);
|
setLineStyle(RiuQwtPlotCurve::STYLE_SOLID);
|
||||||
setSymbol(RiuQwtSymbol::SYMBOL_NONE);
|
setSymbol(RiuQwtSymbol::SYMBOL_NONE);
|
||||||
|
|||||||
@@ -62,6 +62,8 @@ public:
|
|||||||
void setLineStyle(RiuQwtPlotCurve::LineStyleEnum lineStyle);
|
void setLineStyle(RiuQwtPlotCurve::LineStyleEnum lineStyle);
|
||||||
void setSymbol(RiuQwtSymbol::PointSymbolEnum symbolStyle);
|
void setSymbol(RiuQwtSymbol::PointSymbolEnum symbolStyle);
|
||||||
RiuQwtSymbol::PointSymbolEnum symbol();
|
RiuQwtSymbol::PointSymbolEnum symbol();
|
||||||
|
cvf::Color3f symbolEdgeColor() const;
|
||||||
|
void setSymbolEdgeColor(const cvf::Color3f& edgeColor);
|
||||||
void setSymbolSkipDistance(float distance);
|
void setSymbolSkipDistance(float distance);
|
||||||
void setSymbolLabel(const QString& label);
|
void setSymbolLabel(const QString& label);
|
||||||
void setSymbolSize(int sizeInPixels);
|
void setSymbolSize(int sizeInPixels);
|
||||||
@@ -140,6 +142,7 @@ protected:
|
|||||||
caf::PdmField<LineStyle> m_lineStyle;
|
caf::PdmField<LineStyle> m_lineStyle;
|
||||||
caf::PdmField<CurveInterpolation> m_curveInterpolation;
|
caf::PdmField<CurveInterpolation> m_curveInterpolation;
|
||||||
RiuQwtSymbol::LabelPosition m_symbolLabelPosition;
|
RiuQwtSymbol::LabelPosition m_symbolLabelPosition;
|
||||||
|
caf::PdmField<cvf::Color3f> m_symbolEdgeColor;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user