(svn r18675) -Add [FS#3256]: function to remove focus from all widgets in a window

This commit is contained in:
rubidium
2009-12-31 18:11:03 +00:00
parent a70af30250
commit d1d6e8fc20
2 changed files with 13 additions and 0 deletions

View File

@@ -132,6 +132,18 @@ bool EditBoxInGlobalFocus()
return _focused_window->nested_focus != NULL && _focused_window->nested_focus->type == WWT_EDITBOX;
}
/**
* Makes no widget on this window have focus. The function however doesn't change which window has focus.
*/
void Window::UnfocusFocusedWidget()
{
if (this->nested_focus != NULL) {
/* Repaint the widget that lost focus. A focused edit box may else leave the caret on the screen. */
this->nested_focus->SetDirty(this);
this->nested_focus = NULL;
}
}
/**
* Set focus within this window to the given widget. The function however doesn't change which window has focus.
* @param widget_index Index of the widget in the window to set the focus to.