diff options
Diffstat (limited to 'src/datavisualizationqml/declarativeseries_p.h')
-rw-r--r-- | src/datavisualizationqml/declarativeseries_p.h | 49 |
1 files changed, 21 insertions, 28 deletions
diff --git a/src/datavisualizationqml/declarativeseries_p.h b/src/datavisualizationqml/declarativeseries_p.h index da45cb3f..13b1eda3 100644 --- a/src/datavisualizationqml/declarativeseries_p.h +++ b/src/datavisualizationqml/declarativeseries_p.h @@ -1,31 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Data Visualization module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only // // W A R N I N G @@ -44,6 +18,7 @@ #include "qscatter3dseries.h" #include "qsurface3dseries.h" #include "colorgradient_p.h" +#include "declarativecolor_p.h" #include <private/datavisualizationglobal_p.h> #include <QtQml/qqml.h> @@ -68,6 +43,7 @@ class DeclarativeBar3DSeries : public QBar3DSeries Q_PROPERTY(ColorGradient *baseGradient READ baseGradient WRITE setBaseGradient NOTIFY baseGradientChanged) Q_PROPERTY(ColorGradient *singleHighlightGradient READ singleHighlightGradient WRITE setSingleHighlightGradient NOTIFY singleHighlightGradientChanged) Q_PROPERTY(ColorGradient *multiHighlightGradient READ multiHighlightGradient WRITE setMultiHighlightGradient NOTIFY multiHighlightGradientChanged) + Q_PROPERTY(QQmlListProperty<DeclarativeColor> rowColors READ rowColors REVISION(6, 3)) Q_CLASSINFO("DefaultProperty", "seriesChildren") QML_NAMED_ELEMENT(Bar3DSeries) @@ -91,10 +67,19 @@ public: void setMultiHighlightGradient(ColorGradient *gradient); ColorGradient *multiHighlightGradient() const; + QQmlListProperty<DeclarativeColor> rowColors(); + static void appendRowColorsFunc(QQmlListProperty<DeclarativeColor> *list, + DeclarativeColor *color); + static qsizetype countRowColorsFunc(QQmlListProperty<DeclarativeColor> *list); + static DeclarativeColor *atRowColorsFunc(QQmlListProperty<DeclarativeColor> *list, + qsizetype index); + static void clearRowColorsFunc(QQmlListProperty<DeclarativeColor> *list); + public Q_SLOTS: void handleBaseGradientUpdate(); void handleSingleHighlightGradientUpdate(); void handleMultiHighlightGradientUpdate(); + void handleRowColorUpdate(); Q_SIGNALS: void selectedBarChanged(const QPointF &position); @@ -106,6 +91,14 @@ private: ColorGradient *m_baseGradient; // Not owned ColorGradient *m_singleHighlightGradient; // Not owned ColorGradient *m_multiHighlightGradient; // Not owned + + QList<DeclarativeColor *> m_rowColors; + bool m_dummyColors; + + void addColor(DeclarativeColor *color); + QList<DeclarativeColor *> colorList(); + void clearColors(); + void clearDummyColors(); }; class DeclarativeScatter3DSeries : public QScatter3DSeries |