6#include <iprm/IIdParam.h>
7#include <iprm/IOptionsList.h>
8#include <iprm/ISelectionParam.h>
9#include <imod/TSingleModelObserverBase.h>
10#include <icomp/CComponentBase.h>
11#include <imod/CModelUpdateBridge.h>
14#include <imtbase/CStaticObjectCollection.h>
22 public icomp::CComponentBase,
24 public imod::TSingleModelObserverBase<iprm::ISelectionParam>,
25 virtual public iprm::IIdParam
28 typedef icomp::CComponentBase BaseClass;
31 I_BEGIN_COMPONENT(CGroupViewComp)
32 I_REGISTER_INTERFACE(IObjectCollection);
33 I_REGISTER_INTERFACE(iprm::IIdParam);
34 I_ASSIGN_MULTI_0(m_idAttrPtr,
"LayerViewIds",
"Layer view ids",
false);
35 I_ASSIGN_MULTI_0(m_nameAttrPtr,
"LayerViewNames",
"Layer view names",
false);
36 I_ASSIGN_MULTI_0(m_layerViewsCompPtr,
"LayerViews",
"Layer views",
true);
42 virtual QByteArray GetId()
const override;
43 virtual void SetId(
const QByteArray&
id)
override;
46 QByteArray GetSelectedLayerId();
49 virtual void OnUpdate(
const istd::IChangeable::ChangeSet& changeSet)
override;
52 virtual void OnComponentCreated()
override;
55 I_MULTIATTR(QByteArray, m_idAttrPtr);
56 I_MULTIATTR(QString, m_nameAttrPtr);
57 I_MULTIREF(IObjectCollection, m_layerViewsCompPtr);
59 imod::CModelUpdateBridge m_updateBridge;