Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
Generator.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_MIMICS_INDICATORS_GENERATOR_HPP_
2#define IV_SRC_MIMICS_INDICATORS_GENERATOR_HPP_
3
13
15{
16
24
25{
26public:
27 Generator();
28 ~Generator() override = default;
29
30 bool load(const iv::file::xml::node &nodeControlMimic) override;
31 bool save(iv::file::xml::node &nodeControlMimic) const override;
32
33 // Controller
34 void getChannels(const std::shared_ptr<std::vector<std::weak_ptr<iv::channels::AbstractChannel>>>
35 &channelsInControl) const override;
36 void mapChannels(const std::function<void(std::weak_ptr<iv::channels::AbstractChannel> &)> &mapFunction) override;
37 [[nodiscard]] std::shared_ptr<iv::mimics::AbstractMimicElement> clone() const override;
38 void executeCommand(const std::string &strAction) const override;
39
40 [[nodiscard]] std::optional<iv::types::color> getColorWorkingState() const override;
41 [[nodiscard]] std::optional<iv::types::color> getColorControlState() const override;
42 [[nodiscard]] std::optional<std::string> getStringWorkingState() const override;
43 [[nodiscard]] std::optional<std::string> getStringControlState() const override;
44 [[nodiscard]] std::optional<iv::mimics::eAlarmState> getAlarmState() const override;
45
46 // View
47 void drawSpecific(IGraphics *graphics, std::optional<iv::types::color> colorWorkingState,
48 std::optional<iv::types::color> colorControlState, iv::eLanguage drawingLanguage) override;
49
50 // UI
52 void addOptionsMenu(const std::shared_ptr<iv::mimics::MimicControlMenu> &menu) override;
53
54protected:
55 static constexpr double kPrvRelationXY {3.25};
56
58 Generator(const Generator &other);
59
60 std::unique_ptr<CRectangleGraphics> m_rectangleOpt {nullptr};
61
66
67private:
87 struct Keys
88 {
89 static constexpr std::string_view isControl {"IsControl"};
90 };
91 struct Sections
92 {
93 static constexpr std::string_view generator {"Generator"};
94 static constexpr std::string_view maintenance {"Maintenance"};
95 static constexpr std::string_view automaticSemiAuto {"AutomaticSemiAuto"};
96 static constexpr std::string_view commandsStartStop {"CommandsStartStop"};
97 static constexpr std::string_view controlLock {"ControlLock"};
98 static constexpr std::string_view feedbackRunningStopped {"FeedbackRunningStopped"};
99 static constexpr std::string_view orderStartStop {"OrderStartStop"};
100 static constexpr std::string_view remoteLocal {"RemoteLocal"};
101 static constexpr std::string_view tripReset {"TripReset"};
102 static constexpr std::string_view orderAuto {"OrderAuto"};
103 static constexpr std::string_view orderSemiAuto {"OrderSemiAuto"};
104 };
105};
106
107}// namespace iv::mimics::elements
108
109#endif//IV_SRC_MIMICS_INDICATORS_GENERATOR_HPP_
Definition AbstractComponentGUI.hpp:30
Definition IGraphics.hpp:20
Definition xmlFile.hpp:15
Definition AbstractMimicElement.hpp:21
Definition Channel.hpp:12
Definition Generator.hpp:25
std::optional< iv::mimics::eAlarmState > getAlarmState() const override
Definition Generator.cpp:266
void executeCommand(const std::string &strAction) const override
Run actions ///.
Definition Generator.cpp:290
void addOptionsMenu(const std::shared_ptr< iv::mimics::MimicControlMenu > &menu) override
Definition Generator.cpp:605
std::optional< std::string > getStringControlState() const override
Definition Generator.cpp:238
iv::mimics::support::Maintenance m_maintenance
Definition Generator.hpp:65
std::shared_ptr< iv::mimics::AbstractMimicElement > clone() const override
Definition Generator.cpp:150
static constexpr double kPrvRelationXY
Definition Generator.hpp:55
void mapChannels(const std::function< void(std::weak_ptr< iv::channels::AbstractChannel > &)> &mapFunction) override
Processed gets ///.
Definition Generator.cpp:134
Generator()
Definition Generator.cpp:18
bool save(iv::file::xml::node &nodeControlMimic) const override
Definition Generator.cpp:80
std::unique_ptr< CRectangleGraphics > m_rectangleOpt
Definition Generator.hpp:60
AbstractComponentGUI * panelEditControl() override
UI methods ///.
Definition Generator.cpp:366
bool m_isControl
Definition Generator.hpp:62
std::optional< iv::types::color > getColorControlState() const override
Retrieves the color representing the current control state of the element.
Definition Generator.cpp:191
~Generator() override=default
std::optional< std::string > getStringWorkingState() const override
Definition Generator.cpp:231
bool load(const iv::file::xml::node &nodeControlMimic) override
Definition Generator.cpp:43
iv::mimics::Channel m_semiAutoOrder
Definition Generator.hpp:64
std::optional< iv::types::color > getColorWorkingState() const override
Retrieves the color representing the current working state of the element.
Definition Generator.cpp:155
iv::mimics::Channel m_autoOrder
Definition Generator.hpp:63
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 Generator.cpp:117
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 Generator.cpp:294
Definition Maintenance.hpp:11
Definition AutomaticSemiAuto.hpp:21
Definition CommandsStartStop.hpp:11
Definition FeedbackRunningStopped.hpp:12
Definition OrderStartStop.hpp:12
Definition RemoteLocal.hpp:20
Definition TripReset.hpp:12
constexpr iv::types::color SedniSemiAuto
Definition color.hpp:341
constexpr iv::types::color SedniElementNotWorkingBlack
Definition color.hpp:338
constexpr iv::types::color SedniElementWorkingGreen
Definition color.hpp:337
constexpr iv::types::color SedniElementOfflineBlack
Definition color.hpp:345
constexpr iv::types::color SedniLocal
Definition color.hpp:343
constexpr iv::types::color SedniElementOfflineGrey
Definition color.hpp:346
constexpr iv::types::color GeneratorControlRemote
Definition color.hpp:455
constexpr iv::types::color SedniElementUndefined
Definition color.hpp:344
constexpr iv::types::color SedniAuto
Definition color.hpp:342
constexpr iv::types::color Gray
Definition color.hpp:91
Definition enums.hpp:95
eMimicElementType
Definition enums.hpp:8
uint32_t color
Definition types.hpp:12
eLanguage
Definition enums.hpp:37
static constexpr iv::types::color run
Definition Generator.hpp:74
static constexpr iv::types::color controlStateRemoteSemiAuto
Definition Generator.hpp:82
static constexpr iv::types::color state
Definition Generator.hpp:73
static constexpr iv::types::color workingStateRunning
Definition Generator.hpp:77
static constexpr iv::types::color workingStateUndefined
Definition Generator.hpp:78
static constexpr iv::types::color workingStateStopped
Definition Generator.hpp:76
static constexpr iv::types::color controlStateRemoteAuto
Definition Generator.hpp:83
static constexpr iv::types::color controlStateLocal
Definition Generator.hpp:81
static constexpr iv::types::color workingStateOffline
Definition Generator.hpp:79
static constexpr iv::types::color controlStateOffline
Definition Generator.hpp:84
static constexpr bool isControl
Definition Generator.hpp:70
Definition Generator.hpp:88
static constexpr std::string_view isControl
Definition Generator.hpp:89
static constexpr std::string_view tripReset
Definition Generator.hpp:101
static constexpr std::string_view remoteLocal
Definition Generator.hpp:100
static constexpr std::string_view maintenance
Definition Generator.hpp:94
static constexpr std::string_view orderSemiAuto
Definition Generator.hpp:103
static constexpr std::string_view commandsStartStop
Definition Generator.hpp:96
static constexpr std::string_view automaticSemiAuto
Definition Generator.hpp:95
static constexpr std::string_view controlLock
Definition Generator.hpp:97
static constexpr std::string_view orderStartStop
Definition Generator.hpp:99
static constexpr std::string_view feedbackRunningStopped
Definition Generator.hpp:98
static constexpr std::string_view orderAuto
Definition Generator.hpp:102
static constexpr std::string_view generator
Definition Generator.hpp:93