//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- Qt::ItemFlags PdmUiTableViewModel::flags(const QModelIndex &index) const { if (!index.isValid()) return Qt::ItemIsEnabled; Qt::ItemFlags flagMask = QAbstractItemModel::flags(index); if (isRepresentingBoolean(index)) { flagMask = flagMask | Qt::ItemIsUserCheckable; } else { flagMask = flagMask | Qt::ItemIsEditable; } PdmFieldHandle* field = getField(index); PdmUiFieldHandle* uiFieldHandle = field->uiCapability(); if (uiFieldHandle) { if (uiFieldHandle->isUiReadOnly(m_currentConfigName)) { flagMask = flagMask ^ Qt::ItemIsEditable; } } return flagMask; }