6#include <istd/TPointerVector.h>
7#include <iprm/IParamsSet.h>
8#include <iprm/IEnableableParam.h>
9#include <imtgui/ILayoutFittableModelEditor.h>
10#include <iqtgui/TDesignerGuiObserverCompBase.h>
13#include <imtbase/TModelUpdateBinder.h>
15#include <GeneratedFiles/imtgui/ui_CMultiParamsSetGuiComp.h>
22class CMultiParamsSetGuiComp:
23 public iqtgui::TDesignerGuiObserverCompBase<
24 Ui::CMultiParamsSetGuiComp, iprm::IParamsSet>
27 typedef iqtgui::TDesignerGuiObserverCompBase<
28 Ui::CMultiParamsSetGuiComp, iprm::IParamsSet> BaseClass;
30 I_BEGIN_COMPONENT(CMultiParamsSetGuiComp);
31 I_ASSIGN_MULTI_0(m_idsAttrPtr,
"Ids",
"List of parameter IDs according to observed parameter set. \n Use '*' sign to attach all model",
true);
32 I_ASSIGN_MULTI_0(m_objectIdsAttrPtr,
"ObjectIds",
"List of IDs of created elements",
true);
33 I_ASSIGN_MULTI_1(m_labelTextsAttrPtr,
"Labels",
"List of parameter's Descriptions \n Leave empty string to get description from model \n Use whitespace symbols to create label without text",
true,
"");
34 I_ASSIGN_MULTI_0(m_uiActivatorsCompPtr,
"UiActivators",
"Optional activators for each ui (enable/disable)",
false);
35 I_ASSIGN_TO(m_uiActivatorsModelCompPtr, m_uiActivatorsCompPtr,
false);
38 CMultiParamsSetGuiComp();
41 virtual void UpdateUiState(
const istd::IChangeable::ChangeSet& changeSet,
const iprm::IEnableableParam* aUiActivatorPtr);
44 virtual ILayoutFittableModelEditor* CreateEditorFromModel(
const imod::IModel* modelPtr,
const QString& objectName = QString())
const;
47 virtual void SetReadOnly(
bool state)
override;
50 virtual void OnGuiCreated()
override;
51 virtual void OnGuiDestroyed()
override;
54 virtual void OnGuiModelAttached()
override;
55 virtual bool OnModelDetached(imod::IModel* modelPtr)
override;
58 I_MULTIATTR(QByteArray, m_idsAttrPtr);
59 I_MULTIATTR(QByteArray, m_objectIdsAttrPtr);
60 I_MULTITEXTATTR(m_labelTextsAttrPtr);
62 I_MULTIREF(iprm::IEnableableParam, m_uiActivatorsCompPtr);
63 I_MULTIREF(imod::IModel, m_uiActivatorsModelCompPtr);
65 istd::TPointerVector<ILayoutFittableModelEditor> m_modelEditors;