Widget::~Widget() { if (getParent() != NULL) { getParent()->_announceDeath(this); } _setFocusHandler(NULL); mWidgets.remove(this); }
Widget::~Widget() { DeathListenerIterator iter; for (iter = mDeathListeners.begin(); iter != mDeathListeners.end(); ++iter) { Event event(this); (*iter)->death(event); } _setFocusHandler(NULL); mWidgets.remove(this); }
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 }