summaryrefslogtreecommitdiffstats
path: root/src/graphs3d/data/qbar3dseries_p.h
blob: 4b7917591008ab6474a56c051ed9c409dde784ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

//
//  W A R N I N G
//  -------------
//
// This file is not part of the QtGraphs API.  It exists purely as an
// implementation detail.  This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.

#ifndef QBAR3DSERIES_P_H
#define QBAR3DSERIES_P_H

#include "qabstract3dseries_p.h"
#include "qbar3dseries.h"

QT_BEGIN_NAMESPACE

class QBar3DSeriesPrivate : public QAbstract3DSeriesPrivate
{
    Q_DECLARE_PUBLIC(QBar3DSeries)

public:
    static QBar3DSeriesPrivate *get(QBar3DSeries *item) { return item->d_func(); }
    QBar3DSeriesPrivate();
    ~QBar3DSeriesPrivate() override;

    void setDataProxy(QAbstractDataProxy *proxy) override;
    void connectGraphAndProxy(QQuickGraphsItem *newGraph) override;
    void createItemLabel() override;

    void setSelectedBar(QPoint position);

    void setRowColors(const QList<QColor> &colors);

    void setValueColoringEnabled(bool enabled);

    void setDataArray(const QBarDataArray &newDataArray);
    void clearRow(qsizetype rowIndex);
    void clearArray();

    void setRowLabels(const QStringList &labels);
    void setColumnLabels(const QStringList &labels);
    void fixRowLabels(qsizetype startIndex,
                      qsizetype count,
                      const QStringList &newLabels,
                      bool isInsert);

private:
    QBarDataArray m_dataArray;
    QStringList m_rowLabels;
    QStringList m_columnLabels;
    QPoint m_selectedBar;
    QList<QColor> m_rowColors;
    bool m_valueColoring;

    friend class QQuickGraphsBars;
};

QT_END_NAMESPACE

#endif