Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
Valve.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_MIMICS_INDICATORS_VALVE_HPP_
2#define IV_SRC_MIMICS_INDICATORS_VALVE_HPP_
3
13
15{
16
24{
25public:
26 Valve();
27 ~Valve() override = default;
28
29 bool load(const iv::file::xml::node &nodeControlMimic) override;
30 bool save(iv::file::xml::node &nodeControlMimic) const override;
31
32 // Controller
33 void getChannels(const std::shared_ptr<std::vector<std::weak_ptr<iv::channels::AbstractChannel>>>
34 &channelsInControl) const override;
35 void mapChannels(const std::function<void(std::weak_ptr<iv::channels::AbstractChannel> &)> &mapFunction) override;
36 [[nodiscard]] std::shared_ptr<iv::mimics::AbstractMimicElement> clone() const override;
37 void executeCommand(const std::string &strAction) const override;
38
39 [[nodiscard]] std::optional<iv::types::color> getColorWorkingState() const override;
40 [[nodiscard]] std::optional<std::string> getStringWorkingState() const override;
41 [[nodiscard]] std::optional<iv::mimics::eAlarmState> getAlarmState() const override;
42
43 // View
44 void drawSpecific(IGraphics *graphics, std::optional<iv::types::color> colorWorkingState,
45 std::optional<iv::types::color> colorControlState, iv::eLanguage drawingLanguage) override;
46
47 // UI
49 void addOptionsMenu(const std::shared_ptr<iv::mimics::MimicControlMenu> &menu) override;
50
51protected:
53 Valve(const Valve &other);
54
55 // View
56 std::unique_ptr<CDrawText> m_textStateOpt {nullptr};
57 virtual void prvDrawMechanicalValve(iv::types::color colorState, IGraphics *graphics) const;
58 virtual void prvDrawNormalValve(iv::types::color colorState, IGraphics *graphics) const;
59
60 virtual void prvDrawLocalState(IGraphics *graphics) const;
61
65
66 struct Constants
67 {
68 static constexpr double locaSquareLineWidthProportion {0.01};
71 };
87 struct Keys
88 {
89 static constexpr std::string_view valveDesign {"ValveDesign"};
90 static constexpr std::string_view isControl {"IsControl"};
91 };
92 struct Sections
93 {
94 static constexpr std::string_view valve {"Valve"};
95 static constexpr std::string_view maintenance {"Maintenance"};
96 static constexpr std::string_view feedbackOpCl {"FeedbackOpCl"};
97 static constexpr std::string_view commandsOpCl {"CommandsOpCl"};
98 static constexpr std::string_view orderOpCl {"OrderOpCl"};
99 static constexpr std::string_view remoteLocal {"RemoteLocal"};
100 static constexpr std::string_view tripReset {"TripReset"};
101 static constexpr std::string_view controlLock {"ControlLock"};
102 };
103};
104
105}// namespace iv::mimics::elements
106
107#endif//IV_SRC_MIMICS_INDICATORS_VALVE_HPP_
Definition AbstractComponentGUI.hpp:30
Definition IGraphics.hpp:20
Definition xmlFile.hpp:15
Definition AbstractMimicElement.hpp:21
Definition Valve.hpp:24
std::optional< iv::types::color > getColorWorkingState() const override
Retrieves the color representing the current working state of the element.
Definition Valve.cpp:150
virtual void prvDrawLocalState(IGraphics *graphics) const
Definition Valve.cpp:327
bool save(iv::file::xml::node &nodeControlMimic) const override
Definition Valve.cpp:75
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 Valve.cpp:108
Valve()
Definition Valve.cpp:20
std::shared_ptr< iv::mimics::AbstractMimicElement > clone() const override
Definition Valve.cpp:141
void mapChannels(const std::function< void(std::weak_ptr< iv::channels::AbstractChannel > &)> &mapFunction) override
Processed gets ///.
Definition Valve.cpp:125
virtual void prvDrawMechanicalValve(iv::types::color colorState, IGraphics *graphics) const
Definition Valve.cpp:242
bool m_isControl
Definition Valve.hpp:62
iv::mimics::support::Maintenance m_maintenance
Definition Valve.hpp:64
void addOptionsMenu(const std::shared_ptr< iv::mimics::MimicControlMenu > &menu) override
Definition Valve.cpp:558
std::optional< std::string > getStringWorkingState() const override
Definition Valve.cpp:186
iv::mimics::elements::eValveDesign m_valveDesign
Definition Valve.hpp:63
~Valve() override=default
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 Valve.cpp:218
bool load(const iv::file::xml::node &nodeControlMimic) override
Definition Valve.cpp:40
virtual void prvDrawNormalValve(iv::types::color colorState, IGraphics *graphics) const
Definition Valve.cpp:295
AbstractComponentGUI * panelEditControl() override
UI methods ///.
Definition Valve.cpp:353
std::unique_ptr< CDrawText > m_textStateOpt
Definition Valve.hpp:56
void executeCommand(const std::string &strAction) const override
Run actions ///.
Definition Valve.cpp:146
std::optional< iv::mimics::eAlarmState > getAlarmState() const override
Definition Valve.cpp:193
Definition Maintenance.hpp:11
Definition CommandsOpCl.hpp:12
Definition ControlLock.hpp:11
Definition FeedbackOpCl.hpp:12
Definition OrderOpCl.hpp:12
Definition RemoteLocal.hpp:20
Definition TripReset.hpp:12
constexpr iv::types::color SedniElementNotWorkingWhite
Definition color.hpp:340
constexpr iv::types::color SedniElementWorkingGreen
Definition color.hpp:337
constexpr iv::types::color White
Definition color.hpp:222
constexpr iv::types::color SedniElementOfflineGrey
Definition color.hpp:346
constexpr iv::types::color SedniElementUndefined
Definition color.hpp:344
Definition enums.hpp:95
eValveDesign
Definition enums.hpp:114
eMimicElementType
Definition enums.hpp:8
double width
Definition types.hpp:23
uint32_t color
Definition types.hpp:12
eLanguage
Definition enums.hpp:37
static constexpr iv::types::width locaSquareLineMinWidth
Definition Valve.hpp:69
static constexpr double locaSquareLineWidthProportion
Definition Valve.hpp:68
static constexpr iv::types::width locaSquareLineMaxWidth
Definition Valve.hpp:70
static constexpr iv::types::color workingStateOffline
Definition Valve.hpp:84
static constexpr iv::types::color workingStateClose
Definition Valve.hpp:82
static constexpr iv::types::color color
Definition Valve.hpp:79
static constexpr iv::types::color workingStateUndefined
Definition Valve.hpp:83
static constexpr iv::types::color workingStateOpen
Definition Valve.hpp:81
static constexpr bool isControl
Definition Valve.hpp:76
static constexpr iv::mimics::elements::eValveDesign valveDesign
Definition Valve.hpp:75
Definition Valve.hpp:88
static constexpr std::string_view isControl
Definition Valve.hpp:90
static constexpr std::string_view valveDesign
Definition Valve.hpp:89
static constexpr std::string_view remoteLocal
Definition Valve.hpp:99
static constexpr std::string_view feedbackOpCl
Definition Valve.hpp:96
static constexpr std::string_view maintenance
Definition Valve.hpp:95
static constexpr std::string_view commandsOpCl
Definition Valve.hpp:97
static constexpr std::string_view valve
Definition Valve.hpp:94
static constexpr std::string_view tripReset
Definition Valve.hpp:100
static constexpr std::string_view orderOpCl
Definition Valve.hpp:98
static constexpr std::string_view controlLock
Definition Valve.hpp:101