ImagingTools Core SDK
CMultiStatusProviderGuiComp.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 <iqtgui/TDesignerGuiObserverCompBase.h>
7
8// ImtCore includes
9#include <imtbase/IMultiStatusProvider.h>
10#include <GeneratedFiles/imtgui/ui_CMultiStatusProviderGuiComp.h>
11
12
13namespace imtgui
14{
15
16
17class CMultiStatusProviderGuiComp:
18 public iqtgui::TDesignerGuiObserverCompBase<
19 Ui::MultiStatusProviderGui, imtbase::IMultiStatusProvider>
20{
21public:
22 typedef iqtgui::TDesignerGuiObserverCompBase<
23 Ui::MultiStatusProviderGui, imtbase::IMultiStatusProvider> BaseClass;
24
25 I_BEGIN_COMPONENT(CMultiStatusProviderGuiComp);
26 I_END_COMPONENT;
27
28protected:
29 // reimplemented (iqtgui::CGuiComponentBase)
30 virtual void OnGuiCreated() override;
31
32 // reimplemented (iqtgui::TGuiObserverWrap)
33 virtual void UpdateGui(const istd::IChangeable::ChangeSet& changeSet) override;
34 virtual void OnGuiRetranslate() override;
35 virtual void OnGuiDesignChanged() override;
36
37private:
38 void UpdateCommonStatusGui(const istd::IInformationProvider& status);
39 void UpdateStatusesGui(const imtbase::IMultiStatusProvider& statuses);
40
41 QIcon GetStatusIcon(istd::IInformationProvider::InformationCategory status);
42
43private:
44 QIcon m_stateUnknownIcon;
45 QIcon m_stateOkIcon;
46 QIcon m_stateWarningIcon;
47 QIcon m_stateInvalidIcon;
48};
49
50
51} // namespace imtgui
52
53