Example #1
0
    Widget::~Widget()
    {
        if (getParent() != NULL)
        {
            getParent()->_announceDeath(this);
        }

        _setFocusHandler(NULL);

        mWidgets.remove(this);
    }
Example #2
0
    Widget::~Widget()
    {
        DeathListenerIterator iter;

        for (iter = mDeathListeners.begin(); iter != mDeathListeners.end(); ++iter)
        {
            Event event(this);
            (*iter)->death(event);
        }

        _setFocusHandler(NULL);

        mWidgets.remove(this);
    }
Example #3
0
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
}