6#include <icomp/CComponentBase.h>
7#include <imod/CMultiModelDispatcherBase.h>
8#include <iprm/ISelectionParam.h>
11#include <imtbase/CCollectionInfo.h>
12#include <imtbase/ISelection.h>
19class CSelectionIdBinderComp:
20 public icomp::CComponentBase,
21 virtual public CCollectionInfo
24 typedef icomp::CComponentBase BaseClass;
26 I_BEGIN_COMPONENT(CSelectionIdBinderComp);
27 I_REGISTER_INTERFACE(ICollectionInfo);
28 I_ASSIGN_MULTI_0(m_selectionCompPtr,
"Slave selection components",
"Slave selection components",
false);
29 I_ASSIGN_MULTI_0(m_selectionParamCompPtr,
"Slave selection param components",
"Slave selection param components",
false);
32 CSelectionIdBinderComp();
36 virtual void OnComponentCreated()
override;
37 virtual void OnComponentDestroyed()
override;
40 class Observer :
public imod::CMultiModelDispatcherBase
43 Observer(CSelectionIdBinderComp& parent);
47 virtual void OnModelChanged(
int modelId,
const istd::IChangeable::ChangeSet& changeSet)
override;
50 CSelectionIdBinderComp& m_parent;
57 I_MULTIREF(ISelection, m_selectionCompPtr);
58 I_MULTIREF(iprm::ISelectionParam, m_selectionParamCompPtr);