ImagingTools Core SDK
IStructuredObjectCollectionController.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// ACF includes
6#include <idoc/IDocumentMetaInfo.h>
7
8// ImtCore includes
9#include <imtbase/IObjectCollection.h>
10
11
12namespace imtbase
13{
14
15
16class IOperationContext;
17class IObjectCollection;
18
19
20class IStructuredObjectCollectionController: virtual public istd::IChangeable
21{
22public:
23 typedef QByteArray Id;
24
25 virtual Id InsertNewObjectIntoCollection(
26 IObjectCollection* structurePtr,
27 const Id& nodeId,
28 const QByteArray& typeId,
29 const QString& name,
30 const QString& description,
31 const istd::IChangeable* defaultValuePtr = nullptr,
32 const Id& proposedElementId = Id(),
33 const idoc::IDocumentMetaInfo* dataMetaInfoPtr = nullptr,
34 const idoc::IDocumentMetaInfo* elementMetaInfoPtr = nullptr,
35 const IOperationContext* operationContextPtr = nullptr) = 0;
36};
37
38
39} // namespace imtbase
40
41