WatchItem *WatchItem::findItem(const QByteArray &iname) { if (internalName() == iname) return this; foreach (TreeItem *child, children()) { auto witem = static_cast<WatchItem *>(child); if (WatchItem *result = witem->findItem(iname)) return result; }
QString WatchItem::toToolTip() const { QString res; QTextStream str(&res); str << "<html><body><table>"; formatToolTipRow(str, tr("Name"), name); formatToolTipRow(str, tr("Expression"), expression()); formatToolTipRow(str, tr("Internal Type"), QLatin1String(type)); bool ok; const quint64 intValue = value.toULongLong(&ok); if (ok && intValue) { formatToolTipRow(str, tr("Value"), QLatin1String("(dec) ") + value); formatToolTipRow(str, QString(), QLatin1String("(hex) ") + QString::number(intValue, 16)); formatToolTipRow(str, QString(), QLatin1String("(oct) ") + QString::number(intValue, 8)); formatToolTipRow(str, QString(), QLatin1String("(bin) ") + QString::number(intValue, 2)); } else { QString val = value; if (val.size() > 1000) { val.truncate(1000); val += QLatin1Char(' '); val += tr("... <cut off>"); } formatToolTipRow(str, tr("Value"), val); } if (realAddress()) formatToolTipRow(str, tr("Object Address"), formatToolTipAddress(realAddress())); if (origaddr) formatToolTipRow(str, tr("Pointer Address"), formatToolTipAddress(origaddr)); if (arrayIndex >= 0) formatToolTipRow(str, tr("Array Index"), QString::number(arrayIndex)); if (size) formatToolTipRow(str, tr("Static Object Size"), tr("%n bytes", 0, size)); formatToolTipRow(str, tr("Internal ID"), QLatin1String(internalName())); str << "</table></body></html>"; return res; }
bool BuiltInEffectLoader::isEffectSupported(const QString &name) const { return BuiltInEffects::supported(BuiltInEffects::builtInForName(internalName(name))); }
bool BuiltInEffectLoader::hasEffect(const QString &name) const { return BuiltInEffects::available(internalName(name)); }
bool BuiltInEffectLoader::loadEffect(const QString &name) { return loadEffect(name, BuiltInEffects::builtInForName(internalName(name)), LoadEffectFlag::Load); }