9#include <icomp/CComponentBase.h>
10#include <imod/TSingleModelObserverBase.h>
11#include <iprm/IParamsManager.h>
18class CParameterLinkControllerComp:
19 public icomp::CComponentBase,
20 public imod::TSingleModelObserverBase<iprm::IParamsManager>
23 typedef icomp::CComponentBase BaseClass;
24 typedef imod::TSingleModelObserverBase<iprm::IParamsManager> BaseClass2;
26 I_BEGIN_COMPONENT(CParameterLinkControllerComp);
27 I_ASSIGN(m_selectionParamIdAttrPtr,
"ReferenceParamId",
"ID of the reference parameter in the parameter set",
true,
"Index");
28 I_ASSIGN(m_paramsManagerCompPtr,
"SlaveManager",
"Slave parameter set manager containing the references from the observer data model",
false,
"SlaveManager");
33 virtual void BeforeUpdate(imod::IModel* modelPtr)
override;
36 virtual void OnUpdate(
const istd::IChangeable::ChangeSet& changeSet)
override;
39 const iprm::ISelectionParam* FindReferenceSelection(
int paramSetIndex)
const;
42 I_ATTR(QByteArray, m_selectionParamIdAttrPtr);
43 I_REF(iprm::IParamsManager, m_paramsManagerCompPtr);
45 QMap<QByteArray , QByteArray > m_referenceMap;