25 std::vector<int> result;
27 result.push_back(value.m_role);
34 if (value.m_role == role)
48 if (it->m_role == role) {
49 if (value.isValid()) {
77 auto has_role = [role](
const auto& x) {
return x.m_role == role; };
86 throw std::runtime_error(
"Attempt to set QString based variant");
89 std::ostringstream ostr;
90 ostr <<
"SessionItemData::assure_validity() -> Error. Variant types mismatch. "
91 <<
"Old variant type '" <<
data(role).typeName() <<
"' "
92 <<
"new variant type '" << variant.typeName() <<
"\n";
93 throw std::runtime_error(ostr.str());
Represents pair of data,role for SessionItemData.
std::vector< int > roles() const
void assure_validity(const Variant &variant, int role)
Check if variant is compatible.
const_iterator begin() const
const_iterator end() const
container_type::const_iterator const_iterator
bool hasData(int role) const
Returns true if item has data with given role.
bool setData(const Variant &value, int role)
Sets the data for given role.
Variant data(int role) const
MVVM_MODEL_EXPORT bool IsTheSame(const Variant &var1, const Variant &var2)
Returns true if given variants have same type and value.
MVVM_MODEL_EXPORT bool CompatibleVariantTypes(const Variant &oldValue, const Variant &newValue)
Returns true if variants has compatible types.
materialitems.h Collection of materials to populate MaterialModel.