ImagingTools Core SDK
ITreeItemModel.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 <iser/ISerializable.h>
7
8
9namespace imtbase
10{
11
12
16class ITreeItemModel: virtual public iser::ISerializable
17{
18public:
22 virtual int InsertNewItem() = 0;
23
27 virtual int RemoveItem(int index, const ChangeInfoMap& infoMap = ChangeInfoMap()) = 0;
28
32 virtual ITreeItemModel* AddTreeModel(const QByteArray &key, int index = 0) = 0;
33
37 virtual bool SetExternTreeModel(const QByteArray &key, ITreeItemModel *externTreeModel, int index = 0) = 0;
38
42 virtual bool CopyItemDataFromModel(int index, ITreeItemModel *externTreeModel, int externIndex = 0) = 0;
43
47 virtual bool SetData(const QByteArray &key, const QVariant &value, int index = 0, const ChangeInfoMap& infoMap = ChangeInfoMap()) = 0;
48
52 virtual bool RemoveData(const QByteArray &key, int index = 0, const ChangeInfoMap& infoMap = ChangeInfoMap()) = 0;
53
57 virtual QVariant GetData(const QByteArray &key, int index = 0) const = 0;
58
62 virtual ITreeItemModel* GetParent() const = 0;
63
67 virtual bool IsTreeModel(const QByteArray &key, int index = 0) const = 0;
68
72 virtual bool ContainsKey(const QByteArray &key, int index = 0) const = 0;
73
77 virtual ITreeItemModel* GetRepresentation(const QByteArray &key, int index = 0) const = 0;
78
82 virtual int GetItemsCount() const = 0;
83
87 virtual void GetKeys(QList<QByteArray>& keys, int index = 0) = 0;
88
92 virtual QList<QByteArray> GetKeys(int index = 0) = 0;
93
97 virtual void Clear() = 0;
98
102 virtual bool IsArray() = 0;
103
107 virtual void SetIsArray(const bool& isArray) = 0;
108
112 virtual bool Parse(const QByteArray& data) = 0;
113
117 virtual QString ToJSON() = 0;
118};
119
120
121} // namespace imtbase
122
123
virtual bool SetExternTreeModel(const QByteArray &key, ITreeItemModel *externTreeModel, int index=0)=0
virtual int InsertNewItem()=0
virtual void Clear()=0
virtual bool IsTreeModel(const QByteArray &key, int index=0) const =0
virtual int RemoveItem(int index, const ChangeInfoMap &infoMap=ChangeInfoMap())=0
virtual bool CopyItemDataFromModel(int index, ITreeItemModel *externTreeModel, int externIndex=0)=0
virtual bool SetData(const QByteArray &key, const QVariant &value, int index=0, const ChangeInfoMap &infoMap=ChangeInfoMap())=0
virtual QString ToJSON()=0
virtual bool ContainsKey(const QByteArray &key, int index=0) const =0
virtual bool IsArray()=0
virtual QVariant GetData(const QByteArray &key, int index=0) const =0
virtual void SetIsArray(const bool &isArray)=0
virtual QList< QByteArray > GetKeys(int index=0)=0
virtual int GetItemsCount() const =0
virtual ITreeItemModel * AddTreeModel(const QByteArray &key, int index=0)=0
virtual ITreeItemModel * GetParent() const =0
virtual bool RemoveData(const QByteArray &key, int index=0, const ChangeInfoMap &infoMap=ChangeInfoMap())=0
virtual ITreeItemModel * GetRepresentation(const QByteArray &key, int index=0) const =0
virtual bool Parse(const QByteArray &data)=0
virtual void GetKeys(QList< QByteArray > &keys, int index=0)=0