1#ifndef IV_SRC_MIMICS_MODEL_ELEMENTSPMS_GENERATORPMS_HPP_
2#define IV_SRC_MIMICS_MODEL_ELEMENTSPMS_GENERATORPMS_HPP_
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 [[nodiscard]] std::shared_ptr<iv::mimics::AbstractMimicElement>
clone()
const override;
37 [[nodiscard]] std::optional<iv::mimics::eAlarmState>
getAlarmState()
const override;
44 std::optional<iv::types::color> colorControlState,
iv::eLanguage drawingLanguage)
override;
48 void addOptionsMenu(
const std::shared_ptr<iv::mimics::MimicControlMenu> &menu)
override;
55 std::optional<iv::channels::FormattedValue>
getPowerText()
const;
65 bool hasRepeatedChannels(
const std::unordered_set<iv::types::channelId> &channelsRepeatedOpt)
const override;
67 isRepeatedMimicElement(
const std::set<std::shared_ptr<AbstractMimicElement>> &otherMimicsElements)
const override;
133 static constexpr std::string
string {};
137 static constexpr std::string_view
generator {
"Generator"};
142 static constexpr std::string_view
generator {
"Generator"};
Definition AbstractComponentGUI.hpp:30
Definition CDialog.hpp:21
Definition IGraphics.hpp:20
Definition xmlFile.hpp:15
Definition AbstractMimicElement.hpp:21
Definition GeneratorPms.hpp:20
std::weak_ptr< iv::model::pms::Generator > m_pmsGenerator
Definition GeneratorPms.hpp:84
void drawTextPriority(IGraphics *graphics, iv::types::radius arcRadius, iv::types::width arcWidth) const
Definition GeneratorPms.cpp:1051
~GeneratorPms() override=default
std::unique_ptr< CDrawText > m_textGeneratorName
Definition GeneratorPms.hpp:93
std::optional< iv::channels::FormattedValue > getPriorityText() const
Definition GeneratorPms.cpp:798
std::optional< std::string > getStringControlState() const override
Definition GeneratorPms.cpp:157
void drawTextFrequency(IGraphics *graphics, iv::types::radius arcRadius) const
Definition GeneratorPms.cpp:1002
void runAlternativeAction(CDialog *dlgFatherRef) override
Ejecuta código específico del control.
Definition GeneratorPms.cpp:551
bool hasRepeatedChannels(const std::unordered_set< iv::types::channelId > &channelsRepeatedOpt) const override
Checks if the current mimic element contains any repeated channels.
Definition GeneratorPms.cpp:862
std::optional< std::string > getRemoteAutoIconState() const
Definition GeneratorPms.cpp:814
GeneratorPms()
Definition GeneratorPms.cpp:24
void executeCommand(const std::string &strAction) const override
Run actions ///.
Definition GeneratorPms.cpp:146
void drawTextControlState(IGraphics *graphics, iv::types::radius arcRadius, iv::types::width arcWidth) const
Definition GeneratorPms.cpp:1072
std::unique_ptr< CDrawText > m_textControlState
Definition GeneratorPms.hpp:92
void updateGeneratorTraits()
Update the valve traits channels with the current generator channels.
Definition GeneratorPms.cpp:1094
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 GeneratorPms.cpp:224
void addOptionsMenu(const std::shared_ptr< iv::mimics::MimicControlMenu > &menu) override
Definition GeneratorPms.cpp:520
std::optional< iv::channels::FormattedValue > getFrequencyText() const
Definition GeneratorPms.cpp:782
std::optional< std::string > getStringWorkingState() const override
Definition GeneratorPms.cpp:150
std::unique_ptr< CDrawText > m_textPriority
Definition GeneratorPms.hpp:91
bool canShowCircularMenu() const override
Behaviours gets ///.
Definition GeneratorPms.cpp:524
iv::types::color m_generatorNameColor
Definition GeneratorPms.hpp:83
bool save(iv::file::xml::node &nodeControlMimic) const override
Definition GeneratorPms.cpp:61
void drawGeneratorName(IGraphics *graphics, iv::types::radius arcRadius) const
Definition GeneratorPms.cpp:930
std::optional< iv::mimics::eAlarmState > getAlarmState() const override
Definition GeneratorPms.cpp:178
bool hasAlternativeAction() const override
Definition GeneratorPms.cpp:529
bool checkIntegrity() const override
Definition GeneratorPms.cpp:857
std::unique_ptr< CDrawText > m_textPowerUnit
Definition GeneratorPms.hpp:88
void drawTextPower(IGraphics *graphics, iv::types::radius arcRadius) const
Definition GeneratorPms.cpp:952
std::unique_ptr< CDrawText > m_textFrequencyUnit
Definition GeneratorPms.hpp:90
std::optional< double > normalizedPowerValue() const
Definition GeneratorPms.cpp:742
std::optional< iv::channels::FormattedValue > getPowerText() const
Definition GeneratorPms.cpp:766
void drawGeneratorArc(IGraphics *graphics, iv::types::radius arcRadius, iv::types::width arcWidth) const
Definition GeneratorPms.cpp:892
void mapChannels(const std::function< void(std::weak_ptr< iv::channels::AbstractChannel > &)> &mapFunction) override
Processed gets ///.
Definition GeneratorPms.cpp:137
bool isRepeatedMimicElement(const std::set< std::shared_ptr< AbstractMimicElement > > &otherMimicsElements) const override
Determines whether the current mimic element shares significant similarities with others.
Definition GeneratorPms.cpp:867
std::unique_ptr< CDrawText > m_textFrequency
Definition GeneratorPms.hpp:89
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 GeneratorPms.cpp:77
iv::math::geometry::Point2d getAlarmIconPosition(const iv::math::geometry::Area &elementSize) const override
Definition GeneratorPms.cpp:211
bool load(const iv::file::xml::node &nodeControlMimic) override
Definition GeneratorPms.cpp:41
std::shared_ptr< iv::mimics::AbstractMimicElement > clone() const override
Definition GeneratorPms.cpp:141
AbstractComponentGUI * panelEditControl() override
UI methods ///.
Definition GeneratorPms.cpp:255
std::unique_ptr< CDrawText > m_textPower
Definition GeneratorPms.hpp:87
Definition AutomaticSemiAuto.hpp:21
Definition FeedbackRunningStopped.hpp:12
Definition RemoteLocal.hpp:20
Definition TripReset.hpp:12
constexpr iv::types::color WonderBitsWhite
Definition color.hpp:252
constexpr iv::types::color WonderBitsGrey3
Definition color.hpp:242
constexpr iv::types::color SedniElementOfflineGrey
Definition color.hpp:346
constexpr iv::types::color WonderBitsBlue
Definition color.hpp:235
constexpr iv::types::color DiamarBlackBackground
Definition color.hpp:288
Definition BreakerPms.cpp:18
uint16_t elementId
Definition types.hpp:96
double radius
Definition types.hpp:17
double degree
Definition types.hpp:18
double width
Definition types.hpp:23
uint32_t color
Definition types.hpp:12
eLanguage
Definition enums.hpp:37
Definition structs.hpp:123
Definition structs.hpp:16
Definition GeneratorPms.hpp:98
static constexpr iv::types::color workingFrequencyUnit
Definition GeneratorPms.hpp:104
static constexpr iv::types::color workingPower
Definition GeneratorPms.hpp:101
static constexpr iv::types::color workingFrequency
Definition GeneratorPms.hpp:103
static constexpr iv::types::color offline
Definition GeneratorPms.hpp:107
static constexpr iv::types::color workingPriority
Definition GeneratorPms.hpp:105
static constexpr iv::types::color workingBar
Definition GeneratorPms.hpp:99
static constexpr iv::types::color workingBarBackground
Definition GeneratorPms.hpp:100
static constexpr iv::types::color workingPowerUnit
Definition GeneratorPms.hpp:102
static constexpr iv::types::color workingControlState
Definition GeneratorPms.hpp:106
Definition GeneratorPms.hpp:124
static constexpr iv::types::width frequencyUnitPadding
Definition GeneratorPms.hpp:126
static constexpr iv::types::width powerUnitPadding
Definition GeneratorPms.hpp:125
Definition GeneratorPms.hpp:110
static constexpr double generatorNameTextSize
Definition GeneratorPms.hpp:121
static constexpr double arcWidth
Definition GeneratorPms.hpp:112
static constexpr double frequencyUnitTextSize
Definition GeneratorPms.hpp:119
static constexpr double priorityTextSize
Definition GeneratorPms.hpp:120
static constexpr iv::types::degree arcEnd
Definition GeneratorPms.hpp:114
static constexpr iv::types::degree arcStart
Definition GeneratorPms.hpp:113
static constexpr double powerUnitTextSize
Definition GeneratorPms.hpp:117
static constexpr double powerTextSize
Definition GeneratorPms.hpp:116
static constexpr double powerTextOffset
Definition GeneratorPms.hpp:115
static constexpr double frequencyTextSize
Definition GeneratorPms.hpp:118
static constexpr iv::types::radius diameter
Definition GeneratorPms.hpp:111
Definition GeneratorPms.hpp:96
Definition GeneratorPms.hpp:130
static constexpr iv::types::color generatorNameColor
Definition GeneratorPms.hpp:132
static constexpr iv::types::pms::elementId generatorId
Definition GeneratorPms.hpp:131
Definition GeneratorPms.hpp:136
static constexpr std::string_view generator
Definition GeneratorPms.hpp:137
static constexpr std::string_view generatorNameColor
Definition GeneratorPms.hpp:138
Definition GeneratorPms.hpp:141
static constexpr std::string_view generator
Definition GeneratorPms.hpp:142