summaryrefslogtreecommitdiffstats
path: root/examples/datavisualization/graphgallery/variantbardataproxy.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/datavisualization/graphgallery/variantbardataproxy.h')
-rw-r--r--examples/datavisualization/graphgallery/variantbardataproxy.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/examples/datavisualization/graphgallery/variantbardataproxy.h b/examples/datavisualization/graphgallery/variantbardataproxy.h
new file mode 100644
index 00000000..6a4d2f31
--- /dev/null
+++ b/examples/datavisualization/graphgallery/variantbardataproxy.h
@@ -0,0 +1,48 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+#ifndef VARIANTBARDATAPROXY_H
+#define VARIANTBARDATAPROXY_H
+
+#include "variantdataset.h"
+#include "variantbardatamapping.h"
+#include <QtDataVisualization/qbardataproxy.h>
+#include <QtCore/qpointer.h>
+
+//! [0]
+class VariantBarDataProxy : public QBarDataProxy
+//! [0]
+{
+ Q_OBJECT
+
+public:
+ VariantBarDataProxy();
+ virtual ~VariantBarDataProxy();
+
+ //! [1]
+ // Doesn't gain ownership of the dataset, but does connect to it to listen for data changes.
+ void setDataSet(VariantDataSet *newSet);
+ VariantDataSet *dataSet();
+
+ // Map key (row, column, value) to value index in data item (VariantItem).
+ // Doesn't gain ownership of mapping, but does connect to it to listen for mapping changes.
+ // Modifying mapping that is set to proxy will trigger dataset re-resolving.
+ void setMapping(VariantBarDataMapping *mapping);
+ VariantBarDataMapping *mapping();
+ //! [1]
+
+public Q_SLOTS:
+ void handleItemsAdded(int index, int count);
+ void handleDataCleared();
+ void handleMappingChanged();
+
+private:
+ void resolveDataSet();
+
+ QPointer<VariantDataSet> m_dataSet;
+ QPointer<VariantBarDataMapping> m_mapping;
+
+ Q_DISABLE_COPY(VariantBarDataProxy)
+};
+
+#endif