Exemplo n.º 1
0
bool QPropertyModel::setData( const QModelIndex& pIndex, const QVariant& pValue, int role )
{    
    if( !pIndex.isValid() )
        return false;

    if( role != Qt::DisplayRole )
        return false;

    dataChanged(pIndex, pIndex);

    Property* prop = QPropertyModel::GetProperty(pIndex);

    if( IsComponent(pIndex) )
    {
        dataChanged(pIndex.parent(), pIndex);
    }
    else if( prop->GetComponentCount() )
    {
        dataChanged(createIndex(0, pIndex.column(), pIndex.row()), 
                    createIndex(prop->GetComponentCount()-1, pIndex.column(), pIndex.row()));
    }
    
    return false;
}
Exemplo n.º 2
0
int QPropertyModel::rowCount(const QModelIndex& parentIndex) const
{
    if( !parentIndex.isValid() )
    {
        return mEdited ? mEdited->GetClass()->GetPropertyCount() : 0;
    }
    else
    {
        if( parentIndex.internalPointer() >= (void*)2048 )
        {
            Property* prop = static_cast<Property*>(parentIndex.internalPointer());
            return prop->GetComponentCount();
        }
        else
        {
            return 0;   
        }
    }
}