modeldataitem.cpp 1.08 KB
#include "modeldataitem.h"

using namespace osdev::components::datamodels;

ModelDataItem::ModelDataItem()
{

}

ModelDataItem::ModelDataItem(const QHash<QString, QVariant> &data_item)
    : m_itemHash()
{
    for(const auto &key : data_item.keys())
    {
        m_itemHash.insert(key, data_item.value(key));
    }
}

void ModelDataItem::setData(const QString &name, const QVariant &value)
{
    if(!name.isEmpty() && !name.isNull())
    {
        m_itemHash.insert(name, value);
    }
}

QVariant ModelDataItem::getData(const QString &name) const
{
    if(!name.isEmpty() && !name.isNull() && m_itemHash.contains(name))
    {
        return m_itemHash.value(name);
    }
    else
        return QVariant();
}

int ModelDataItem::items()
{
    return m_itemHash.count();
}

QString ModelDataItem::asString()
{
    QString model_data_item;

    for(const auto &key : m_itemHash.keys())
    {
        model_data_item.append(key);
        model_data_item.append(" : ");
        model_data_item.append( m_itemHash.value(key).toString());
        model_data_item.append(" | ");
    }
    return model_data_item;
}