ImagingTools Core SDK
CParamSetSummaryRepresentationControllerComp.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ACF includes
6#include <icomp/CComponentBase.h>
7
8// ImtCore includes
9#include <imtbase/ISummaryRepresentationController.h>
10
11
12namespace imtbase
13{
14
15
16class CParamSetSummaryRepresentationControllerComp:
17 public icomp::CComponentBase,
18 virtual public ISummaryRepresentationController
19{
20public:
21 typedef icomp::CComponentBase BaseClass;
22
23 I_BEGIN_COMPONENT(CParamSetSummaryRepresentationControllerComp);
24 I_REGISTER_INTERFACE(ISummaryRepresentationController);
25 I_ASSIGN_MULTI_0(m_paramIdAttrPtr, "ParamIds", "IDs of the related parameters in the parameter set", false);
26 I_ASSIGN_MULTI_0(m_paramNameAttrPtr, "ParamNames", "Displayed names for params", false);
27 I_ASSIGN_MULTI_0(m_paramRepresentationControllerCompPtr, "ParamRepresentationControllers", "List of related summary representation controllers according to the parameter-IDs", false);
28 I_END_COMPONENT;
29
30 // reimplemented (ISummaryRepresentationController)
31 virtual bool CreateSummaryRepresentation(const istd::IChangeable& object, QString& textRepresentation) const override;
32
33private:
34 I_MULTIATTR(QByteArray, m_paramIdAttrPtr);
35 I_MULTIATTR(QByteArray, m_paramNameAttrPtr);
36 I_MULTIREF(ISummaryRepresentationController, m_paramRepresentationControllerCompPtr);
37};
38
39
40} // namespace imtbase
41
42