Files
ResInsight/ApplicationCode/UserInterface/RiuViewer.h
Jacob Støren 4f77afe43c Implemented #310 Result info when picking
This included some refactorization to remove the command stuff out of
RiuViewer,
and to communicate the grid index via the source info struct, and not as
a cvfPart::id
2015-06-11 11:38:51 +02:00

104 lines
3.0 KiB
C++

/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2011- Statoil ASA
// Copyright (C) 2013- Ceetron Solutions AS
// Copyright (C) 2011-2012 Ceetron 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 "cafViewer.h"
#include "cafPdmObject.h"
#include "cafPdmPointer.h"
#include "cafMouseState.h"
#include "cvfStructGrid.h"
class RimView;
class QLabel;
class QProgressBar;
class RiuSimpleHistogramWidget;
class QCDEStyle;
class RiuViewerCommands;
namespace cvf
{
class Part;
class OverlayItem;
}
//==================================================================================================
//
// RiuViewer
//
//==================================================================================================
class RiuViewer : public caf::Viewer
{
Q_OBJECT
public:
RiuViewer(const QGLFormat& format, QWidget* parent);
~RiuViewer();
void setDefaultView();
cvf::Vec3d pointOfInterest();
void setPointOfInterest(cvf::Vec3d poi);
void setOwnerReservoirView(RimView * owner);
void setEnableMask(unsigned int mask);
void showInfoText(bool enable);
void setInfoText(QString text);
void showHistogram(bool enable);
void setHistogram(double min, double max, const std::vector<size_t>& histogram);
void setHistogramPercentiles(double pmin, double pmax, double mean);
void showAnimationProgress(bool enable);
void removeAllColorLegends();
void addColorLegendToBottomLeftCorner(cvf::OverlayItem* legend);
public slots:
virtual void slotSetCurrentFrame(int frameIndex);
virtual void slotEndAnimation();
private:
void paintOverlayItems(QPainter* painter);
void mouseReleaseEvent(QMouseEvent* event);
void mousePressEvent(QMouseEvent* event);
QLabel* m_InfoLabel;
bool m_showInfoText;;
QProgressBar* m_animationProgress;
bool m_showAnimProgress;
RiuSimpleHistogramWidget* m_histogramWidget;
bool m_showHistogram;
QCDEStyle* m_progressBarStyle;
cvf::Collection<cvf::OverlayItem> m_visibleLegends;
caf::PdmPointer<RimView> m_reservoirView;
QPoint m_lastMousePressPosition;
RiuViewerCommands * m_viewerCommands;
};