Exemplo n.º 1
0
int CSMWorld::IdTable::findColumnIndex (Columns::ColumnId id) const
{
    int index = searchColumnIndex (id);

    if (index==-1)
        throw std::logic_error ("invalid column index");

    return index;
}
Exemplo n.º 2
0
bool CSMWorld::IdTable::setData (const QModelIndex &index, const QVariant &value, int role)
{
    if (mIdCollection->getColumn (index.column()).isEditable() && role==Qt::EditRole)
    {
        mIdCollection->setData (index.row(), index.column(), value);
        emit dataChanged(index, index);

        // Modifying a value can also change the Modified status of a record.
        int stateColumn = searchColumnIndex(Columns::ColumnId_Modification);
        if (stateColumn != -1)
        {
            QModelIndex stateIndex = this->index(index.row(), stateColumn);
            emit dataChanged(stateIndex, stateIndex);
        }

        return true;
    }

    return false;
}