mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-23 15:25:35 +08:00
refs #356 Extend CVariant to support accessing properties by index of the contained value object.
This commit is contained in:
@@ -187,4 +187,35 @@ namespace BlackMisc
|
||||
|
||||
*this = fixQVariantFromDbusArgument(dbusVar.variant(), QMetaType::type(qPrintable(typeName)));
|
||||
}
|
||||
|
||||
void CVariant::setPropertyByIndex(const CVariant &variant, const CPropertyIndex &index)
|
||||
{
|
||||
auto *meta = getValueObjectMetaInfo();
|
||||
Q_ASSERT(meta);
|
||||
meta->setPropertyByIndex(data(), variant, index);
|
||||
}
|
||||
|
||||
CVariant CVariant::propertyByIndex(const BlackMisc::CPropertyIndex &index) const
|
||||
{
|
||||
auto *meta = getValueObjectMetaInfo();
|
||||
Q_ASSERT(meta);
|
||||
CVariant result;
|
||||
meta->propertyByIndex(data(), result, index);
|
||||
return result;
|
||||
}
|
||||
|
||||
QString CVariant::propertyByIndexAsString(const CPropertyIndex &index, bool i18n) const
|
||||
{
|
||||
auto *meta = getValueObjectMetaInfo();
|
||||
Q_ASSERT(meta);
|
||||
return meta->propertyByIndexAsString(data(), index, i18n);
|
||||
}
|
||||
|
||||
bool CVariant::equalsPropertyByIndex(const CVariant &compareValue, const CPropertyIndex &index) const
|
||||
{
|
||||
auto *meta = getValueObjectMetaInfo();
|
||||
Q_ASSERT(meta);
|
||||
return meta->equalsPropertyByIndex(data(), compareValue, index);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user