Well log plots now contain one plot per trace

This commit is contained in:
Pål Hagen 2015-08-28 14:25:14 +02:00
parent 7401160677
commit 4e83cff8a2
7 changed files with 133 additions and 6 deletions

View File

@ -81,6 +81,8 @@ set( USER_INTERFACE_FILES
UserInterface/RiuTreeViewEventFilter.h
UserInterface/RiuWellLogPlot.cpp
UserInterface/RiuWellLogPlot.h
UserInterface/RiuWellLogTracePlot.cpp
UserInterface/RiuWellLogTracePlot.h
)
set( SOCKET_INTERFACE_FILES
@ -163,6 +165,7 @@ set ( QT_MOC_HEADERS
UserInterface/RiuViewerCommands.h
UserInterface/RiuTreeViewEventFilter.h
UserInterface/RiuWellLogPlot.h
UserInterface/RiuWellLogTracePlot.h
)
qt4_wrap_cpp( MOC_FILES_CPP ${QT_MOC_HEADERS} )

View File

@ -106,4 +106,6 @@ void RimWellLogPlot::addTrace()
RiuMainWindow::instance()->projectTreeView()->setExpanded(this, true);
updateConnectedEditors();
m_viewer->update(*this);
}

View File

@ -40,10 +40,11 @@ public:
RimWellLogPlot();
virtual ~RimWellLogPlot();
void addTrace();
caf::PdmChildArrayField<RimWellLogPlotTrace*> traces;
caf::PdmField<bool> showWindow;
void addTrace();
protected:
// Overridden PDM methods
@ -56,5 +57,4 @@ private:
private:
QPointer<RiuWellLogPlot> m_viewer;
caf::PdmChildArrayField<RimWellLogPlotTrace*> traces;
};

View File

@ -19,12 +19,21 @@
#include "RiuWellLogPlot.h"
#include "RiuWellLogTracePlot.h"
#include "RimWellLogPlot.h"
#include "RimWellLogPlotTrace.h"
#include <QHBoxLayout>
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiuWellLogPlot::RiuWellLogPlot(QWidget* parent)
: QwtPlot(parent)
: QWidget(parent)
{
m_layout = new QHBoxLayout(this);
setLayout(m_layout);
}
//--------------------------------------------------------------------------------------------------
@ -33,3 +42,32 @@ RiuWellLogPlot::RiuWellLogPlot(QWidget* parent)
RiuWellLogPlot::~RiuWellLogPlot()
{
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuWellLogPlot::update(const RimWellLogPlot& plot)
{
clear();
for (size_t traceIdx = 0; traceIdx < plot.traces.size(); traceIdx++)
{
RiuWellLogTracePlot* tracePlot = new RiuWellLogTracePlot(this);
m_layout->addWidget(tracePlot);
m_children.append(tracePlot);
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuWellLogPlot::clear()
{
for (int childIdx = 0; childIdx < m_children.size(); childIdx++)
{
m_layout->removeWidget(m_children[childIdx]);
delete m_children[childIdx];
}
m_children.clear();
}

View File

@ -19,14 +19,19 @@
#pragma once
#include "qwt_plot.h"
#include <QWidget>
#include <QList>
class RimWellLogPlot;
class RiuWellLogTracePlot;
class QHBoxLayout;
//==================================================================================================
//
// RiuWellLogPlot
//
//==================================================================================================
class RiuWellLogPlot : public QwtPlot
class RiuWellLogPlot : public QWidget
{
Q_OBJECT
@ -34,5 +39,11 @@ public:
RiuWellLogPlot(QWidget* parent = NULL);
virtual ~RiuWellLogPlot();
void update(const RimWellLogPlot& plot);
void clear();
private:
QHBoxLayout* m_layout;
QList<RiuWellLogTracePlot*> m_children;
};

View File

@ -0,0 +1,35 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2015- Statoil ASA
// Copyright (C) 2015- Ceetron Solutions AS
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#include "RiuWellLogTracePlot.h"
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiuWellLogTracePlot::RiuWellLogTracePlot(QWidget* parent)
: QwtPlot(parent)
{
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiuWellLogTracePlot::~RiuWellLogTracePlot()
{
}

View File

@ -0,0 +1,38 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2015- Statoil ASA
// Copyright (C) 2015- Ceetron Solutions AS
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#pragma once
#include "qwt_plot.h"
//==================================================================================================
//
// RiuWellLogTracePlot
//
//==================================================================================================
class RiuWellLogTracePlot : public QwtPlot
{
Q_OBJECT
public:
RiuWellLogTracePlot(QWidget* parent = NULL);
virtual ~RiuWellLogTracePlot();
};