mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#792 Summary: Added storing of visible display window based on zoom and pan
This commit is contained in:
parent
b8615f0ebc
commit
2e8c4ac211
@ -32,6 +32,8 @@
|
|||||||
#include "cvfColor3.h"
|
#include "cvfColor3.h"
|
||||||
|
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
|
#include <QRectF>
|
||||||
|
|
||||||
#include "qwt_plot_renderer.h"
|
#include "qwt_plot_renderer.h"
|
||||||
|
|
||||||
|
|
||||||
@ -54,6 +56,8 @@ RimSummaryPlot::RimSummaryPlot()
|
|||||||
CAF_PDM_InitFieldNoDefault(&m_curves, "SummaryCurves", "", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_curves, "SummaryCurves", "", "", "", "");
|
||||||
m_curves.uiCapability()->setUiHidden(true);
|
m_curves.uiCapability()->setUiHidden(true);
|
||||||
|
|
||||||
|
CAF_PDM_InitField(&m_visibleWindow, "VisibleWindow", std::vector<float>(), "Visible Display Window", "", "", "");
|
||||||
|
m_visibleWindow.uiCapability()->setUiHidden(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -217,6 +221,20 @@ void RimSummaryPlot::setupBeforeSave()
|
|||||||
{
|
{
|
||||||
this->setMdiWindowGeometry(RiaApplication::instance()->mainPlotWindow()->windowGeometryForViewer(m_qwtPlot));
|
this->setMdiWindowGeometry(RiaApplication::instance()->mainPlotWindow()->windowGeometryForViewer(m_qwtPlot));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QRectF visibleWindow = m_qwtPlot->currentVisibleWindow();
|
||||||
|
if (!visibleWindow.isEmpty())
|
||||||
|
{
|
||||||
|
//QRectF(qreal left, qreal top, qreal width, qreal height);
|
||||||
|
|
||||||
|
std::vector<float> window;
|
||||||
|
window.push_back(visibleWindow.left());
|
||||||
|
window.push_back(visibleWindow.top());
|
||||||
|
window.push_back(visibleWindow.width());
|
||||||
|
window.push_back(visibleWindow.height());
|
||||||
|
|
||||||
|
m_visibleWindow = window;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -261,7 +279,12 @@ void RimSummaryPlot::loadDataAndUpdate()
|
|||||||
|
|
||||||
this->updateYAxisUnit();
|
this->updateYAxisUnit();
|
||||||
|
|
||||||
// Todo: Update zoom
|
if (m_visibleWindow().size() == 4)
|
||||||
|
{
|
||||||
|
QRectF visibleWindow(m_visibleWindow()[0], m_visibleWindow()[1], m_visibleWindow()[2], m_visibleWindow()[3]);
|
||||||
|
|
||||||
|
m_qwtPlot->setZoomWindow(visibleWindow);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -79,6 +79,7 @@ private:
|
|||||||
caf::PdmField<QString> m_userName;
|
caf::PdmField<QString> m_userName;
|
||||||
caf::PdmChildArrayField<RimSummaryCurve*> m_curves;
|
caf::PdmChildArrayField<RimSummaryCurve*> m_curves;
|
||||||
caf::PdmChildArrayField<RimSummaryCurveFilter*> m_curveFilters;
|
caf::PdmChildArrayField<RimSummaryCurveFilter*> m_curveFilters;
|
||||||
|
caf::PdmField<std::vector<float> > m_visibleWindow;
|
||||||
|
|
||||||
QPointer<RiuSummaryQwtPlot> m_qwtPlot;
|
QPointer<RiuSummaryQwtPlot> m_qwtPlot;
|
||||||
};
|
};
|
||||||
|
@ -50,7 +50,6 @@
|
|||||||
#include "RimTools.h"
|
#include "RimTools.h"
|
||||||
#include "RimTreeViewStateSerializer.h"
|
#include "RimTreeViewStateSerializer.h"
|
||||||
#include "RimViewWindow.h"
|
#include "RimViewWindow.h"
|
||||||
#include "RimSummaryPlot.h"
|
|
||||||
#include "RimWellPathImport.h"
|
#include "RimWellPathImport.h"
|
||||||
|
|
||||||
#include "RiuDragDrop.h"
|
#include "RiuDragDrop.h"
|
||||||
@ -60,7 +59,6 @@
|
|||||||
#include "RiuProjectPropertyView.h"
|
#include "RiuProjectPropertyView.h"
|
||||||
#include "RiuResultInfoPanel.h"
|
#include "RiuResultInfoPanel.h"
|
||||||
#include "RiuResultQwtPlot.h"
|
#include "RiuResultQwtPlot.h"
|
||||||
#include "RiuSummaryQwtPlot.h"
|
|
||||||
#include "RiuToolTipMenu.h"
|
#include "RiuToolTipMenu.h"
|
||||||
#include "RiuTreeViewEventFilter.h"
|
#include "RiuTreeViewEventFilter.h"
|
||||||
#include "RiuViewer.h"
|
#include "RiuViewer.h"
|
||||||
|
@ -106,6 +106,29 @@ void RiuSummaryQwtPlot::zoomAll()
|
|||||||
zoomer->setZoomBase(true);
|
zoomer->setZoomBase(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
QRectF RiuSummaryQwtPlot::currentVisibleWindow() const
|
||||||
|
{
|
||||||
|
QRectF scaleRect;
|
||||||
|
scaleRect.setLeft(axisScaleDiv(xBottom).lowerBound());
|
||||||
|
scaleRect.setRight(axisScaleDiv(xBottom).upperBound());
|
||||||
|
|
||||||
|
scaleRect.setBottom(axisScaleDiv(yLeft).upperBound());
|
||||||
|
scaleRect.setTop(axisScaleDiv(yLeft).lowerBound());
|
||||||
|
|
||||||
|
return scaleRect;
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RiuSummaryQwtPlot::setZoomWindow(const QRectF& zoomWindow)
|
||||||
|
{
|
||||||
|
zoomer->zoom(zoomWindow);
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -44,6 +44,9 @@ public:
|
|||||||
void setYAxisTitle(const QString& title);
|
void setYAxisTitle(const QString& title);
|
||||||
void zoomAll();
|
void zoomAll();
|
||||||
|
|
||||||
|
QRectF currentVisibleWindow() const;
|
||||||
|
void setZoomWindow(const QRectF& zoomWindow);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool eventFilter(QObject* watched, QEvent* event);
|
virtual bool eventFilter(QObject* watched, QEvent* event);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user