ImagingTools Core SDK
CGuiElementModelComp.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 <ilog/TLoggerCompWrap.h>
7
8// ImtCore includes
9#include <imtserverapp/IGuiElementModel.h>
10#include <imtserverapp/IGuiElementContainer.h>
11
12
13namespace imtserverapp
14{
15
16
17class CGuiElementModelComp:
18 public icomp::CComponentBase,
19 virtual public imtserverapp::IGuiElementModel
20{
21public:
22 typedef icomp::CComponentBase BaseClass;
23
24 I_BEGIN_COMPONENT(CGuiElementModelComp);
25 I_REGISTER_INTERFACE(istd::IChangeable);
26 I_REGISTER_INTERFACE(imtserverapp::IGuiElementModel);
27 I_ASSIGN(m_elementIdAttrPtr, "Id", "Element ID", false, "");
28 I_ASSIGN(m_elementNameAttrPtr, "Name", "Element name", false, "");
29 I_ASSIGN(m_elementDescriptionAttrPtr, "Description", "Element description", false, "");
30 I_ASSIGN(m_elementItemPathAttrPtr, "IconPath", "Path to icon", false, "");
31 I_ASSIGN(m_elementStatusAttrPtr, "Status", "Element status", false, "");
32 I_ASSIGN(m_enabledAttrPtr, "IsEnabled", "Element is enabled", false, true);
33 I_ASSIGN(m_visibleAttrPtr, "IsVisible", "Element visibility", false, true);
34 I_ASSIGN(m_priorityAttrPtr, "Priority", "Element priority", false, 0);
35 I_ASSIGN(m_alignmentAttrPtr, "Alignment", "1 - Left alignment, 2 - Right alignment, 4 - HCenter alignment, 8 - Justify alignment, 32 - Top alignment, 64 - Bottom alignment, 128 - VCenter alignment", false, 1);
36 I_ASSIGN(m_subElementsCompPtr, "SubElementsContainer", "Container of the sub elements", false, "SubElementsContainer");
37 I_END_COMPONENT;
38
39 // reimplemented (imtserverapp::IGuiElementModel)
40 virtual QByteArray GetElementId() const override;
41 virtual QString GetElementName() const override;
42 virtual QString GetElementDescription() const override;
43 virtual QString GetElementItemPath() const override;
44 virtual QString GetElementStatus() const override;
45 virtual bool IsEnabled() const override;
46 virtual bool IsVisible() const override;
47 virtual int GetPriority() const override;
48 virtual int GetAlignment() const override;
49 virtual const IGuiElementContainer* GetSubElements() const override;
50
51protected:
52 I_ATTR(QByteArray, m_elementIdAttrPtr);
53 I_ATTR(QString, m_elementItemPathAttrPtr);
54 I_TEXTATTR(m_elementNameAttrPtr);
55 I_TEXTATTR(m_elementDescriptionAttrPtr);
56 I_TEXTATTR(m_elementStatusAttrPtr);
57 I_ATTR(bool, m_enabledAttrPtr);
58 I_ATTR(bool, m_visibleAttrPtr);
59 I_ATTR(int, m_priorityAttrPtr);
60 I_ATTR(int, m_alignmentAttrPtr);
61 I_REF(imtserverapp::IGuiElementContainer, m_subElementsCompPtr);
62};
63
64
65} // namespace imtserverapp
66
67