Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CEdit.hpp
Go to the documentation of this file.
1#ifndef LIBS_GUI_CEDIT_HPP_
2#define LIBS_GUI_CEDIT_HPP_
3
6#include "IListenerAccept.hpp"
10
11#include <string>
12#include <vector>
13
14struct SPrvEdit;
15
16struct SEdit
17{
18 std::string *m_entryEditRef {nullptr};
19 std::string m_entryCurrent {};
20
22
23 bool m_isPassword {false};
24 bool m_isSizeDefined {false};
25 uint16_t m_numCharSize;
26
27 bool m_hasNumMaxChar {false};
28 uint16_t m_numMaxChar {0};
29
31
34 std::vector<std::string> m_wordsAutocompletion {};
35
36 IWidget *m_widget {nullptr};
37};
38
40{
41public:
42 inline static const int32_t kDefaultSizeString = 5;
43 inline static const int32_t kDefaultNumMaxCharString = 200;
44
45 explicit CEdit(std::string valueDefault);
46 explicit CEdit(std::string *txtEntryRef, bool canBeEmpty = true, const std::string &emptyErrorMsg = "",
47 bool canBeEmptyTrimmed = true);
48 explicit CEdit(std::string *txtEntryRef, CEnumComponentsGUI::EDataType type);
49 ~CEdit() override;
50 void destroyWidget() override;
51
54
55 void emplaceListenerSheetFocus(const std::function<void()> &sheetFocusLambda);
57
58 [[nodiscard]] CEnumComponentsGUI::EDataType getTypeEdit() const;
59
60 [[nodiscard]] std::string getEntryText() const;
61 [[nodiscard]] std::string getTextEntryInitial() const;
62 [[nodiscard]] unsigned short getNumMaxChar() const;
63
64 void setDefineSize(unsigned short numCharSize);
65 void setDefineNumMaxChar(unsigned short numMaxChar);
66 void setPassword();
68 void setShouldDisplayPopOverIfError(bool displayPopOverIfError);
69
70 void setText(const std::string &text);
71
72 void setWordsAutocompletion(std::vector<std::string> wordsAutocompletion);
73 void setAcceptOnlyWordAutocompletion(std::string msgErrorWordAutocompletion);
74
75 bool shouldDisplayPopOverIfError() const;
76
77 virtual bool filterChar(char car, std::string *filterReasonOpt);
78 virtual bool filterCharAtEnd(char car, std::string *filterReasonOpt);
79
80 virtual bool filterSpecialChar(char car)
81 {
82 return filterSpecialChars(car);
83 }
84
85private:
86 IWidget *createWidget(CDialog *dialogFatherRef) override;
88 std::vector<IListenerActivate *> m_listeners;
89 std::vector<std::shared_ptr<iv::ui::gui::IListenerSheetFocus>> m_listenerSheetFocus;
90
91 static bool filterSpecialChars(char car);
92};
93
94#endif /* LIBS_GUI_CEDIT_HPP_ */
Definition AbstractComponentGUI.hpp:30
Definition CDialog.hpp:21
Definition CEdit.hpp:40
virtual bool filterChar(char car, std::string *filterReasonOpt)
Definition CEdit.cpp:317
static const int32_t kDefaultNumMaxCharString
Definition CEdit.hpp:43
virtual bool filterSpecialChar(char car)
Definition CEdit.hpp:80
void setAcceptOnlyWordAutocompletion(std::string msgErrorWordAutocompletion)
Definition CEdit.cpp:305
void setWordsAutocompletion(std::vector< std::string > wordsAutocompletion)
Definition CEdit.cpp:298
std::string getTextEntryInitial() const
Definition CEdit.cpp:242
void destroyWidget() override
Definition CEdit.cpp:144
virtual bool filterCharAtEnd(char car, std::string *filterReasonOpt)
Definition CEdit.cpp:331
SEdit * m_dataPrivateEdit
Definition CEdit.hpp:87
IWidget * createWidget(CDialog *dialogFatherRef) override
Definition CEdit.cpp:356
std::vector< std::shared_ptr< iv::ui::gui::IListenerSheetFocus > > m_listenerSheetFocus
Definition CEdit.hpp:89
bool shouldDisplayPopOverIfError() const
Definition CEdit.cpp:312
std::string getEntryText() const
Definition CEdit.cpp:231
void setPassword()
Definition CEdit.cpp:270
static const int32_t kDefaultSizeString
Definition CEdit.hpp:42
void setShouldDisplayPopOverIfError(bool displayPopOverIfError)
Definition CEdit.cpp:282
unsigned short getNumMaxChar() const
Definition CEdit.cpp:248
void setText(const std::string &text)
Definition CEdit.cpp:288
~CEdit() override
Definition CEdit.cpp:130
void setDefineSize(unsigned short numCharSize)
Definition CEdit.cpp:254
void setTypeEdit(CEnumComponentsGUI::EDataType typeEdit)
Definition CEdit.cpp:276
void emplaceListenerSheetFocus(const std::function< void()> &sheetFocusLambda)
Definition CEdit.cpp:212
CEnumComponentsGUI::EDataType getTypeEdit() const
Definition CEdit.cpp:225
static bool filterSpecialChars(char car)
Definition CEdit.cpp:336
void addListenerActivate(IListenerActivate **listener)
Definition CEdit.cpp:172
void setDefineNumMaxChar(unsigned short numMaxChar)
Definition CEdit.cpp:262
void runListenersActivate()
Definition CEdit.cpp:182
CEdit(std::string valueDefault)
Definition CEdit.cpp:85
void runListenersSheetFocus()
Definition CEdit.cpp:217
std::vector< IListenerActivate * > m_listeners
Definition CEdit.hpp:88
EDataType
Definition CEnumComponentsGUI.hpp:99
Definition IListenerActivate.hpp:5
Definition IWidget.hpp:5
Definition CEdit.hpp:17
bool m_hasNumMaxChar
Definition CEdit.hpp:27
bool m_isPassword
Definition CEdit.hpp:23
std::string m_msgErrorWordAutocompletion
Definition CEdit.hpp:33
bool m_acceptOnlyWordAutocompletion
Definition CEdit.hpp:32
CEnumComponentsGUI::EDataType m_typeEdit
Definition CEdit.hpp:21
bool m_displayPopOverIfError
Definition CEdit.hpp:30
IWidget * m_widget
Definition CEdit.hpp:36
std::vector< std::string > m_wordsAutocompletion
Definition CEdit.hpp:34
uint16_t m_numMaxChar
Definition CEdit.hpp:28
uint16_t m_numCharSize
Definition CEdit.hpp:25
std::string * m_entryEditRef
Definition CEdit.hpp:18
std::string m_entryCurrent
Definition CEdit.hpp:19
bool m_isSizeDefined
Definition CEdit.hpp:24