ImagingTools Core SDK
CGqlHierarchicalStructureDelegateComp.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#include <QtCore/QJsonDocument>
7#include <QtCore/QJsonObject>
8#include <QtCore/QJsonArray>
9
10// ACF includes
11#include <icomp/CComponentBase.h>
12
13// ImtCore includes
14#include <imtbase/IHierarchicalStructureIterator.h>
15#include <imtclientgql/IGqlHierarchicalStructureDelegate.h>
16
17
18namespace imtclientgql
19{
20
21
22class CGqlHierarchicalStructureDelegateComp:
23 public icomp::CComponentBase,
24 virtual public IGqlHierarchicalStructureDelegate
25{
26public:
27 typedef icomp::CComponentBase BaseClass;
28
29 I_BEGIN_COMPONENT(CGqlHierarchicalStructureDelegateComp);
30 I_END_COMPONENT;
31
32public:
33 // reimplemented (IGqlHierarchicalStructureDelegate)
34 virtual imtgql::IGqlRequest* CreateInsertNewNodeRequest(
35 const QString& name,
36 const QString& description = QString(),
37 const Id& proposedNodeId = Id(),
38 const Id& parentNodeId = Id(),
39 const idoc::IDocumentMetaInfo* metaInfoPtr = nullptr,
40 const imtbase::IOperationContext* operationContextPtr = nullptr) const override;
41 virtual imtgql::IGqlRequest* CreateSetNodeNameRequest(
42 const Id& nodeId,
43 const QString& name,
44 const imtbase::IOperationContext* operationContextPtr = nullptr) const override;
45 virtual imtgql::IGqlRequest* CreateSetNodeDescriptionRequest(
46 const Id& nodeId,
47 const QString& description,
48 const imtbase::IOperationContext* operationContextPtr = nullptr) const override;
49 virtual imtgql::IGqlRequest* CreateSetNodeMetaInfoRequest(
50 const Id& nodeId,
51 const idoc::IDocumentMetaInfo& metaInfo,
52 const imtbase::IOperationContext* operationContextPtr = nullptr) const override;
53 virtual imtgql::IGqlRequest* CreateMoveNodeRequest(
54 const Id& nodeId,
55 const Id& parentNodeId,
56 const imtbase::IOperationContext* operationContextPtr = nullptr) const override;
57 virtual imtgql::IGqlRequest* CreateRemoveNodeRequest(
58 const Id& nodeId,
59 const imtbase::IOperationContext* operationContextPtr = nullptr) const override;
60
61 virtual imtgql::IGqlRequest* CreateInsertLeafRequest(
62 const Id& leafId,
63 const Id& nodeId,
64 const QString& leafName,
65 const imtbase::IOperationContext* operationContextPtr = nullptr) const override;
66 virtual imtgql::IGqlRequest* CreateMoveLeafRequest(
67 const Id& leafId,
68 const Id& sourceNodeId,
69 const Id& targetNodeId,
70 const imtbase::IOperationContext* operationContextPtr = nullptr) const override;
71 virtual imtgql::IGqlRequest* CreateRemoveLeafRequest(
72 const Id& leafId,
73 const Id& nodeId,
74 const imtbase::IOperationContext* operationContextPtr = nullptr) const override;
75
76 virtual imtgql::IGqlRequest* CreateGetItemCountRequest(
77 const iprm::IParamsSet* selectionParamsPtr = nullptr) const override;
78 virtual imtgql::IGqlRequest* CreateGetItemIdsRequest(
79 int offset = 0,
80 int count = -1,
81 const iprm::IParamsSet* selectionParamsPtr = nullptr) const override;
82
83 virtual imtgql::IGqlRequest* CreateGetItemInfosRequest(const Ids& itemIds) const override;
84 virtual imtgql::IGqlRequest* CreateGetItemPathRequest(const Id& itemId) const override;
85
86 virtual imtbase::IHierarchicalStructureIterator* CreateHierarchicalStructureIterator(
87 int offset = 0,
88 int count = -1,
89 const iprm::IParamsSet* selectionParamsPtr = nullptr) const override;
90
91 virtual bool IsValid(imtgql::IGqlResponse& reqponse) const override;
92 virtual bool GetNodeId(imtgql::IGqlResponse& reqponse, Id& out) const override;
93 virtual bool GetOperationResult(imtgql::IGqlResponse& reqponse, bool& out) const override;
94 virtual bool GetItemCount(imtgql::IGqlResponse& reqponse, bool out) const override;
95 virtual bool GetItemIds(imtgql::IGqlResponse& reqponse, Ids& out) const override;
96 virtual bool GetItemPath(imtgql::IGqlResponse& reqponse, Ids& out) const override;
97 virtual bool GetItemInfos(imtgql::IGqlResponse& reqponse, imtbase::IHierarchicalStructureInfo::ItemInfoList& out) const override;
98};
99
100
101} // namespace imtclientgql
102
103