6#include <QtCore/QVector>
10#include <iser/IArchive.h>
11#include <iser/ISerializable.h>
14#include <imtbase/ICollectionInfo.h>
27 virtual public iser::ISerializable
30 int GetItemIndex(
const QByteArray&
id)
const;
32 virtual QByteArray InsertItem(
const QByteArray&
id,
const QString& name,
const QString& description,
int position = -1);
33 virtual void RemoveItem(
const QByteArray&
id);
34 virtual void SetItemName(
const QByteArray&
id,
const QString& name);
35 virtual void SetItemDescription(
const QByteArray&
id,
const QString& description);
38 virtual int GetElementsCount(
39 const iprm::IParamsSet* selectionParamPtr =
nullptr,
40 ilog::IMessageConsumer* logPtr =
nullptr)
const override;
41 virtual Ids GetElementIds(
44 const iprm::IParamsSet* selectionParamsPtr =
nullptr,
45 ilog::IMessageConsumer* logPtr =
nullptr)
const override;
46 virtual bool GetSubsetInfo(
50 const iprm::IParamsSet* selectionParamsPtr =
nullptr,
51 ilog::IMessageConsumer* logPtr =
nullptr)
const override;
52 virtual QVariant GetElementInfo(
const QByteArray& elementId,
int infoType, ilog::IMessageConsumer* logPtr =
nullptr)
const override;
53 virtual idoc::MetaInfoPtr GetElementMetaInfo(
const Id& elementId, ilog::IMessageConsumer* logPtr =
nullptr)
const override;
54 virtual bool SetElementName(
const Id& elementId,
const QString& name, ilog::IMessageConsumer* logPtr =
nullptr)
override;
55 virtual bool SetElementDescription(
const Id& elementId,
const QString& description, ilog::IMessageConsumer* logPtr =
nullptr)
override;
56 virtual bool SetElementEnabled(
const Id& elementId,
bool isEnabled =
true, ilog::IMessageConsumer* logPtr =
nullptr)
override;
59 virtual int GetSupportedOperations()
const override;
60 virtual bool CopyFrom(
const IChangeable&
object, CompatibilityMode mode = CM_WITHOUT_REFS)
override;
61 virtual bool IsEqual(
const IChangeable&
object)
const override;
62 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS)
const override;
63 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS)
override;
66 virtual bool Serialize(iser::IArchive& archive)
override;
71 Item(
const QByteArray&
id = QByteArray())
75 this->
id = QUuid::createUuid().toByteArray();
82 Item(
const Item&
object)
85 this->name =
object.name;
86 this->isEnabled =
object.isEnabled;
87 this->description =
object.description;
95 bool operator==(
const Item &item)
const
97 return ((isEnabled == item.isEnabled)
98 && (name == item.name)
99 && (description == item.description)
103 bool operator!=(
const Item &item)
const
105 return !(operator==(item));
109 typedef QVector<Item> Items;
112 Item* FindItemById(
const Id& elementId)
const;