ImagingTools Core SDK
CCollectionObjectContext.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// Qt includes
6
7
8// ImtCore includes
9#include <imtbase/ICollectionObjectContext.h>
10#include <imtbase/IObjectCollection.h>
11
12
13namespace imtbase
14{
15
16
21class CCollectionObjectContext: virtual public ICollectionObjectContext
22{
23public:
25
26 virtual void SetObjectContext(const imtbase::IObjectCollection* objectCollectionPtr, const QByteArray& objectId);
27
28 // reimplemented (ICollectionObjectContext)
29 virtual const imtbase::IObjectCollection* GetObjectCollectionPtr() const override;
30 virtual QByteArray GetObjectId() const override;
31
32 // reimplemented (istd::IChangeable)
33 virtual int GetSupportedOperations() const override;
34 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
35 virtual bool IsEqual(const IChangeable& object) const override;
36 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
37 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
38
39private:
40 const IObjectCollection* m_objectCollectionPtr;
41 QByteArray m_objectId;
42};
43
44
45} // namespace imtbase
46
47