File indexing completed on 2024-06-02 06:03:17
0001 /* 0002 This file is part of the Kasten Framework, made within the KDE community. 0003 0004 SPDX-FileCopyrightText: 2008 Friedrich W. H. Kossebau <kossebau@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #ifndef KASTEN_ABSTRACTMODEL_P_HPP 0010 #define KASTEN_ABSTRACTMODEL_P_HPP 0011 0012 #include "abstractmodel.hpp" 0013 0014 namespace Kasten { 0015 0016 class AbstractModelPrivate 0017 { 0018 public: 0019 explicit AbstractModelPrivate(AbstractModel* parent, AbstractModel* baseModel = nullptr); 0020 AbstractModelPrivate(const AbstractModelPrivate&) = delete; 0021 0022 virtual ~AbstractModelPrivate(); 0023 0024 AbstractModelPrivate& operator=(const AbstractModelPrivate&) = delete; 0025 0026 public: 0027 AbstractModel* baseModel() const; 0028 0029 public: 0030 void setBaseModel(AbstractModel* baseModel); 0031 0032 protected: 0033 AbstractModel* const q_ptr; 0034 0035 private: 0036 Q_DECLARE_PUBLIC(AbstractModel) 0037 0038 AbstractModel* mBaseModel; 0039 }; 0040 0041 inline AbstractModelPrivate::AbstractModelPrivate(AbstractModel* parent, AbstractModel* baseModel) 0042 : q_ptr(parent) 0043 , mBaseModel(baseModel) 0044 {} 0045 0046 inline AbstractModelPrivate::~AbstractModelPrivate() = default; 0047 0048 inline AbstractModel* AbstractModelPrivate::baseModel() const { return mBaseModel; } 0049 inline void AbstractModelPrivate::setBaseModel(AbstractModel* baseModel) { mBaseModel = baseModel; } 0050 0051 } 0052 0053 #endif