File indexing completed on 2024-05-12 11:55:20
0001 /* 0002 SPDX-FileCopyrightText: 2019 David Edmundson <davidedmundson@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 // This class exposes KConcatenateRowsProxyModel in a more QML friendly way 0008 0009 #pragma once 0010 0011 #include <KConcatenateRowsProxyModel> 0012 0013 #include <QObject> 0014 #include <QQmlListProperty> 0015 0016 #if KITEMMODELS_BUILD_DEPRECATED_SINCE(5, 80) 0017 0018 class KConcatenateRowsProxyModelQml : public QObject 0019 { 0020 Q_OBJECT 0021 Q_PROPERTY(QQmlListProperty<QAbstractItemModel> sources READ sources) 0022 Q_CLASSINFO("DefaultProperty", "sources") 0023 public: 0024 explicit KConcatenateRowsProxyModelQml(QObject *wrappedObject = nullptr); 0025 ~KConcatenateRowsProxyModelQml() override; 0026 0027 QQmlListProperty<QAbstractItemModel> sources(); 0028 0029 static void appendSource(QQmlListProperty<QAbstractItemModel> *, QAbstractItemModel *); 0030 static int sourceCount(QQmlListProperty<QAbstractItemModel> *); 0031 static QAbstractItemModel *source(QQmlListProperty<QAbstractItemModel> *, int); 0032 static void clear(QQmlListProperty<QAbstractItemModel> *); 0033 0034 private: 0035 KConcatenateRowsProxyModel *q; 0036 }; 0037 0038 #endif