6#include <icomp/CComponentBase.h>
7#include <imod/CMultiModelDispatcherBase.h>
8#include <iprm/IParamsManager.h>
9#include <iprm/COptionsManager.h>
12#include <imtbase/IObjectCollection.h>
24 public icomp::CComponentBase,
25 private imod::CMultiModelDispatcherBase,
26 virtual public iprm::IParamsManager,
27 virtual public iprm::IOptionsList
30 typedef icomp::CComponentBase BaseClass;
31 typedef imod::CMultiModelDispatcherBase BaseClass2;
34 I_REGISTER_INTERFACE(iprm::IParamsManager);
35 I_REGISTER_INTERFACE(iprm::IOptionsList);
36 I_REGISTER_INTERFACE(iprm::ISelectionParam);
37 I_ASSIGN(m_collectionCompPtr,
"ParamsCollection",
"Collection containing parameter sets",
false,
"ParamsCollection");
38 I_ASSIGN_TO(m_collectionModelCompPtr, m_collectionCompPtr,
false);
39 I_ASSIGN_MULTI_0(m_typeIdsAttrPtr,
"FilterByTypeIds",
"List of type-IDs used for filtering the collection items",
false);
43 virtual int GetIndexOperationFlags(
int index = -1)
const override;
44 virtual bool SetIndexOperationFlags(
int index,
int flags)
override;
45 virtual int GetParamsSetsCount()
const override;
46 virtual const IOptionsList* GetParamsTypeConstraints()
const override;
47 virtual int InsertParamsSet(
int typeIndex = -1,
int index = -1)
override;
48 virtual bool RemoveParamsSet(
int index)
override;
49 virtual bool SwapParamsSet(
int index1,
int index2)
override;
50 virtual iprm::IParamsSet* GetParamsSet(
int index)
const override;
51 virtual iprm::IParamsSetUniquePtr CreateParameterSet(
int typeIndex = -1,
int index = -1)
const override;
52 virtual QString GetParamsSetName(
int index)
const override;
53 virtual bool SetParamsSetName(
int index,
const QString& name)
override;
54 virtual QString GetParamsSetDescription(
int index)
const override;
55 virtual void SetParamsSetDescription(
int index,
const QString& description)
override;
58 virtual const iprm::IOptionsList* GetSelectionConstraints()
const override;
59 virtual int GetSelectedOptionIndex()
const override;
60 virtual bool SetSelectedOptionIndex(
int index)
override;
61 virtual ISelectionParam* GetSubselection(
int index)
const override;
64 virtual int GetOptionsFlags()
const override;
65 virtual int GetOptionsCount()
const override;
66 virtual QString GetOptionName(
int index)
const override;
67 virtual QString GetOptionDescription(
int index)
const override;
68 virtual QByteArray GetOptionId(
int index)
const override;
69 virtual bool IsOptionEnabled(
int index)
const override;
72 virtual bool Serialize(iser::IArchive& archive)
override;
76 virtual void OnModelChanged(
int modelId,
const istd::IChangeable::ChangeSet & changeSet)
override;
79 virtual void OnComponentCreated()
override;
80 virtual void OnComponentDestroyed()
override;
84 QByteArray FindOptionFromIndex(
int index)
const;
88 I_REF(imod::IModel, m_collectionModelCompPtr);
89 I_MULTIATTR(QByteArray, m_typeIdsAttrPtr);
91 iprm::COptionsManager m_options;
92 QByteArray m_selectedId;
94 typedef QMap<QByteArray, imtbase::IObjectCollection::DataPtr> ObjectMap;
95 mutable ObjectMap m_objectCache;