#include "modelitem.h" ModelItem::ModelItem(const QHash values) : m_values(values) {} QVariant ModelItem::data(int role) const { return m_values.value(role); } bool ModelItem::setData(const QVariant& value, int role) { bool valueChanged = false; if (m_values.contains(role)) { if (m_values.value(role) != value) { valueChanged = true; } } m_values[role] = value; return valueChanged; } bool ModelItem::setItemData(const QMap& changedValues) { bool valueChanged = false; QMap::const_iterator citer = changedValues.constBegin(); while (citer != changedValues.constEnd()) { const int role = citer.key(); const QVariant value = citer.value(); if (m_values.contains(role)) { if (m_values.value(role) != value) { valueChanged = true; } } m_values[role] = value; citer++; } return valueChanged; }