6#include <QtCore/QByteArray>
7#include <QtCore/QVector>
8#include <QtCore/QVariant>
11#include <ilog/IMessageConsumer.h>
12#include <idoc/IDocumentMetaInfo.h>
13#include <iprm/IParamsSet.h>
14#include <istd/IChangeable.h>
15#include <istd/TSmartPtr.h>
29 typedef QByteArray Id;
30 typedef QVector<Id> Ids;
37 struct MultiElementNotifierInfo
39 imtbase::ICollectionInfo::Ids elementIds;
42 static const QByteArray CN_ALL_CHANGED;
44 static const QByteArray CN_ELEMENT_INSERTED;
45 typedef NotifierInfo ElementInsertInfo;
47 static const QByteArray CN_ELEMENT_RENAMED;
48 typedef NotifierInfo ElementRenamedInfo;
50 static const QByteArray CN_ELEMENT_DESCRIPTION_CHANGED;
51 typedef NotifierInfo ElementDescriptionChangedInfo;
53 static const QByteArray CN_ELEMENT_STATE;
54 typedef NotifierInfo ElementStateChangeInfo;
56 static const QByteArray CN_ELEMENTS_REMOVED;
57 typedef MultiElementNotifierInfo ElementsRemoveInfo;
59 static const QByteArray CN_ELEMENTS_RESTORED;
60 typedef MultiElementNotifierInfo ElementsRestoreInfo;
159 MIT_REVISION = idoc::IDocumentMetaInfo::MIT_USER + 20000
167 const iprm::IParamsSet* selectionParamsPtr =
nullptr,
168 ilog::IMessageConsumer* logPtr =
nullptr)
const = 0;
180 const iprm::IParamsSet* selectionParamsPtr =
nullptr,
181 ilog::IMessageConsumer* logPtr =
nullptr)
const = 0;
194 const iprm::IParamsSet* selectionParamsPtr =
nullptr,
195 ilog::IMessageConsumer* logPtr =
nullptr)
const = 0;
200 virtual QVariant
GetElementInfo(
const Id& elementId,
int infoType, ilog::IMessageConsumer* logPtr =
nullptr)
const = 0;
208 virtual idoc::MetaInfoPtr
GetElementMetaInfo(
const Id& elementId, ilog::IMessageConsumer* logPtr =
nullptr)
const = 0;
213 virtual bool SetElementName(
const Id& elementId,
const QString& name, ilog::IMessageConsumer* logPtr =
nullptr) = 0;
218 virtual bool SetElementDescription(
const Id& elementId,
const QString& description, ilog::IMessageConsumer* logPtr =
nullptr) = 0;
223 virtual bool SetElementEnabled(
const Id& elementId,
bool isEnabled =
true, ilog::IMessageConsumer* logPtr =
nullptr) = 0;
230Q_DECLARE_METATYPE(imtbase::ICollectionInfo::NotifierInfo);
231Q_DECLARE_METATYPE(imtbase::ICollectionInfo::MultiElementNotifierInfo);
virtual bool GetSubsetInfo(ICollectionInfo &subsetInfo, int offset=0, int count=-1, const iprm::IParamsSet *selectionParamsPtr=nullptr, ilog::IMessageConsumer *logPtr=nullptr) const =0
virtual bool SetElementName(const Id &elementId, const QString &name, ilog::IMessageConsumer *logPtr=nullptr)=0
@ MIT_LAST_OPERATION_USER
@ MIT_LAST_OPERATION_TIME
virtual int GetElementsCount(const iprm::IParamsSet *selectionParamsPtr=nullptr, ilog::IMessageConsumer *logPtr=nullptr) const =0
virtual QVariant GetElementInfo(const Id &elementId, int infoType, ilog::IMessageConsumer *logPtr=nullptr) const =0
virtual Ids GetElementIds(int offset=0, int count=-1, const iprm::IParamsSet *selectionParamsPtr=nullptr, ilog::IMessageConsumer *logPtr=nullptr) const =0
virtual bool SetElementEnabled(const Id &elementId, bool isEnabled=true, ilog::IMessageConsumer *logPtr=nullptr)=0
virtual idoc::MetaInfoPtr GetElementMetaInfo(const Id &elementId, ilog::IMessageConsumer *logPtr=nullptr) const =0
virtual bool SetElementDescription(const Id &elementId, const QString &description, ilog::IMessageConsumer *logPtr=nullptr)=0
@ CF_ELEMENT_DESCRIPTION_CHANGED