Issue #77 All classes propertyindex methods use CPropertyIndexRef and QVariant

This commit is contained in:
Mat Sutcliffe
2020-11-01 20:05:34 +00:00
parent d9e3d1dccc
commit 0971c8ce68
190 changed files with 1298 additions and 1293 deletions

View File

@@ -36,26 +36,26 @@ namespace BlackMisc
return url;
}
CVariant CSimBriefData::propertyByIndex(const CPropertyIndex &index) const
QVariant CSimBriefData::propertyByIndex(CPropertyIndexRef index) const
{
if (index.isMyself()) { return CVariant::from(*this); }
if (index.isMyself()) { return QVariant::fromValue(*this); }
const ColumnIndex i = index.frontCasted<ColumnIndex>();
switch (i)
{
case IndexUrl: return CVariant::from(m_url);
case IndexUsername: return CVariant::from(m_username);
case IndexUrl: return QVariant::fromValue(m_url);
case IndexUsername: return QVariant::fromValue(m_username);
default: return CValueObject::propertyByIndex(index);
}
}
void CSimBriefData::setPropertyByIndex(const CPropertyIndex &index, const CVariant &variant)
void CSimBriefData::setPropertyByIndex(CPropertyIndexRef index, const QVariant &variant)
{
if (index.isMyself()) { (*this) = variant.to<CSimBriefData>(); return; }
if (index.isMyself()) { (*this) = variant.value<CSimBriefData>(); return; }
const ColumnIndex i = index.frontCasted<ColumnIndex>();
switch (i)
{
case IndexUrl: m_url = variant.toQString(); break;
case IndexUsername: m_username = variant.toQString(); break;
case IndexUrl: m_url = variant.toString(); break;
case IndexUsername: m_username = variant.toString(); break;
default: CValueObject::setPropertyByIndex(index, variant); break;
}
}