ImagingTools Core SDK
CEventStatisticsViewComp.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// Qt includes
6#include <QtWidgets/QLabel>
7
8// ACF includes
9#include <iqtgui/TDesignerGuiObserverCompBase.h>
10
11// ImtCore includes
12#include <imtloggui/IEventStatisticsProvider.h>
13#include <GeneratedFiles/imtloggui/ui_CEventStatisticsViewComp.h>
14
15
16namespace imtloggui
17{
18
19
20class CEventStatisticsViewComp:
21 public iqtgui::TDesignerGuiObserverCompBase<
22 Ui::CEventStatisticsViewComp,
23 IEventStatisticsProvider>
24{
25 Q_OBJECT
26public:
27 typedef iqtgui::TDesignerGuiObserverCompBase<
28 Ui::CEventStatisticsViewComp,
29 IEventStatisticsProvider> BaseClass;
30
31 I_BEGIN_COMPONENT(CEventStatisticsViewComp)
32 I_END_COMPONENT
33
34protected:
35 // reimplemented (iqtgui::TGuiObserverWrap)
36 virtual void UpdateGui(const istd::IChangeable::ChangeSet& changeSet) override;
37 virtual void OnGuiModelDetached() override;
38
39 // reimplemented (iqtgui::CGuiComponentBase)
40 virtual void OnGuiCreated() override;
41 virtual void OnGuiDestroyed() override;
42 virtual void OnGuiRetranslate() override;
43
44private:
45 int GetGroupIndex(const QByteArray& id);
46
47private:
48 class GroupStatisticsWidget: public QWidget
49 {
50 public:
51 GroupStatisticsWidget(QWidget *parentPtr = nullptr);
52
53 void SetName(const QString& name);
54 void SetCounters(
55 qint64 noneCouner,
56 qint64 infoCouner,
57 qint64 warningCouner,
58 qint64 errorCouner,
59 qint64 criticalCouner);
60
61 private:
62 QLabel* m_name;
63 QLabel* m_counters[5];
64 };
65
66 struct GroupItem
67 {
68 QByteArray id;
69 GroupStatisticsWidget* widgetPtr;
70 };
71
72
73 typedef QList<GroupItem> GroupList;
74
75private:
76 GroupList m_groups;
77 QSpacerItem* m_spacerPtr;
78};
79
80
81} // namespace imtloggui
82
83