File indexing completed on 2024-05-12 15:59:51
0001 /* 0002 * SPDX-FileCopyrightText: 2018 Boudewijn Rempt <boud@valdyas.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef KISRESOURCEMODELPROVIDER_H 0007 #define KISRESOURCEMODELPROVIDER_H 0008 0009 #include <qglobal.h> 0010 0011 #include "kritaresources_export.h" 0012 0013 class KisAllResourcesModel; 0014 class KisAllTagsModel; 0015 class KisAllTagResourceModel; 0016 0017 /** 0018 * KisResourceModelProvider should be used to retrieve resource models. 0019 * For every resource type, there is only one instance of the resource model, 0020 * so all views on these models show the same state. 0021 */ 0022 class KRITARESOURCES_EXPORT KisResourceModelProvider 0023 { 0024 public: 0025 KisResourceModelProvider(); 0026 ~KisResourceModelProvider(); 0027 0028 static KisAllResourcesModel *resourceModel(const QString &resourceType); 0029 static KisAllTagsModel *tagModel(const QString& resourceType); 0030 static KisAllTagResourceModel *tagResourceModel(const QString& resourceType); 0031 0032 static void testingResetAllModels(); 0033 0034 private: 0035 0036 struct Private; 0037 Private *const d; 0038 0039 Q_DISABLE_COPY(KisResourceModelProvider) 0040 }; 0041 0042 #endif // KISRESOURCEMODELPROVIDER_H