本文整理汇总了C++中FLFieldMetaData::setEditable方法的典型用法代码示例。如果您正苦于以下问题:C++ FLFieldMetaData::setEditable方法的具体用法?C++ FLFieldMetaData::setEditable怎么用?C++ FLFieldMetaData::setEditable使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FLFieldMetaData
的用法示例。
在下文中一共展示了FLFieldMetaData::setEditable方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: processObject
void FLAccessControlTable::processObject(QObject *obj)
{
if (!obj || obj->aqWasDeleted())
return;
FLTableMetaData *tm = ::qt_cast<FLTableMetaData *>(obj);
if (!tm)
return;
int maskPerm = 0;
bool hasAcos = (acosPerms_ && !acosPerms_->isEmpty());
if (!perm_.isEmpty()) {
if (perm_.left(1) == "r")
maskPerm |= 2;
if (perm_.right(1) == "w")
maskPerm |= 1;
} else if (hasAcos)
maskPerm = 8;
else
return;
QString fieldPerm;
QString *fieldPermPtr;
int maskFieldPerm = 0;
const FLTableMetaData::FLFieldMetaDataList *fL = tm->fieldList();
if (!fL)
return ;
FLFieldMetaData *field;
QDictIterator<FLFieldMetaData> it(*fL);
while ((field = it.current()) != 0) {
maskFieldPerm = maskPerm;
++it;
if (hasAcos && (fieldPermPtr = (*acosPerms_)[ field->name()])) {
fieldPerm = *fieldPermPtr;
maskFieldPerm = 0;
if (fieldPerm.left(1) == "r")
maskFieldPerm |= 2;
if (fieldPerm.right(1) == "w")
maskFieldPerm |= 1;
}
switch (maskFieldPerm) {
case 0:
field->setVisible(false);
field->setEditable(false);
break;
case 1:
field->setVisible(false);
field->setEditable(true);
break;
case 2:
field->setVisible(true);
field->setEditable(false);
break;
case 3:
field->setVisible(true);
field->setEditable(true);
break;
}
}
}