本文整理汇总了C++中ApiTraceCall::state方法的典型用法代码示例。如果您正苦于以下问题:C++ ApiTraceCall::state方法的具体用法?C++ ApiTraceCall::state怎么用?C++ ApiTraceCall::state使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ApiTraceCall
的用法示例。
在下文中一共展示了ApiTraceCall::state方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: data
QVariant ApiTraceModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid())
return QVariant();
if (index.column() != 0)
return QVariant();
ApiTraceEvent *itm = item(index);
if (!itm) {
return QVariant();
}
switch (role) {
case Qt::DisplayRole:
return itm->staticText().text();
case Qt::DecorationRole:
return QImage();
case Qt::ToolTipRole: {
const QString stateText = tr("State info available.");
if (itm->type() == ApiTraceEvent::Call) {
ApiTraceCall *call = static_cast<ApiTraceCall*>(itm);
if (call->state().isEmpty())
return QString::fromLatin1("%1) <b>%2</b>")
.arg(call->index())
.arg(call->name());
else
return QString::fromLatin1("%1) <b>%2</b><br/>%3")
.arg(call->index())
.arg(call->name())
.arg(stateText);
} else {
ApiTraceFrame *frame = static_cast<ApiTraceFrame*>(itm);
QString text = QObject::tr("%1) Frame ")
.arg(frame->number);
int binaryDataSize = frame->binaryDataSize() / 1024;
if (frame->state().isEmpty())
return QObject::tr(
"<b>%1 </b>(binary data size = %2kB)")
.arg(text)
.arg(binaryDataSize);
else
return QObject::tr(
"<b>%1 (binary data size = %2kB)</b>"
"<br/>%3")
.arg(text)
.arg(binaryDataSize)
.arg(stateText);
}
}
case ApiTraceModel::EventRole:
return QVariant::fromValue(itm);
}
return QVariant();
}