Example #1
0
void StaticTableModel::set(const int row, const int column,
                           Widget *const widget)
{
    if (!widget || row >= mRows || row < 0
        || column >= mColumns || column < 0)
    {
        // raise exn?
        return;
    }

    if (DYN_SIZE(mHeight)
        && widget->getHeight() > mHeight)
    {
        mHeight = widget->getHeight();
    }

    if (DYN_SIZE(mWidths[column])
        && widget->getWidth() > mWidths[column])
    {
        mWidths[column] = widget->getWidth();
    }

    signalBeforeUpdate();

    delete mTableModel[WIDGET_AT(row, column)];

    mTableModel[WIDGET_AT(row, column)] = widget;

    signalAfterUpdate();
}
Example #2
0
    virtual void playerRelationsUpdated()
    {
        signalBeforeUpdate();

        freeWidgets();
        StringVect *player_names = player_relations.getPlayers();

        if (!player_names)
            return;

        delete mPlayers;
        mPlayers = player_names;

        // set up widgets
        for (unsigned int r = 0; r < player_names->size(); ++r)
        {
            std::string name = (*player_names)[r];
            gcn::Widget *widget = new Label(name);
            mWidgets.push_back(widget);

            gcn::DropDown *choicebox = new DropDown(mListModel);
            choicebox->setSelected(player_relations.getRelation(name));
            mWidgets.push_back(choicebox);
        }

        signalAfterUpdate();
    }
Example #3
0
void StaticTableModel::set(int row, int column, gcn::Widget *widget)
{
    if (row >= mRows || row < 0
        || column >= mColumns || column < 0)
        // raise exn?
        return;

    if (DYN_SIZE(mHeight)
        && widget->getHeight() > mHeight)
        mHeight = widget->getHeight();

    if (DYN_SIZE(mWidths[column])
        && widget->getWidth() > mWidths[column])
        mWidths[column] = widget->getWidth();

    signalBeforeUpdate();

    if (mTableModel[WIDGET_AT(row, column)])
        delete mTableModel[WIDGET_AT(row, column)];

    mTableModel[WIDGET_AT(row, column)] = widget;

    signalAfterUpdate();
}