diff --git a/ApplicationCode/UserInterface/CMakeLists_files.cmake b/ApplicationCode/UserInterface/CMakeLists_files.cmake index baf8b7aa0a..9e4df6ddec 100644 --- a/ApplicationCode/UserInterface/CMakeLists_files.cmake +++ b/ApplicationCode/UserInterface/CMakeLists_files.cmake @@ -40,6 +40,7 @@ ${CEE_CURRENT_LIST_DIR}RiuGeoMechXfTensorResultAccessor.h ${CEE_CURRENT_LIST_DIR}RiuFemTimeHistoryResultAccessor.h ${CEE_CURRENT_LIST_DIR}RiuExportMultipleSnapshotsWidget.h ${CEE_CURRENT_LIST_DIR}RiuWellAllocationPlot.h +${CEE_CURRENT_LIST_DIR}RiuNightchartsWidget.h ) set (SOURCE_GROUP_SOURCE_FILES @@ -78,6 +79,7 @@ ${CEE_CURRENT_LIST_DIR}RiuGeoMechXfTensorResultAccessor.cpp ${CEE_CURRENT_LIST_DIR}RiuFemTimeHistoryResultAccessor.cpp ${CEE_CURRENT_LIST_DIR}RiuExportMultipleSnapshotsWidget.cpp ${CEE_CURRENT_LIST_DIR}RiuWellAllocationPlot.cpp +${CEE_CURRENT_LIST_DIR}RiuNightchartsWidget.cpp ) list(APPEND CODE_HEADER_FILES @@ -105,6 +107,7 @@ ${CEE_CURRENT_LIST_DIR}RiuSummaryQwtPlot.h ${CEE_CURRENT_LIST_DIR}RiuQwtScalePicker.h ${CEE_CURRENT_LIST_DIR}RiuExportMultipleSnapshotsWidget.h ${CEE_CURRENT_LIST_DIR}RiuWellAllocationPlot.h +${CEE_CURRENT_LIST_DIR}RiuNightchartsWidget.h ) list(APPEND QT_UI_FILES diff --git a/ApplicationCode/UserInterface/RiuNightchartsWidget.cpp b/ApplicationCode/UserInterface/RiuNightchartsWidget.cpp new file mode 100644 index 0000000000..54ea235c13 --- /dev/null +++ b/ApplicationCode/UserInterface/RiuNightchartsWidget.cpp @@ -0,0 +1,79 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2017 Statoil ASA +// +// 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 +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#include "RiuNightchartsWidget.h" + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiuNightchartsWidget::RiuNightchartsWidget(QWidget* parent) : + QWidget(parent) +{ + clear(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuNightchartsWidget::setType(Nightcharts::type t) +{ + m_chart.setType(t); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuNightchartsWidget::clear() +{ + m_chart = Nightcharts(); + m_chart.setType(Nightcharts::Pie); + m_chart.setLegendType(Nightcharts::Vertical); + + m_marginLeft = 16; + m_marginTop = 16; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuNightchartsWidget::paintEvent(QPaintEvent* e) +{ + QWidget::paintEvent(e); + + if(!m_chart.pieceCount()) return ; + + QPainter painter; + QFont font; + painter.begin(this); + int w = (this->width() - m_marginLeft - 150); + int h = (this->height() - m_marginTop - 100); + int size = (w +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// + +#pragma once + + +#include "nightcharts/nightcharts.h" + +#include "cafPdmPointer.h" + +#include +#include + + +class RiuNightchartsWidget : public QWidget +{ + Q_OBJECT +public: + explicit RiuNightchartsWidget(QWidget* parent = 0); + + void addItem(QString name, QColor color, float value); + void setType(Nightcharts::type type); + void clear(); + +protected: + virtual void paintEvent(QPaintEvent* e); + +private: + Nightcharts m_chart; + int m_marginLeft; + int m_marginTop; +}; +