Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
PanelMimicsEditorFactory.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_UI_PANELS_PANELMIMICSEDITORFACTORY_HPP_
2#define IV_SRC_UI_PANELS_PANELMIMICSEDITORFACTORY_HPP_
3
11#include "mimics/structs.hpp"
16#include "tanks/Tank.hpp"
19
20#include <functional>
21#include <memory>
22
23namespace iv::panels::mimics
24{
25
27{
28public:
29 static AbstractComponentGUI *panelListSelectTank(std::weak_ptr<iv::tanks::Tank> &selectedTankOut);
30
32 panelListSelectGenerator(std::weak_ptr<iv::model::pms::Generator> &selectedGeneratorOut);
33
34 static AbstractComponentGUI *panelListSelectValve(std::weak_ptr<iv::model::control::Valve> &selectedValveOut);
35
36 static AbstractComponentGUI *panelListSelectDamper(std::weak_ptr<iv::model::control::Damper> &selectedDamperOut);
37
39 iv::types::width &widthOut, iv::types::height &heightOut);
42
44
46 iv::types::width &sizeXOut, iv::types::height &sizeYOut);
47
49 iv::mimics::Channel &channelMimicOut,
50 const std::optional<std::function<bool(std::shared_ptr<iv::channels::AbstractChannel>)>> &filter);
51 static AbstractComponentGUI *panelEditColor(const std::string &text, iv::types::color &colorOut);
54 const std::shared_ptr<std::vector<iv::mimics::support::DynamicTextCondition>> &conditions);
55
58
60 {
62 const std::function<bool(CDialog *)> canBuildElement {[](auto) { return true; }};
63 const std::optional<std::function<void(std::shared_ptr<iv::mimics::AbstractMimicElement>)>>
64 setDefaultProperties {std::nullopt};
65 const std::optional<std::function<std::vector<std::shared_ptr<iv::mimics::AbstractMimicElement>>()>>
66 extraElementsToAdd {std::nullopt};
67 };
69 buttonBuildElementMimic(const std::string &text,
70 const std::shared_ptr<AbstractBuilderMimicElement> &mimicElementBuilder,
71 const ButtonBuildElementMimicParams &buildElementParams);
72
74 const std::string &title, iv::mimics::Channel &channelMimicOut,
75 const std::optional<std::function<bool(std::shared_ptr<iv::channels::AbstractChannel>)>> &filter =
76 std::nullopt);
77 static std::pair<AbstractComponentGUI *, AbstractComponentGUI *> buttonEditOptionalChannelMimic(
78 const std::string &checkButtonText, bool &isCheckedOut, const std::string &title,
79 iv::mimics::Channel &channelMimicOut,
80 const std::optional<std::function<bool(std::shared_ptr<iv::channels::AbstractChannel>)>> &filter =
81 std::nullopt);
82 static AbstractComponentGUI *buttonEditTrip(const std::string &text, iv::mimics::support::TripReset &tripResetOut);
83 static AbstractComponentGUI *buttonEditMaintenance(const std::string &text,
84 iv::mimics::support::Maintenance &maintenanceOut);
85 static AbstractComponentGUI *buttonEditAutomatic(const std::string &text,
86 iv::mimics::support::Automatic &automaticOut);
87 static AbstractComponentGUI *buttonEditAttempt(const std::string &text, iv::mimics::support::Attempt &attemptsOut);
88
89 static AbstractComponentGUI *buttonEditRemoteLocal(const std::string &text, iv::mimics::Channel &remoteLocal);
91 buttonEditOnlineVariables(std::string_view text,
92 const std::shared_ptr<iv::mimics::OnlineVariables> &onlineVariables);
93
95 std::string_view weakChannelInList,
96 const std::shared_ptr<std::vector<std::weak_ptr<iv::channels::AbstractChannel>>> &addedAlarms);
97
99 buttonDynamicTextConditions(const std::string &text,
100 std::map<iv::types::order, iv::mimics::support::DynamicTextCondition> &conditions);
102 const std::string &text,
103 const std::shared_ptr<std::vector<iv::mimics::elements::PmsPriorities::PriorityData>> &priorities);
104
107};
108
109}// namespace iv::panels::mimics
110
111#endif//IV_SRC_UI_PANELS_PANELMIMICSEDITORFACTORY_HPP_
Definition AbstractComponentGUI.hpp:30
Definition CDialog.hpp:21
Definition LogicExpressionMap.hpp:15
Definition Channel.hpp:12
Definition Attempt.hpp:11
Definition Automatic.hpp:12
Definition Maintenance.hpp:11
Definition TripReset.hpp:11
Definition PanelMimicsEditorFactory.hpp:27
static AbstractComponentGUI * panelEditRadius(iv::types::radius minRadius, iv::types::radius radius, iv::types::width &sizeXOut, iv::types::height &sizeYOut)
Definition PanelMimicsEditorFactory.cpp:563
static AbstractComponentGUI * panelEditWidth(iv::types::width minWidth, iv::types::width &widthOut)
Definition PanelMimicsEditorFactory.cpp:526
static AbstractComponentGUI * buttonEditChannelMimic(const std::string &title, iv::mimics::Channel &channelMimicOut, const std::optional< std::function< bool(std::shared_ptr< iv::channels::AbstractChannel >)> > &filter=std::nullopt)
Definition PanelMimicsEditorFactory.cpp:1284
static AbstractComponentGUI * buttonEditMaintenance(const std::string &text, iv::mimics::support::Maintenance &maintenanceOut)
Definition PanelMimicsEditorFactory.cpp:1363
static AbstractComponentGUI * panelColorLogics(iv::logics::LogicExpressionMap< iv::types::color > &colorLogics)
Definition PanelMimicsEditorFactory.cpp:1992
static AbstractComponentGUI * buttonEditOnlineVariables(std::string_view text, const std::shared_ptr< iv::mimics::OnlineVariables > &onlineVariables)
Definition PanelMimicsEditorFactory.cpp:1427
static AbstractComponentGUI * buttonEditAddedAlarms(std::string_view weakChannelInList, const std::shared_ptr< std::vector< std::weak_ptr< iv::channels::AbstractChannel > > > &addedAlarms)
Definition PanelMimicsEditorFactory.cpp:1551
static std::pair< AbstractComponentGUI *, AbstractComponentGUI * > buttonEditOptionalChannelMimic(const std::string &checkButtonText, bool &isCheckedOut, const std::string &title, iv::mimics::Channel &channelMimicOut, const std::optional< std::function< bool(std::shared_ptr< iv::channels::AbstractChannel >)> > &filter=std::nullopt)
Definition PanelMimicsEditorFactory.cpp:1307
static AbstractComponentGUI * buttonEditTrip(const std::string &text, iv::mimics::support::TripReset &tripResetOut)
Definition PanelMimicsEditorFactory.cpp:1321
static AbstractComponentGUI * buttonEditHideCommandsSettings(iv::mimics::HideCommandsSettings &hideCommandsSettingsOut)
Definition PanelMimicsEditorFactory.cpp:1210
static AbstractComponentGUI * buttonBuildElementMimic(const std::string &text, const std::shared_ptr< AbstractBuilderMimicElement > &mimicElementBuilder, const ButtonBuildElementMimicParams &buildElementParams)
Definition PanelMimicsEditorFactory.cpp:1252
static AbstractComponentGUI * panelEditSize(iv::types::width minWidth, iv::types::height minHeight, iv::types::width &widthOut, iv::types::height &heightOut)
Definition PanelMimicsEditorFactory.cpp:512
static AbstractComponentGUI * panelListSelectValve(std::weak_ptr< iv::model::control::Valve > &selectedValveOut)
Definition PanelMimicsEditorFactory.cpp:335
static AbstractComponentGUI * panelListSelectGenerator(std::weak_ptr< iv::model::pms::Generator > &selectedGeneratorOut)
Definition PanelMimicsEditorFactory.cpp:216
static AbstractComponentGUI * panelEditDynamicTextConditions(const std::shared_ptr< std::vector< iv::mimics::support::DynamicTextCondition > > &conditions)
Definition PanelMimicsEditorFactory.cpp:1066
static AbstractComponentGUI * panelEditFontSize(iv::types::height minSize, iv::types::height &sizeOut)
Definition PanelMimicsEditorFactory.cpp:551
static AbstractComponentGUI * panelEditTitle(iv::mimics::TitleSettings &titleSettingsOut)
Definition PanelMimicsEditorFactory.cpp:651
static AbstractComponentGUI * buttonEditPmsPriorities(const std::string &text, const std::shared_ptr< std::vector< iv::mimics::elements::PmsPriorities::PriorityData > > &priorities)
Definition PanelMimicsEditorFactory.cpp:1601
static AbstractComponentGUI * buttonDynamicTextConditions(const std::string &text, std::map< iv::types::order, iv::mimics::support::DynamicTextCondition > &conditions)
Definition PanelMimicsEditorFactory.cpp:1567
static AbstractComponentGUI * buttonEditAutomatic(const std::string &text, iv::mimics::support::Automatic &automaticOut)
Definition PanelMimicsEditorFactory.cpp:1384
static AbstractComponentGUI * buttonEditRemoteLocal(const std::string &text, iv::mimics::Channel &remoteLocal)
Definition PanelMimicsEditorFactory.cpp:1342
static AbstractComponentGUI * panelEditChannelMimic(iv::mimics::Channel &channelMimicOut, const std::optional< std::function< bool(std::shared_ptr< iv::channels::AbstractChannel >)> > &filter)
Definition PanelMimicsEditorFactory.cpp:621
static AbstractComponentGUI * buttonEditAttempt(const std::string &text, iv::mimics::support::Attempt &attemptsOut)
Definition PanelMimicsEditorFactory.cpp:1405
static AbstractComponentGUI * panelListSelectDamper(std::weak_ptr< iv::model::control::Damper > &selectedDamperOut)
Definition PanelMimicsEditorFactory.cpp:461
static AbstractComponentGUI * panelEditColor(const std::string &text, iv::types::color &colorOut)
Definition PanelMimicsEditorFactory.cpp:639
static AbstractComponentGUI * panelListSelectTank(std::weak_ptr< iv::tanks::Tank > &selectedTankOut)
Definition PanelMimicsEditorFactory.cpp:98
static AbstractComponentGUI * panelEditHeight(iv::types::height minHeight, iv::types::height &heightOut)
Definition PanelMimicsEditorFactory.cpp:539
static AbstractComponentGUI * buttonColorLogics(iv::logics::LogicExpressionMap< iv::types::color > &colorLogics)
Definition PanelMimicsEditorFactory.cpp:2111
Definition PanelOnlineVariablesFactory.cpp:15
double height
Definition types.hpp:14
double radius
Definition types.hpp:17
double width
Definition types.hpp:23
uint32_t color
Definition types.hpp:12
Definition structs.hpp:16
Definition structs.hpp:147
Definition structs.hpp:67
const std::optional< std::function< void(std::shared_ptr< iv::mimics::AbstractMimicElement >)> > setDefaultProperties
Definition PanelMimicsEditorFactory.hpp:64
const std::optional< std::function< std::vector< std::shared_ptr< iv::mimics::AbstractMimicElement > >()> > extraElementsToAdd
Definition PanelMimicsEditorFactory.hpp:66
const iv::math::geometry::Point2d point
Definition PanelMimicsEditorFactory.hpp:61
const std::function< bool(CDialog *)> canBuildElement
Definition PanelMimicsEditorFactory.hpp:62