mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-20 11:48:35 -06:00
(#697) Added line, symbol and line_symbol as curve style
This commit is contained in:
parent
cbe728c9af
commit
2a53054f2d
@ -30,9 +30,23 @@
|
|||||||
|
|
||||||
#include "cvfAssert.h"
|
#include "cvfAssert.h"
|
||||||
|
|
||||||
|
#include "qwt_symbol.h"
|
||||||
|
|
||||||
// NB! Special macro for pure virtual class
|
// NB! Special macro for pure virtual class
|
||||||
CAF_PDM_XML_ABSTRACT_SOURCE_INIT(RimWellLogCurve, "WellLogPlotCurve");
|
CAF_PDM_XML_ABSTRACT_SOURCE_INIT(RimWellLogCurve, "WellLogPlotCurve");
|
||||||
|
|
||||||
|
namespace caf
|
||||||
|
{
|
||||||
|
template<>
|
||||||
|
void caf::AppEnum< RimWellLogCurve::CurvePlotTypeEnum >::setUp()
|
||||||
|
{
|
||||||
|
addItem(RimWellLogCurve::LINE, "LINE", "Line");
|
||||||
|
addItem(RimWellLogCurve::SYMBOL, "SYMBOL", "Symbol");
|
||||||
|
addItem(RimWellLogCurve::LINE_AND_SYMBOL, "LINE_AND_SYMBOL", "Line and Symbol");
|
||||||
|
setDefault(RimWellLogCurve::LINE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -54,6 +68,9 @@ RimWellLogCurve::RimWellLogCurve()
|
|||||||
CAF_PDM_InitField(&m_curveThickness, "Thickness", 1.0f, "Thickness", "", "", "");
|
CAF_PDM_InitField(&m_curveThickness, "Thickness", 1.0f, "Thickness", "", "", "");
|
||||||
m_curveThickness.uiCapability()->setUiEditorTypeName(caf::PdmUiComboBoxEditor::uiEditorTypeName());
|
m_curveThickness.uiCapability()->setUiEditorTypeName(caf::PdmUiComboBoxEditor::uiEditorTypeName());
|
||||||
|
|
||||||
|
caf::AppEnum< RimWellLogCurve::CurvePlotTypeEnum > curvePlotType = LINE;
|
||||||
|
CAF_PDM_InitField(&m_curvePlotStyle, "CurvePlotStyle", curvePlotType, "Curve style", "", "", "");
|
||||||
|
|
||||||
m_qwtPlotCurve = new RiuLineSegmentQwtPlotCurve;
|
m_qwtPlotCurve = new RiuLineSegmentQwtPlotCurve;
|
||||||
m_qwtPlotCurve->setXAxis(QwtPlot::xTop);
|
m_qwtPlotCurve->setXAxis(QwtPlot::xTop);
|
||||||
m_qwtPlotCurve->setYAxis(QwtPlot::yLeft);
|
m_qwtPlotCurve->setYAxis(QwtPlot::yLeft);
|
||||||
@ -90,7 +107,8 @@ void RimWellLogCurve::fieldChangedByUi(const caf::PdmFieldHandle* changedField,
|
|||||||
updatePlotTitle();
|
updatePlotTitle();
|
||||||
}
|
}
|
||||||
else if (&m_curveColor == changedField
|
else if (&m_curveColor == changedField
|
||||||
|| &m_curveThickness == changedField)
|
|| &m_curveThickness == changedField
|
||||||
|
|| &m_curvePlotStyle == changedField)
|
||||||
{
|
{
|
||||||
updateCurvePen();
|
updateCurvePen();
|
||||||
}
|
}
|
||||||
@ -326,6 +344,24 @@ void RimWellLogCurve::updateCurvePen()
|
|||||||
{
|
{
|
||||||
CVF_ASSERT(m_qwtPlotCurve);
|
CVF_ASSERT(m_qwtPlotCurve);
|
||||||
m_qwtPlotCurve->setPen(QColor(m_curveColor.value().rByte(), m_curveColor.value().gByte(), m_curveColor.value().bByte()), m_curveThickness);
|
m_qwtPlotCurve->setPen(QColor(m_curveColor.value().rByte(), m_curveColor.value().gByte(), m_curveColor.value().bByte()), m_curveThickness);
|
||||||
|
|
||||||
|
QwtSymbol* symbol = NULL;
|
||||||
|
|
||||||
|
if (m_curvePlotStyle == LINE_AND_SYMBOL || m_curvePlotStyle == SYMBOL)
|
||||||
|
{
|
||||||
|
// QwtPlotCurve will take ownership of the symbol
|
||||||
|
symbol = new QwtSymbol(QwtSymbol::XCross);
|
||||||
|
symbol->setSize(6, 6);
|
||||||
|
}
|
||||||
|
|
||||||
|
QwtPlotCurve::CurveStyle curveStyle = QwtPlotCurve::Lines;
|
||||||
|
if (m_curvePlotStyle == SYMBOL)
|
||||||
|
{
|
||||||
|
curveStyle = QwtPlotCurve::NoCurve;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_qwtPlotCurve->setStyle(curveStyle);
|
||||||
|
m_qwtPlotCurve->setSymbol(symbol);
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -24,13 +24,17 @@
|
|||||||
#include "cafPdmObject.h"
|
#include "cafPdmObject.h"
|
||||||
|
|
||||||
#include "RigWellLogCurveData.h"
|
#include "RigWellLogCurveData.h"
|
||||||
|
|
||||||
#include <QPointer>
|
#include <QPointer>
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
class RigWellLogCurveData;
|
class RigWellLogCurveData;
|
||||||
class RiuWellLogTrack;
|
class RiuWellLogTrack;
|
||||||
class RiuLineSegmentQwtPlotCurve;
|
class RiuLineSegmentQwtPlotCurve;
|
||||||
|
|
||||||
class QwtPlotCurve;
|
class QwtPlotCurve;
|
||||||
|
|
||||||
class QString;
|
class QString;
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
@ -40,6 +44,14 @@ class QString;
|
|||||||
class RimWellLogCurve : public caf::PdmObject
|
class RimWellLogCurve : public caf::PdmObject
|
||||||
{
|
{
|
||||||
CAF_PDM_HEADER_INIT;
|
CAF_PDM_HEADER_INIT;
|
||||||
|
public:
|
||||||
|
enum CurvePlotTypeEnum
|
||||||
|
{
|
||||||
|
LINE,
|
||||||
|
SYMBOL,
|
||||||
|
LINE_AND_SYMBOL
|
||||||
|
};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
RimWellLogCurve();
|
RimWellLogCurve();
|
||||||
virtual ~RimWellLogCurve();
|
virtual ~RimWellLogCurve();
|
||||||
@ -94,4 +106,6 @@ protected:
|
|||||||
caf::PdmField<bool> m_autoName;
|
caf::PdmField<bool> m_autoName;
|
||||||
caf::PdmField<cvf::Color3f> m_curveColor;
|
caf::PdmField<cvf::Color3f> m_curveColor;
|
||||||
caf::PdmField<float> m_curveThickness;
|
caf::PdmField<float> m_curveThickness;
|
||||||
|
|
||||||
|
caf::PdmField< caf::AppEnum< CurvePlotTypeEnum > > m_curvePlotStyle;
|
||||||
};
|
};
|
||||||
|
@ -383,6 +383,7 @@ void RimWellLogExtractionCurve::defineUiOrdering(QString uiConfigName, caf::PdmU
|
|||||||
caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroup("Appearance");
|
caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroup("Appearance");
|
||||||
appearanceGroup->add(&m_curveColor);
|
appearanceGroup->add(&m_curveColor);
|
||||||
appearanceGroup->add(&m_curveThickness);
|
appearanceGroup->add(&m_curveThickness);
|
||||||
|
appearanceGroup->add(&m_curvePlotStyle);
|
||||||
appearanceGroup->add(&m_curveName);
|
appearanceGroup->add(&m_curveName);
|
||||||
appearanceGroup->add(&m_autoName);
|
appearanceGroup->add(&m_autoName);
|
||||||
if (m_autoName)
|
if (m_autoName)
|
||||||
|
@ -176,6 +176,7 @@ void RimWellLogFileCurve::defineUiOrdering(QString uiConfigName, caf::PdmUiOrder
|
|||||||
caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroup("Appearance");
|
caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroup("Appearance");
|
||||||
appearanceGroup->add(&m_curveColor);
|
appearanceGroup->add(&m_curveColor);
|
||||||
appearanceGroup->add(&m_curveThickness);
|
appearanceGroup->add(&m_curveThickness);
|
||||||
|
appearanceGroup->add(&m_curvePlotStyle);
|
||||||
appearanceGroup->add(&m_curveName);
|
appearanceGroup->add(&m_curveName);
|
||||||
appearanceGroup->add(&m_autoName);
|
appearanceGroup->add(&m_autoName);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user