1#ifndef IV_SRC_MODEL_DIAMAR_MIMIC_HPP_
2#define IV_SRC_MODEL_DIAMAR_MIMIC_HPP_
8#include "model/enums.hpp"
20class Mimic :
public std::vector<std::shared_ptr<iv::mimics::AbstractMimicElement>>
24 void update(
const Mimic &other,
bool onlyElements =
false);
26 bool save(
const std::shared_ptr<iv::file::xml::File> &xml)
const;
28 std::shared_ptr<Mimic>
clone()
const;
30 void addElement(std::shared_ptr<iv::mimics::AbstractMimicElement> element);
42 std::shared_ptr<std::vector<std::weak_ptr<iv::channels::AbstractChannel>>>
getChannels()
const;
45 std::optional<std::weak_ptr<iv::mimics::AbstractMimicElement>>
isPointInMimic(
double x,
double y)
const;
54 static constexpr std::string_view
mimic {
"Mimic"};
56 static constexpr std::string_view
mimicName {
"Name"};
64 static constexpr std::string_view
mimicId {
"Id"};
66 static constexpr std::string_view
path {
"Path"};
68 static constexpr std::string_view
description {
"Description"};
70 static constexpr std::string_view
name {
"Name"};
71 static constexpr std::string_view
stationId {
"StationId"};
75 static constexpr std::string
string {};
92 const std::optional<std::unordered_set<iv::types::channelId>> &channelsRepeatedOpt)
const;
102class Mimics :
public std::map<iv::types::mimicId, std::shared_ptr<iv::diamar::Mimic>>
108 const std::optional<std::shared_ptr<std::vector<std::shared_ptr<iv::file::xml::File>>>> &savingFilesOut =
113 bool insertMimic(
const std::shared_ptr<iv::diamar::Mimic> &mimic);
122 [[nodiscard]] std::weak_ptr<iv::diamar::Mimic>
getMimic(
const uint64_t &index)
const;
125 [[nodiscard]] std::map<iv::types::order, std::shared_ptr<iv::diamar::Mimic>>
getMimicsWithOrder()
const;
130 static constexpr std::string_view
mimics {
"Mimics"};
131 static constexpr std::string_view
mimic {
"Mimic"};
135 static constexpr std::string_view
mimicId {
"Id"};
139 static constexpr std::string
string {};
Definition AbstractComponentGUI.hpp:30
Definition CEventMotion.hpp:15
Definition IGraphics.hpp:20
Mimic()
Definition Mimic.cpp:154
std::string m_description
Definition Mimic.hpp:88
iv::types::mimicId m_id
Definition Mimic.hpp:81
AbstractComponentGUI * panelSelectTypeScreenResolution()
Definition Mimic.cpp:438
std::shared_ptr< CGeoCanvas > prvCreateGeoScreen() const
Definition Mimic.cpp:498
std::set< iv::types::stationId > m_hiddenInStations
Definition Mimic.hpp:83
void addBackGroundDxf(std::string_view nameFileBackGround)
Definition Mimic.cpp:384
void updateControlsBackground()
Definition Mimic.cpp:412
iv::model::diamar::eMimicAspectRatio m_mimicAspectRatio
Definition Mimic.hpp:86
std::shared_ptr< std::vector< std::weak_ptr< iv::channels::AbstractChannel > > > getChannels() const
Definition Mimic.cpp:531
void drawControls(iv::mimics::eZDepth depth, IGraphics *pGraphics, iv::eLanguage drawingLanguage, const std::optional< std::unordered_set< iv::types::channelId > > &channelsRepeatedOpt) const
Definition Mimic.cpp:508
void addElement(std::shared_ptr< iv::mimics::AbstractMimicElement > element)
Definition Mimic.cpp:303
std::optional< std::weak_ptr< iv::mimics::AbstractMimicElement > > isPointInMimic(double x, double y) const
Definition Mimic.cpp:424
void removeBackgroundDxf()
Definition Mimic.cpp:398
iv::model::LocalizedText m_names
Definition Mimic.hpp:85
void update(const Mimic &other, bool onlyElements=false)
Definition Mimic.cpp:162
bool load(const iv::file::xml::File &xml)
Definition Mimic.cpp:186
std::shared_ptr< Mimic > clone() const
Definition Mimic.cpp:283
std::unordered_set< iv::types::channelId > getRepeatedChannels() const
Definition Mimic.cpp:543
std::shared_ptr< CGeoCanvas > m_geoScreen
Definition Mimic.hpp:97
void removeGraphicsObjects(IGraphics *graphics) const
Definition Mimic.cpp:360
void drawMimic(IGraphics *graphics, iv::eLanguage drawingLanguage) const
Definition Mimic.cpp:324
std::vector< std::shared_ptr< CDxf > > m_backgroundDxf
Definition Mimic.hpp:98
std::vector< iv::ui::resources::ImageResource > m_backgroundResources
Definition Mimic.hpp:99
std::string m_pathBackground
Definition Mimic.hpp:87
void prvCreateBackground(std::string_view pathFileBackground)
Definition Mimic.cpp:470
std::string toPdf()
Definition Mimic.cpp:571
void updateEnabledLanguages(const std::set< iv::eLanguage > &enabledLanguages)
Definition Mimic.cpp:308
void prvRemoveElements(iv::mimics::eZDepth depth)
Definition Mimic.cpp:452
void handleEvent(CEventMotion *evtMotion) const
Definition Mimic.cpp:368
bool save(const std::shared_ptr< iv::file::xml::File > &xml) const
Definition Mimic.cpp:253
std::map< iv::types::order, std::shared_ptr< iv::diamar::Mimic > > getMimicsWithOrder() const
Definition Mimic.cpp:796
std::weak_ptr< iv::diamar::Mimic > getMimicByOrder(iv::types::mimicOrder order) const
Definition Mimic.cpp:782
bool createMimic(const iv::types::mimicId &mimicId, const std::map< iv::eLanguage, std::string > &mimicNames)
Definition Mimic.cpp:694
std::shared_ptr< iv::diamar::Mimic > extractMimic(const iv::types::mimicId &mimicId)
Definition Mimic.cpp:736
bool load(const iv::file::xml::node &nodeDataProject, std::string_view mimicsFolderPath)
Definition Mimic.cpp:621
bool deleteMimic(const iv::types::mimicId &mimicId)
Definition Mimic.cpp:722
bool save(iv::file::xml::node &nodeDataProject, std::string_view mimicsFolderPath, const std::optional< std::shared_ptr< std::vector< std::shared_ptr< iv::file::xml::File > > > > &savingFilesOut=std::nullopt) const
Definition Mimic.cpp:648
std::weak_ptr< iv::diamar::Mimic > getMimic(const iv::types::mimicId &mimicId) const
Definition Mimic.cpp:762
void update(const iv::diamar::Mimics &other)
Definition Mimic.cpp:816
bool changeId(const iv::types::mimicId &mimicId, const iv::types::mimicId &newMimicId)
Definition Mimic.cpp:750
bool insertMimic(const std::shared_ptr< iv::diamar::Mimic > &mimic)
Definition Mimic.cpp:708
Definition xmlFile.hpp:128
Definition xmlFile.hpp:15
Definition DataLoggerManager.cpp:10
std::shared_ptr< iv::mimics::AbstractMimicElement > createMimicElement(const iv::mimics::eMimicElementType mimicElementType)
Definition Mimic.cpp:83
eMimicElementType
Definition enums.hpp:8
eZDepth
Definition enums.hpp:50
eMimicAspectRatio
Definition enums.hpp:33
std::string mimicId
Definition types.hpp:72
uint16_t mimicOrder
Definition types.hpp:73
eLanguage
Definition enums.hpp:37
static constexpr iv::eLanguage language
Definition Mimic.hpp:77
static constexpr std::string mimicAspectRatio
Definition Mimic.hpp:76
static constexpr std::string_view mimicId
Definition Mimic.hpp:64
static constexpr std::string_view mimicAspectRatio
Definition Mimic.hpp:65
static constexpr std::string_view nameLanguage
Definition Mimic.hpp:69
static constexpr std::string_view path
Definition Mimic.hpp:66
static constexpr std::string_view pathBackground
Definition Mimic.hpp:67
static constexpr std::string_view name
Definition Mimic.hpp:70
static constexpr std::string_view description
Definition Mimic.hpp:68
static constexpr std::string_view stationId
Definition Mimic.hpp:71
static constexpr std::string_view hiddenInStations
Definition Mimic.hpp:59
static constexpr std::string_view mimic
Definition Mimic.hpp:54
static constexpr std::string_view hiddenInStation
Definition Mimic.hpp:60
static constexpr std::string_view mimicElements
Definition Mimic.hpp:57
static constexpr std::string_view mimicElement
Definition Mimic.hpp:58
static constexpr std::string_view mimicNames
Definition Mimic.hpp:55
static constexpr std::string_view mimicName
Definition Mimic.hpp:56
static constexpr std::string_view mimicId
Definition Mimic.hpp:135
static constexpr std::string_view mimic
Definition Mimic.hpp:131
static constexpr std::string_view mimics
Definition Mimic.hpp:130
Definition structs.hpp:29