File indexing completed on 2024-05-12 03:47:26

0001 /*
0002     File                 : AspectPrivate.h
0003     Project              : LabPlot
0004     Description          : Private data managed by AbstractAspect.
0005     --------------------------------------------------------------------
0006     SPDX-FileCopyrightText: 2013 Alexander Semke <alexander.semke@web.de>
0007     SPDX-FileCopyrightText: 2007 Knut Franke <knut.franke@gmx.de>
0008     SPDX-FileCopyrightText: 2007 Tilman Benkert <thzs@gmx.net>
0009     SPDX-License-Identifier: GPL-2.0-or-later
0010 */
0011 
0012 #ifndef ASPECT_PRIVATE_H
0013 #define ASPECT_PRIVATE_H
0014 
0015 #include <QDateTime>
0016 #include <QList>
0017 #include <QUuid>
0018 
0019 class AbstractAspect;
0020 
0021 class AbstractAspectPrivate {
0022 public:
0023     explicit AbstractAspectPrivate(AbstractAspect* owner, const QString& name);
0024     ~AbstractAspectPrivate();
0025 
0026     void insertChild(int index, AbstractAspect*);
0027     int indexOfChild(const AbstractAspect*) const;
0028 
0029 public:
0030     QVector<AbstractAspect*> m_children;
0031     QString m_name;
0032     QString m_comment;
0033     QDateTime m_creation_time;
0034     bool m_hidden{false};
0035     bool m_fixed{false};
0036     bool m_moved{false};
0037     AbstractAspect* const q;
0038     AbstractAspect* m_parent{nullptr};
0039     bool m_undoAware{true};
0040     bool m_isLoading{false};
0041     bool m_pasted{false};
0042     QUuid m_uuid{QUuid::createUuid()};
0043     bool m_suppressWriteUuid{false};
0044 };
0045 
0046 #endif // ifndef ASPECT_PRIVATE_H