Do not allow changing checked state if an item is read only

This commit is contained in:
Magne Sjaastad 2015-11-01 13:55:27 +01:00
parent d9523dbd74
commit 572601c3db

View File

@ -689,7 +689,9 @@ bool PdmUiTreeViewModel::setData(const QModelIndex &index, const QVariant &value
return true;
}
else if (role == Qt::CheckStateRole && uiObject->objectToggleField())
else if ( role == Qt::CheckStateRole &&
uiObject->objectToggleField() &&
!uiObject->objectToggleField()->uiCapability()->isUiReadOnly(m_uiConfigName))
{
bool toggleOn = (value == Qt::Checked);
@ -728,16 +730,16 @@ Qt::ItemFlags PdmUiTreeViewModel::flags(const QModelIndex &index) const
if (pdmUiObject)
{
if (pdmUiObject->userDescriptionField() && !pdmUiObject->userDescriptionField()->uiCapability()->isUiReadOnly())
{
flagMask = flagMask | Qt::ItemIsEditable;
}
{
flagMask = flagMask | Qt::ItemIsEditable;
}
if (pdmUiObject->objectToggleField())
{
flagMask = flagMask | Qt::ItemIsUserCheckable;
{
flagMask = flagMask | Qt::ItemIsUserCheckable;
}
}
}
}
if (treeItem->isValid())
{