void BasicContainer::add(Widget* widget) { mWidgets.push_back(widget); if (mInternalFocusHandler == NULL) { widget->_setFocusHandler(_getFocusHandler()); } else { widget->_setFocusHandler(mInternalFocusHandler); } widget->_setParent(this); widget->addDeathListener(this); }
void BasicContainer::setInternalFocusHandler(FocusHandler* focusHandler) { Widget::setInternalFocusHandler(focusHandler); WidgetListIterator iter; for (iter = mWidgets.begin(); iter != mWidgets.end(); iter++) { if (mInternalFocusHandler == NULL) { (*iter)->_setFocusHandler(_getFocusHandler()); } else { (*iter)->_setFocusHandler(mInternalFocusHandler); } } }
void GuiTable::installActionListeners() { if (!mModel) return; int rows = mModel->getRows(); int columns = mModel->getColumns(); for (int row = 0; row < rows; ++row) for (int column = 0; column < columns; ++column) { gcn::Widget *widget = mModel->getElementAt(row, column); mActionListeners.push_back(new GuiTableActionListener(this, widget, row, column)); } _setFocusHandler(_getFocusHandler()); // propagate focus handler to widgets }
void ScrollArea::setContent(Widget* widget) { if (mContent != NULL) { mContent->_setFocusHandler(NULL); mContent->_setParent(NULL); } mContent = widget; if (mContent != NULL) { mContent->_setFocusHandler(_getFocusHandler()); mContent->_setParent(this); } checkPolicies(); }
void Window::clear() { gui->storeFocus(); gcn::BasicContainer::clear(); // Restore the resize grip if (mGrip) add(mGrip); if (mClose) { mClose->_setParent(this); mClose->_setFocusHandler(_getFocusHandler()); } if (mLayout) destroy(mLayout); }
void Window::setCloseButton(bool flag) { if ((bool) mClose == flag) return; if (flag) { mClose = new ImageButton(mSkin->getCloseImage(), "close", this); mClose->setX(getWidth() - getPadding() - mClose->getWidth()); mClose->setY(getPadding()); // This is basically the same as a BasicContainer::add(), which wasn't // used so that we can ignore the child container dimensions. mClose->_setParent(this); mClose->_setFocusHandler(_getFocusHandler()); } else { mClose->_setFocusHandler(NULL); mClose->_setParent(NULL); destroy(mClose); } }
void Container::add(Widget* widget) { mWidgets.push_back(widget); widget->_setFocusHandler(_getFocusHandler()); widget->_setParent(this); }