void ProfileChooser::hide ( ) { releaseModalFocus (); setVisible ( false ); if ( getParent () ) getParent()->moveToBottom (this); }
void Widget::_setFocusHandler(FocusHandler* focusHandler) { if (mFocusHandler) { releaseModalFocus(); mFocusHandler->remove(this); } if (focusHandler) { focusHandler->add(this); } mFocusHandler = focusHandler; }
void PopupList::focusGained(const Event& event) { const Widget *const source = event.getSource(); if (!mVisible || source == this || source == mListBox || source == mScrollArea || source == mDropDown) { return; } if (mDropDown) mDropDown->updateSelection(); setVisible(false); if (mModal) releaseModalFocus(); }
void FocusHandler::remove(Widget *const widget) { releaseModalFocus(widget); if (isFocused(widget)) mFocusedWidget = nullptr; FOR_EACH (WidgetIterator, iter, mWidgets) { if ((*iter) == widget) { mWidgets.erase(iter); break; } } if (mDraggedWidget == widget) { mDraggedWidget = nullptr; return; } if (mLastWidgetWithMouse == widget) { mLastWidgetWithMouse = nullptr; return; } if (mLastWidgetWithModalFocus == widget) { mLastWidgetWithModalFocus = nullptr; return; } if (mLastWidgetWithModalMouseInputFocus == widget) { mLastWidgetWithModalMouseInputFocus = nullptr; return; } if (mLastWidgetPressed == widget) { mLastWidgetPressed = nullptr; return; } }
void PopupList::mouseReleased(MouseEvent& event) { if (mPressedIndex != mListBox->getSelectionByMouse( event.getY() + mPadding)) { mPressedIndex = -2; return; } mPressedIndex = -2; if (event.getSource() == mScrollArea) return; if (mDropDown) mDropDown->updateSelection(); setVisible(false); if (mModal) releaseModalFocus(); }
void GlassWindow::close() { //immediately release modal releaseModalFocus(); markDelete(); }
void FocusHandler::remove(gcn::Widget *widget) { releaseModalFocus(widget); gcn::FocusHandler::remove(widget); }