Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
AlarmIndicator.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_MIMICS_INDICATORS_ALARMINDICATOR_HPP_
2#define IV_SRC_MIMICS_INDICATORS_ALARMINDICATOR_HPP_
3
8
10{
11
13{
14public:
16 ~AlarmIndicator() override = default;
17
18 bool load(const iv::file::xml::node &nodeControlMimic) override;
19 bool save(iv::file::xml::node &nodeControlMimic) const override;
20
21 void updateEnabledLanguages(const std::set<iv::eLanguage> &enabledLanguages) override;
22
23 // Controller
24 void getChannels(const std::shared_ptr<std::vector<std::weak_ptr<iv::channels::AbstractChannel>>>
25 &channelsInControl) const override;
26 void mapChannels(const std::function<void(std::weak_ptr<iv::channels::AbstractChannel> &)> &mapFunction) override;
27 [[nodiscard]] std::shared_ptr<iv::mimics::AbstractMimicElement> clone() const override;
28 void executeCommand(const std::string &strAction) const override;
29 [[nodiscard]] std::optional<iv::mimics::eAlarmState> getAlarmFeedbackState() const;
30
31 // View
32 void drawSpecific(IGraphics *graphics, std::optional<iv::types::color> colorWorkingState,
33 std::optional<iv::types::color> colorControlState, iv::eLanguage drawingLanguage) override;
34
35 // UI
37
38protected:
39 AlarmIndicator(const AlarmIndicator &other);
40
41public:
42 // Visualization
46
48
50
51private:
52 // View
54 std::unique_ptr<CRectangleGraphics> m_drawAlarmIcon {nullptr};
55 std::unique_ptr<CRectangleGraphics> m_drawAlarmOkCircle {nullptr};
56 std::unique_ptr<CDrawText> m_drawText {nullptr};
57
58 struct Keys
59 {
60 static constexpr std::string_view textHeight {"TextHeight"};
61 static constexpr std::string_view textColor {"TextColor"};
62 };
64 {
65 static constexpr iv::types::height textHeight {16};
67 static constexpr double okValueCircleProportion {0.75};
72 };
73 struct Sections
74 {
75 static constexpr std::string_view alarmIndicator {"AlarmIndicator"};
76 static constexpr std::string_view alarmFeedback {"AlarmFeedback"};
77 static constexpr std::string_view texts {"Texts"};
78 static constexpr std::string_view text {"Text"};
79 };
80};
81
82}// namespace iv::mimics::elements
83
84#endif//IV_SRC_MIMICS_INDICATORS_ALARMINDICATOR_HPP_
Definition AbstractComponentGUI.hpp:30
Definition IGraphics.hpp:20
Definition xmlFile.hpp:15
Definition AbstractMimicElement.hpp:21
Definition Channel.hpp:12
Definition AlarmIndicator.hpp:13
iv::model::LocalizedText m_text
Definition AlarmIndicator.hpp:44
bool load(const iv::file::xml::node &nodeControlMimic) override
Definition AlarmIndicator.cpp:33
std::unique_ptr< CRectangleGraphics > m_drawAlarmOkCircle
Definition AlarmIndicator.hpp:55
bool m_isCalculatedRectangle
Definition AlarmIndicator.hpp:53
std::unique_ptr< CDrawText > m_drawText
Definition AlarmIndicator.hpp:56
void mapChannels(const std::function< void(std::weak_ptr< iv::channels::AbstractChannel > &)> &mapFunction) override
Processed gets ///.
Definition AlarmIndicator.cpp:97
iv::types::color m_textColor
Definition AlarmIndicator.hpp:45
iv::mimics::Channel m_alarmFeedback
Definition AlarmIndicator.hpp:47
std::optional< iv::mimics::eAlarmState > getAlarmFeedbackState() const
Definition AlarmIndicator.cpp:111
void getChannels(const std::shared_ptr< std::vector< std::weak_ptr< iv::channels::AbstractChannel > > > &channelsInControl) const override
AƱade los canales que el MimicElement tiene enlazado.
Definition AlarmIndicator.cpp:90
std::shared_ptr< iv::mimics::AbstractMimicElement > clone() const override
Definition AlarmIndicator.cpp:102
bool save(iv::file::xml::node &nodeControlMimic) const override
Definition AlarmIndicator.cpp:52
std::unique_ptr< CRectangleGraphics > m_drawAlarmIcon
Definition AlarmIndicator.hpp:54
void updateEnabledLanguages(const std::set< iv::eLanguage > &enabledLanguages) override
Definition AlarmIndicator.cpp:70
AlarmIndicator()
Definition AlarmIndicator.cpp:17
iv::mimics::support::Maintenance m_maintenance
Definition AlarmIndicator.hpp:49
void drawSpecific(IGraphics *graphics, std::optional< iv::types::color > colorWorkingState, std::optional< iv::types::color > colorControlState, iv::eLanguage drawingLanguage) override
Draws the specific abstract element shape.
Definition AlarmIndicator.cpp:131
AbstractComponentGUI * panelEditControl() override
UI methods ///.
Definition AlarmIndicator.cpp:217
void executeCommand(const std::string &strAction) const override
Run actions ///.
Definition AlarmIndicator.cpp:107
iv::types::height m_textHeight
Definition AlarmIndicator.hpp:43
Definition Maintenance.hpp:11
constexpr iv::types::color White
Definition color.hpp:222
constexpr iv::types::color SedniElementOfflineGrey
Definition color.hpp:346
Definition enums.hpp:95
double height
Definition types.hpp:14
uint32_t color
Definition types.hpp:12
eLanguage
Definition enums.hpp:37
static constexpr iv::types::color workingStateNoAlarm
Definition AlarmIndicator.hpp:70
static constexpr double okValueCircleProportion
Definition AlarmIndicator.hpp:67
static constexpr iv::types::height textHeight
Definition AlarmIndicator.hpp:65
static constexpr iv::types::color textColor
Definition AlarmIndicator.hpp:66
Definition AlarmIndicator.hpp:59
static constexpr std::string_view textColor
Definition AlarmIndicator.hpp:61
static constexpr std::string_view textHeight
Definition AlarmIndicator.hpp:60
Definition AlarmIndicator.hpp:74
static constexpr std::string_view text
Definition AlarmIndicator.hpp:78
static constexpr std::string_view alarmFeedback
Definition AlarmIndicator.hpp:76
static constexpr std::string_view texts
Definition AlarmIndicator.hpp:77
static constexpr std::string_view alarmIndicator
Definition AlarmIndicator.hpp:75
Definition structs.hpp:29