[DEV] add suport oh hidding pasword in entry
This commit is contained in:
parent
225633ffeb
commit
254f2d0137
@ -20,6 +20,10 @@ ewol::widget::Entry::Entry() :
|
||||
signalClick(this, "click", "the user Click on the Entry box"),
|
||||
signalEnter(this, "enter", "The cursor enter inside the button"),
|
||||
signalModify(this, "modify", "Entry box value change"),
|
||||
propertyPassword(this, "password",
|
||||
false,
|
||||
"Not display content in password mode",
|
||||
&ewol::widget::Entry::onChangePropertyPassword),
|
||||
propertyShape(this, "shape",
|
||||
"{ewol}THEME:GUI:Entry.json",
|
||||
"Shaper to display the background",
|
||||
@ -157,8 +161,15 @@ void ewol::widget::Entry::onRegenerateDisplay() {
|
||||
} else {
|
||||
m_text.setCursorPos(m_displayCursorPos);
|
||||
}
|
||||
if (propertyValue->size() != 0) {
|
||||
m_text.print(propertyValue);
|
||||
std::string valueToDisplay = *propertyValue;
|
||||
if (*propertyPassword == true) {
|
||||
for (auto &it: valueToDisplay) {
|
||||
it = '*';
|
||||
}
|
||||
}
|
||||
|
||||
if (valueToDisplay.size() != 0) {
|
||||
m_text.print(valueToDisplay);
|
||||
} else {
|
||||
if (propertyTextWhenNothing->size() != 0) {
|
||||
m_text.printDecorated(propertyTextWhenNothing);
|
||||
@ -552,6 +563,10 @@ void ewol::widget::Entry::periodicCall(const ewol::event::Time& _event) {
|
||||
markToRedraw();
|
||||
}
|
||||
|
||||
void ewol::widget::Entry::onChangePropertyPassword() {
|
||||
markToRedraw();
|
||||
}
|
||||
|
||||
void ewol::widget::Entry::onChangePropertyShaper() {
|
||||
m_shaper.setSource(propertyShape.get());
|
||||
m_colorIdTextFg = m_shaper.requestColor("text-foreground");
|
||||
|
@ -37,6 +37,7 @@ namespace ewol {
|
||||
esignal::Signal<std::string> signalEnter; //!< Enter key is pressed
|
||||
esignal::Signal<std::string> signalModify; //!< data change
|
||||
public: // propertie list
|
||||
eproperty::Value<bool> propertyPassword; //!< Disable display of the content of the entry
|
||||
eproperty::Value<std::string> propertyShape;
|
||||
eproperty::Value<std::string> propertyValue; //!< string that must be displayed
|
||||
eproperty::Range<int32_t> propertyMaxCharacter; //!< number max of xharacter in the list
|
||||
@ -129,6 +130,7 @@ namespace ewol {
|
||||
void onCallbackPaste();
|
||||
void onCallbackSelect(bool _all);
|
||||
protected:
|
||||
virtual void onChangePropertyPassword();
|
||||
virtual void onChangePropertyShaper();
|
||||
virtual void onChangePropertyValue();
|
||||
virtual void onChangePropertyMaxCharacter();
|
||||
|
Loading…
x
Reference in New Issue
Block a user