[DEV] FOCUS error ==> might be ok

This commit is contained in:
Edouard DUPIN 2014-02-11 09:48:48 +01:00
parent f9a5796a0a
commit 4ec5216da1

View File

@ -179,15 +179,19 @@ void ewol::Widget::onObjectRemove(ewol::Object* _removeObject) {
} }
void ewol::Widget::hide(void) { void ewol::Widget::hide(void) {
m_hide = true; if (m_hide == false) {
markToRedraw(); m_hide = true;
requestUpdateSize(); markToRedraw();
requestUpdateSize();
}
} }
void ewol::Widget::show(void) { void ewol::Widget::show(void) {
m_hide = false; if (m_hide == true) {
markToRedraw(); m_hide = false;
requestUpdateSize(); markToRedraw();
requestUpdateSize();
}
} }
void ewol::Widget::calculateSize(const vec2& _available) { void ewol::Widget::calculateSize(const vec2& _available) {
@ -197,27 +201,33 @@ void ewol::Widget::calculateSize(const vec2& _available) {
} }
bool ewol::Widget::setFocus(void) { bool ewol::Widget::setFocus(void) {
if (true == m_canFocus) { if (m_canFocus == true) {
m_hasFocus = true; if (m_hasFocus == false) {
onGetFocus(); m_hasFocus = true;
onGetFocus();
}
return true; return true;
} }
return false; return false;
} }
bool ewol::Widget::rmFocus(void) { bool ewol::Widget::rmFocus(void) {
if (true == m_canFocus) { if (m_canFocus == true) {
m_hasFocus = false; if (m_hasFocus == true) {
onLostFocus(); m_hasFocus = false;
onLostFocus();
}
return true; return true;
} }
return false; return false;
} }
void ewol::Widget::setCanHaveFocus(bool _canFocusState) { void ewol::Widget::setCanHaveFocus(bool _canFocusState) {
m_canFocus = _canFocusState; if (m_canFocus != _canFocusState) {
if (true == m_hasFocus) { m_canFocus = _canFocusState;
(void)rmFocus(); if (m_hasFocus == true) {
(void)rmFocus();
}
} }
} }