6#include <QtCore/QSharedPointer>
9#include <idoc/IDocumentMetaInfo.h>
21class IHierarchicalStructureIterator;
24class IHierarchicalStructureInfo:
virtual public istd::IChangeable
27 typedef QByteArray Id;
28 typedef QByteArrayList Ids;
48 typedef NotifierInfo2 NodeInsertInfo;
49 typedef NotifierInfo1 NodeUpdateInfo;
50 typedef NotifierInfo2 NodeMoveInfo;
51 typedef NotifierInfo1 NodeRemoveInfo;
52 typedef NotifierInfo2 LeafInsertInfo;
53 typedef NotifierInfo3 LeafMoveInfo;
54 typedef NotifierInfo2 LeafRemoveInfo;
56 static const QByteArray CN_ALL_CHANGED;
57 static const QByteArray CN_NODE_INSERTED;
58 static const QByteArray CN_NODE_UPDATED;
59 static const QByteArray CN_NODE_MOVED;
60 static const QByteArray CN_NODE_REMOVED;
61 static const QByteArray CN_LEAF_INSERTED;
62 static const QByteArray CN_LEAF_MOVED;
63 static const QByteArray CN_LEAF_REMOVED;
73 ItemType itemType = IT_NODE;
78 QSharedPointer<idoc::IDocumentMetaInfo> metaInfo;
81 typedef QList<ItemInfo> ItemInfoList;
83 virtual int GetItemCount(
const iprm::IParamsSet* selectionParamsPtr =
nullptr)
const = 0;
84 virtual Ids GetItemIds(
87 const iprm::IParamsSet* selectionParamsPtr =
nullptr)
const = 0;
89 virtual ItemInfoList GetItemInfos(
const Ids& itemIds) = 0;
90 virtual Ids GetItemPath(
const Id& itemId)
const = 0;
101 const iprm::IParamsSet* selectionParamsPtr =
nullptr)
const = 0;
107Q_DECLARE_METATYPE(imtbase::IHierarchicalStructureInfo::NotifierInfo2);
108Q_DECLARE_METATYPE(imtbase::IHierarchicalStructureInfo::ItemInfoList);