Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
DynamicText.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_MIMICS_MODEL_INDICATORS_DYNAMICTEXT_HPP_
2#define IV_SRC_MIMICS_MODEL_INDICATORS_DYNAMICTEXT_HPP_
3
6
8{
9
10class DynamicText final : public iv::mimics::Text
11{
12public:
14 ~DynamicText() override = default;
15
16 bool load(const iv::file::xml::node &nodeControlMimic) override;
17 bool save(iv::file::xml::node &nodeControlMimic) const override;
18
19 // Controller
20 void getChannels(const std::shared_ptr<std::vector<std::weak_ptr<iv::channels::AbstractChannel>>>
21 &channelsInControl) const override;
22 void mapChannels(const std::function<void(std::weak_ptr<iv::channels::AbstractChannel> &)> &mapFunction) override;
23 [[nodiscard]] std::shared_ptr<iv::mimics::AbstractMimicElement> clone() const override;
24
26 void setDefaultMessage(const std::string &defaultMessage);
27
28 // UI
30 void addOptionsMenu(const std::shared_ptr<iv::mimics::MimicControlMenu> &menu) override;
31
32 std::map<iv::types::order, iv::mimics::support::DynamicTextCondition> m_conditions;
33 std::string m_defaultMessage;
34
35private:
36 DynamicText(const DynamicText &other);
37
38 [[nodiscard]] bool
39 hasRepeatedChannels(const std::unordered_set<iv::types::channelId> &channelsRepeatedOpt) const override;
40 [[nodiscard]] bool
41 isRepeatedMimicElement(const std::set<std::shared_ptr<AbstractMimicElement>> &otherMimicsElements) const override;
42
43 [[nodiscard]] std::string prvGetText(iv::eLanguage activeLanguage) const override;
44 [[nodiscard]] std::set<std::string> prvGetTexts() const override;
45
46 struct Sections
47 {
48 static constexpr std::string_view dynamicTextIndicator {"DynamicTextIndicator"};
49 static constexpr std::string_view conditions {"Conditions"};
50 static constexpr std::string_view condition {"Condition"};
51 };
52 struct Keys
53 {
54 static constexpr std::string_view defaultMessage {"DefaultMessage"};
55 };
57 {
58 static constexpr std::string defaultMessage {"###"};
59 };
60};
61
62}// namespace iv::mimics::elements
63
64#endif//IV_SRC_MIMICS_MODEL_INDICATORS_DYNAMICTEXT_HPP_
Definition AbstractComponentGUI.hpp:30
Definition xmlFile.hpp:15
Definition Text.hpp:11
Definition DynamicText.hpp:11
void addOptionsMenu(const std::shared_ptr< iv::mimics::MimicControlMenu > &menu) override
Definition DynamicText.cpp:184
bool hasRepeatedChannels(const std::unordered_set< iv::types::channelId > &channelsRepeatedOpt) const override
Checks if the current mimic element contains any repeated channels.
Definition DynamicText.cpp:189
DynamicText()
Definition DynamicText.cpp:14
AbstractComponentGUI * panelEditControl() override
UI methods ///.
Definition DynamicText.cpp:109
std::string m_defaultMessage
Definition DynamicText.hpp:33
void appendTextCondition(iv::mimics::support::DynamicTextCondition condition)
Definition DynamicText.cpp:98
std::map< iv::types::order, iv::mimics::support::DynamicTextCondition > m_conditions
Definition DynamicText.hpp:32
bool load(const iv::file::xml::node &nodeControlMimic) override
Definition DynamicText.cpp:24
bool save(iv::file::xml::node &nodeControlMimic) const override
Definition DynamicText.cpp:48
bool isRepeatedMimicElement(const std::set< std::shared_ptr< AbstractMimicElement > > &otherMimicsElements) const override
Determines whether the current mimic element shares significant similarities with others.
Definition DynamicText.cpp:194
std::string prvGetText(iv::eLanguage activeLanguage) const override
Definition DynamicText.cpp:214
std::set< std::string > prvGetTexts() const override
Definition DynamicText.cpp:227
void mapChannels(const std::function< void(std::weak_ptr< iv::channels::AbstractChannel > &)> &mapFunction) override
Processed gets ///.
Definition DynamicText.cpp:85
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 DynamicText.cpp:66
std::shared_ptr< iv::mimics::AbstractMimicElement > clone() const override
Definition DynamicText.cpp:93
void setDefaultMessage(const std::string &defaultMessage)
Definition DynamicText.cpp:104
Definition enums.hpp:95
eLanguage
Definition enums.hpp:37
static constexpr std::string defaultMessage
Definition DynamicText.hpp:58
Definition DynamicText.hpp:53
static constexpr std::string_view defaultMessage
Definition DynamicText.hpp:54
Definition DynamicText.hpp:47
static constexpr std::string_view condition
Definition DynamicText.hpp:50
static constexpr std::string_view dynamicTextIndicator
Definition DynamicText.hpp:48
static constexpr std::string_view conditions
Definition DynamicText.hpp:49
Definition DynamicTextCondition.hpp:22