Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
OperationModesPms.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_MIMICS_MODEL_ELEMENTSPMS_OPERATIONMODESPMS_HPP_
2#define IV_SRC_MIMICS_MODEL_ELEMENTSPMS_OPERATIONMODESPMS_HPP_
3
5#include "mimics/enums.hpp"
8#include "model/pms/Mode.hpp"
11
13{
14
16{
18
19public:
21 ~OperationModesPms() override = default;
22
23 bool load(const iv::file::xml::node &nodeControlMimic) override;
24 bool save(iv::file::xml::node &nodeControlMimic) const override;
25
26 void updateEnabledLanguages(const std::set<iv::eLanguage> &enabledLanguages) override;
27
28 //controller
29 void getChannels(const std::shared_ptr<std::vector<std::weak_ptr<iv::channels::AbstractChannel>>>
30 &channelsInControl) const override;
31 void mapChannels(const std::function<void(std::weak_ptr<iv::channels::AbstractChannel> &)> &mapFunction) override;
32 void executeCommand(const std::string &strAction) const override;
33 [[nodiscard]] std::shared_ptr<iv::mimics::AbstractMimicElement> clone() const override;
34 [[nodiscard]] bool checkIntegrity() const override;
35 [[nodiscard]] bool hasAlternativeAction() const override;
36 void runAlternativeAction(CDialog *dlgFatherRef) override;
37 void runModeTransition(const std::shared_ptr<iv::model::pms::Transition> &transition, bool &isRunning);
38
40
45 void updateModeState();
46
47 // View
48 void drawSpecific(IGraphics *graphics, std::optional<iv::types::color> colorWorkingState,
49 std::optional<iv::types::color> colorControlState, iv::eLanguage drawingLanguage) override;
50 [[nodiscard]] bool canShowCircularMenu() const override;
51 [[nodiscard]] iv::types::color getColorState() const;
52
53 // UI
55
56private:
58
59 [[nodiscard]] bool isTransitionCurrentState() const;
60 [[nodiscard]] std::optional<iv::types::errorMessage> canBeTransitioned() const;
61 [[nodiscard]] bool isTransitionUnreachable() const;
62
63 std::weak_ptr<iv::model::pms::Mode> m_modeToReach;
65
69
70 // View
72 std::unique_ptr<CRectangleGraphics> m_rectangleOpt {nullptr};
73 std::unique_ptr<CDrawText> m_drawText {nullptr};
74
90 {
91 static constexpr std::string string {};
92 static constexpr iv::types::height textHeight {20};
93 static constexpr iv::types::pms::modeId modeId {"###"};
94 static constexpr iv::types::width width {80};
95 static constexpr iv::types::height height {80};
98 };
99 struct Sections
100 {
101 static constexpr std::string_view operationModesPmsControl {"OperationModesPmsControl"};
102 static constexpr std::string_view mode {"ModeToReach"};
103 static constexpr std::string_view messages {"Messages"};
104 static constexpr std::string_view message {"Message"};
105 };
106 struct Keys
107 {
108 static constexpr std::string_view modeId {"ModeId"};
109 static constexpr std::string_view textHeight {"TextHeight"};
110 };
111};
112
113}// namespace iv::mimics::elementsPms
114#endif//IV_SRC_MIMICS_MODEL_ELEMENTSPMS_OPERATIONMODESPMS_HPP_
Definition AbstractComponentGUI.hpp:30
Definition CDialog.hpp:21
Definition IGraphics.hpp:20
Definition MonotonicTimer.hpp:12
Definition xmlFile.hpp:15
Definition AbstractMimicElement.hpp:21
Definition OperationModesPms.hpp:16
void setModeState(const iv::mimics::elements::eOperationModeState &newModeState)
Definition OperationModesPms.cpp:217
bool isTransitionUnreachable() const
Definition OperationModesPms.cpp:508
iv::core::MonotonicTimer m_timerInFailedState
Definition OperationModesPms.hpp:67
bool isTransitionCurrentState() const
Definition OperationModesPms.cpp:430
void executeCommand(const std::string &strAction) const override
Run actions ///.
Definition OperationModesPms.cpp:110
OperationModesPms()
Definition OperationModesPms.cpp:12
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 OperationModesPms.cpp:100
iv::types::color getColorState() const
Definition OperationModesPms.cpp:330
bool canShowCircularMenu() const override
Behaviours gets ///.
Definition OperationModesPms.cpp:325
void runAlternativeAction(CDialog *dlgFatherRef) override
Ejecuta código específico del control.
Definition OperationModesPms.cpp:130
std::unique_ptr< CRectangleGraphics > m_rectangleOpt
Definition OperationModesPms.hpp:72
iv::model::LocalizedText m_message
Definition OperationModesPms.hpp:64
std::shared_ptr< iv::mimics::AbstractMimicElement > clone() const override
Definition OperationModesPms.cpp:115
iv::types::height m_textHeight
Definition OperationModesPms.hpp:71
bool checkIntegrity() const override
Definition OperationModesPms.cpp:120
std::unique_ptr< CDrawText > m_drawText
Definition OperationModesPms.hpp:73
bool load(const iv::file::xml::node &nodeControlMimic) override
Definition OperationModesPms.cpp:30
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 OperationModesPms.cpp:277
bool hasAlternativeAction() const override
Definition OperationModesPms.cpp:125
iv::core::MonotonicTimer m_timerSinceLastPulsation
Definition OperationModesPms.hpp:68
std::optional< iv::types::errorMessage > canBeTransitioned() const
Definition OperationModesPms.cpp:464
bool save(iv::file::xml::node &nodeControlMimic) const override
Definition OperationModesPms.cpp:56
AbstractComponentGUI * panelEditControl() override
UI methods ///.
Definition OperationModesPms.cpp:359
void runModeTransition(const std::shared_ptr< iv::model::pms::Transition > &transition, bool &isRunning)
Definition OperationModesPms.cpp:185
void updateModeState()
Update the state of the mode.
Definition OperationModesPms.cpp:237
void mapChannels(const std::function< void(std::weak_ptr< iv::channels::AbstractChannel > &)> &mapFunction) override
Processed gets ///.
Definition OperationModesPms.cpp:105
std::weak_ptr< iv::model::pms::Mode > m_modeToReach
Definition OperationModesPms.hpp:63
iv::mimics::elements::eOperationModeState m_modeState
Definition OperationModesPms.hpp:66
void updateEnabledLanguages(const std::set< iv::eLanguage > &enabledLanguages) override
Definition OperationModesPms.cpp:80
Definition PmsManager.hpp:20
constexpr iv::types::color Yellow
Definition color.hpp:225
constexpr iv::types::color Black
Definition color.hpp:21
constexpr iv::types::color GreyLight
Definition color.hpp:263
constexpr iv::types::color Red
Definition color.hpp:179
constexpr iv::types::color Green
Definition color.hpp:92
Definition BreakerPms.cpp:18
eOperationModeState
Definition enums.hpp:190
std::string modeId
Definition types.hpp:97
double height
Definition types.hpp:14
uint64_t milliseconds
Definition types.hpp:22
double width
Definition types.hpp:23
uint32_t color
Definition types.hpp:12
eLanguage
Definition enums.hpp:37
static constexpr iv::types::color text
Definition OperationModesPms.hpp:79
static constexpr iv::types::color active
Definition OperationModesPms.hpp:81
static constexpr iv::types::color inTransition
Definition OperationModesPms.hpp:83
static constexpr iv::types::color failed
Definition OperationModesPms.hpp:82
static constexpr iv::types::color inactive
Definition OperationModesPms.hpp:80
static constexpr iv::types::milliseconds timeInErrorState
Definition OperationModesPms.hpp:86
static constexpr iv::types::milliseconds minTimeBetweenPulsations
Definition OperationModesPms.hpp:87
static constexpr iv::mimics::elements::eOperationModeState modeState
Definition OperationModesPms.hpp:96
static constexpr iv::types::width width
Definition OperationModesPms.hpp:94
static constexpr iv::types::height height
Definition OperationModesPms.hpp:95
static constexpr iv::types::height textHeight
Definition OperationModesPms.hpp:92
static constexpr iv::types::pms::modeId modeId
Definition OperationModesPms.hpp:93
Definition OperationModesPms.hpp:107
static constexpr std::string_view modeId
Definition OperationModesPms.hpp:108
static constexpr std::string_view textHeight
Definition OperationModesPms.hpp:109
Definition OperationModesPms.hpp:100
static constexpr std::string_view messages
Definition OperationModesPms.hpp:103
static constexpr std::string_view operationModesPmsControl
Definition OperationModesPms.hpp:101
static constexpr std::string_view message
Definition OperationModesPms.hpp:104
static constexpr std::string_view mode
Definition OperationModesPms.hpp:102
Definition structs.hpp:29