diff options
Diffstat (limited to 'examples/graphs/3d/widgetgallery/variantdataset.py')
-rw-r--r-- | examples/graphs/3d/widgetgallery/variantdataset.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/examples/graphs/3d/widgetgallery/variantdataset.py b/examples/graphs/3d/widgetgallery/variantdataset.py new file mode 100644 index 000000000..752bc3887 --- /dev/null +++ b/examples/graphs/3d/widgetgallery/variantdataset.py @@ -0,0 +1,39 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QObject, Signal + + +class VariantDataSet(QObject): + + itemsAdded = Signal(int, int) + dataCleared = Signal() + + def __init__(self): + super().__init__() + self._variantData = [] + + def clear(self): + for item in self._variantData: + item.clear() + del item + + self._variantData.clear() + self.dataCleared.emit() + + def addItem(self, item): + self._variantData.append(item) + addIndex = len(self._variantData) + + self.itemsAdded.emit(addIndex, 1) + return addIndex + + def addItems(self, itemList): + newCount = len(itemList) + addIndex = len(self._variantData) + self._variantData.extend(itemList) + self.itemsAdded.emit(addIndex, newCount) + return addIndex + + def itemList(self): + return self._variantData |