Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CPanelMimicsEditor.hpp
Go to the documentation of this file.
1#ifndef LIBS_PANELS_CPANELMIMICSEDITOR_HPP_
2#define LIBS_PANELS_CPANELMIMICSEDITOR_HPP_
3
4#include "diamar/Mimic.hpp"
7#include "ui/gui/CButton.hpp"
9#include "ui/gui/CPaned.hpp"
11
12#include <bits/stdint-uintn.h>
13#include <map>
14#include <memory>
15#include <set>
16#include <string>
17
19
31
49
51{
52public:
53 inline static const uint32_t kMinimumWidthToolBox = 200;
54 static iv::eLanguage
55 m_displayingLanguage;//Está aquí para poder cambiar al idioma activo desde la impresión de mimicos de diamar :(
56
58
75
76 explicit CPanelMimicsEditor();
77 CPanelMimicsEditor(const CPanelMimicsEditor &other) = delete;
79 ~CPanelMimicsEditor() override;
80
83
84 void addMimicElement(const std::shared_ptr<iv::mimics::AbstractMimicElement> &copyControl);
85 void removeMimicElement(uint64_t indMimicElement);
86 bool renameMimic(const iv::types::mimicId &mimicId, const std::map<iv::eLanguage, std::string> &mimicNames);
87
88 void drawMimic(IGraphics *graphics);
89
91 void addNewControl(CDialog *dialogFather,
92 const std::shared_ptr<iv::mimics::AbstractMimicElement> &newControl) const;
93 void addNewControl(const std::shared_ptr<iv::mimics::AbstractMimicElement> &newControl) const;
94 void removeGraphicsObjects(IGraphics *graphics);
95 AbstractComponentGUI *buildPanel(CDialog *dialogFather) override;
96 void update() override;
97 void updateControlsBackground(double xMinOld, double yMinOld, double xMaxOld, double yMaxOld) const;
98
99 void addBackGroundDxf(const std::string &nameFileBackGround) const;
100 void removeBackgroundDxf() const;
101
103 std::weak_ptr<CPanelMimicsDrawingArea> getDrawingArea();
104 std::shared_ptr<std::vector<std::shared_ptr<AbstractObjCapture>>> generateObjsCatchables();
105 [[nodiscard]] uint64_t getSelectedCm() const;
106 [[nodiscard]] std::weak_ptr<iv::diamar::Mimic> getSelectedMimic() const;
107 [[nodiscard]] std::optional<iv::types::mimicId> getSelectedMimicId() const;
108 void getSizeScreenMimic(double *xMin, double *yMin, double *xMax, double *yMax);
109 void setSelectedCm(uint64_t &control);
110 void setSelectedMimicId(const std::optional<iv::types::mimicId> &mimicId);
111 void setSelectedLanguage(iv::eLanguage languagePos);
112 void setDeletedBoolPointer(bool *setDeleted);
113 size_t getNumOfMimics();
114
115 bool existsDrawingArea();
116
117 std::shared_ptr<iv::mimics::MimicsSnapshots> getMimicsSnapshots() const
118 {
119 return m_mimicsSnapshots;
120 }
121
122private:
123 void prvCreateOptions();
125 AbstractComponentGUI *prvBuildDrawingArea(const std::optional<iv::types::mimicId> &mimicId);
130 void prvMimicComboBox();
131
133 std::shared_ptr<CPanelMimicsDrawingArea> m_panelDrawingAreaRef;
134
136
137 uint64_t m_selectedCm;
138 std::optional<iv::types::mimicId> m_selectedMimicId;
139 std::weak_ptr<iv::diamar::Mimic> m_currentMimic;
140
141 std::shared_ptr<std::vector<std::shared_ptr<CDataButtonOptionCad>>> m_options;
142
143 std::shared_ptr<iv::mimics::MimicsSnapshots> m_mimicsSnapshots;
144
145 CPaned *m_panedRef;// horizontal paned windows containing the toolbox and the drawing area
146};
147
148#endif /* LIBS_PANELS_CPANELMIMICSEDITOR_HPP_ */
eMimicEditorOptionType
Definition CPanelMimicsEditor.hpp:21
Definition AbstractComponentGUI.hpp:30
Definition AbstractViewPanelEditor.hpp:12
Definition CButton.hpp:18
Definition CCanvas.hpp:15
Definition CComboBox.hpp:111
Definition CComboBox.hpp:48
Definition CPanelMimicsEditor.hpp:33
std::string nameIcon()
Definition CPanelMimicsEditor.cpp:43
eMimicEditorOptionType m_optionType
Definition CPanelMimicsEditor.hpp:47
std::string m_textTooltip
Definition CPanelMimicsEditor.hpp:46
std::string textTooltip()
Definition CPanelMimicsEditor.cpp:48
iv::ui::resources::ImageResource getResource()
Definition CPanelMimicsEditor.cpp:58
~CDataButtonOptionCad()=default
eMimicEditorOptionType optionType()
Definition CPanelMimicsEditor.cpp:53
iv::ui::resources::ImageResource m_imageResource
Definition CPanelMimicsEditor.hpp:45
CDataButtonOptionCad(const iv::ui::resources::ImageResource &resource, const std::string &textTooltip, eMimicEditorOptionType optionType)
Definition CPanelMimicsEditor.cpp:35
Definition CDialog.hpp:21
Definition CPaned.hpp:11
Definition CPanelMimicsDrawingArea.hpp:32
Definition CPanelMimicsEditor.hpp:51
void setDeletedBoolPointer(bool *setDeleted)
Definition CPanelMimicsEditor.cpp:719
std::weak_ptr< CPanelMimicsDrawingArea > getDrawingArea()
Definition CPanelMimicsEditor.cpp:601
~CPanelMimicsEditor() override
Definition CPanelMimicsEditor.cpp:436
static iv::eLanguage m_displayingLanguage
Definition CPanelMimicsEditor.hpp:55
void prvCreateOptions()
Definition CPanelMimicsEditor.cpp:1134
void getSizeScreenMimic(double *xMin, double *yMin, double *xMax, double *yMax)
Definition CPanelMimicsEditor.cpp:646
AbstractComponentGUI * prvBuildFunctionalLayout()
Definition CPanelMimicsEditor.cpp:1211
void prvMimicComboBox()
Definition CPanelMimicsEditor.cpp:1365
void updateControlsBackground(double xMinOld, double yMinOld, double xMaxOld, double yMaxOld) const
Definition CPanelMimicsEditor.cpp:572
CPanelMimicsEditor()
Definition CPanelMimicsEditor.cpp:419
void setSelectedCm(uint64_t &control)
Definition CPanelMimicsEditor.cpp:729
void setSelectedLanguage(iv::eLanguage languagePos)
Definition CPanelMimicsEditor.cpp:700
static iv::eLanguage getDisplayLanguage()
Definition CPanelMimicsEditor.cpp:414
AbstractComponentGUI * prvBuildDrawingArea(const std::optional< iv::types::mimicId > &mimicId)
Definition CPanelMimicsEditor.cpp:747
static const uint32_t kMinimumWidthToolBox
Definition CPanelMimicsEditor.hpp:53
void update() override
Definition CPanelMimicsEditor.cpp:565
uint64_t getSelectedCm() const
Definition CPanelMimicsEditor.cpp:625
std::optional< iv::types::mimicId > getSelectedMimicId() const
Definition CPanelMimicsEditor.cpp:641
std::shared_ptr< iv::mimics::MimicsSnapshots > getMimicsSnapshots() const
Definition CPanelMimicsEditor.hpp:117
bool existsDrawingArea()
Definition CPanelMimicsEditor.cpp:724
std::shared_ptr< iv::mimics::MimicsSnapshots > m_mimicsSnapshots
Definition CPanelMimicsEditor.hpp:143
std::optional< iv::types::mimicId > m_selectedMimicId
Definition CPanelMimicsEditor.hpp:138
AbstractComponentGUI * prvCreateToolBar()
Definition CPanelMimicsEditor.cpp:1344
CPanelMimicsEditor & operator=(CPanelMimicsEditor &&other)=delete
CPanelMimicsEditor & operator=(const CPanelMimicsEditor &other)=delete
std::shared_ptr< CPanelMimicsDrawingArea > m_panelDrawingAreaRef
Definition CPanelMimicsEditor.hpp:133
std::weak_ptr< iv::diamar::Mimic > m_currentMimic
Definition CPanelMimicsEditor.hpp:139
void removeMimicElement(uint64_t indMimicElement)
Definition CPanelMimicsEditor.cpp:452
size_t getNumOfMimics()
Definition CPanelMimicsEditor.cpp:1405
CCanvas * getCanvas()
Definition CPanelMimicsEditor.cpp:596
AbstractComponentGUI * buildPanel(CDialog *dialogFather) override
Definition CPanelMimicsEditor.cpp:498
void removeBackgroundDxf() const
Definition CPanelMimicsEditor.cpp:588
bool renameMimic(const iv::types::mimicId &mimicId, const std::map< iv::eLanguage, std::string > &mimicNames)
Definition CPanelMimicsEditor.cpp:461
std::weak_ptr< iv::diamar::Mimic > getSelectedMimic() const
Definition CPanelMimicsEditor.cpp:630
CPanelMimicsEditor(CPanelMimicsEditor &&other)=delete
SControlsFunctionalBar m_functionalBar
Definition CPanelMimicsEditor.hpp:132
uint64_t m_selectedCm
Definition CPanelMimicsEditor.hpp:137
bool * m_setDeleted
Definition CPanelMimicsEditor.hpp:135
void drawMimic(IGraphics *graphics)
Definition CPanelMimicsEditor.cpp:490
AbstractComponentGUI * panelSelectTypeScreenResolution()
Definition CPanelMimicsEditor.cpp:522
AbstractComponentGUI * prvBuildPanedLayout()
Definition CPanelMimicsEditor.cpp:1296
std::shared_ptr< std::vector< std::shared_ptr< CDataButtonOptionCad > > > m_options
Definition CPanelMimicsEditor.hpp:141
void prvBuildLanguagesComboBox()
Definition CPanelMimicsEditor.cpp:1179
void removeGraphicsObjects(IGraphics *graphics)
Definition CPanelMimicsEditor.cpp:557
void addBackGroundDxf(const std::string &nameFileBackGround) const
Definition CPanelMimicsEditor.cpp:580
void setSelectedMimicId(const std::optional< iv::types::mimicId > &mimicId)
Definition CPanelMimicsEditor.cpp:676
AbstractComponentGUI * prvBuildToolBox()
Definition CPanelMimicsEditor.cpp:1318
void addNewControl(CDialog *dialogFather, const std::shared_ptr< iv::mimics::AbstractMimicElement > &newControl) const
Definition CPanelMimicsEditor.cpp:532
void addMimicElement(const std::shared_ptr< iv::mimics::AbstractMimicElement > &copyControl)
Definition CPanelMimicsEditor.cpp:444
CPanelMimicsEditor(const CPanelMimicsEditor &other)=delete
CPaned * m_panedRef
Definition CPanelMimicsEditor.hpp:145
std::shared_ptr< std::vector< std::shared_ptr< AbstractObjCapture > > > generateObjsCatchables()
Definition CPanelMimicsEditor.cpp:606
Definition IGraphics.hpp:20
Definition ImageResource.hpp:15
std::string mimicId
Definition types.hpp:72
eLanguage
Definition enums.hpp:37
Definition CPanelMimicsEditor.hpp:60
CComboBox * m_comboBoxSelectMimicIdRef
Definition CPanelMimicsEditor.hpp:71
CButton * m_buttonExportMimic
Definition CPanelMimicsEditor.hpp:64
CButton * m_buttonAddMimic
Definition CPanelMimicsEditor.hpp:67
CButton * m_buttonRenameMimic
Definition CPanelMimicsEditor.hpp:70
CButton * m_buttonShowEditorHelp
Definition CPanelMimicsEditor.hpp:73
CComboBoxEnum< iv::eLanguage > * m_comboBoxSelectMimicLanguageRef
Definition CPanelMimicsEditor.hpp:72
CButton * m_buttonDeleteMimic
Definition CPanelMimicsEditor.hpp:69
CButton * m_buttonImportMimic
Definition CPanelMimicsEditor.hpp:65
iv::eLanguage m_controlLanguageSelected
Definition CPanelMimicsEditor.hpp:62
uint32_t m_controlIdSelected
Definition CPanelMimicsEditor.hpp:61
CButton * m_buttonCloneMimic
Definition CPanelMimicsEditor.hpp:68