#include "propitem.h"
PropItem::PropItem(const QString &name, const QVariant &value, PropItem *parent)
{
itemName = name;
itemValue = value;
parentItem = parent;
}
PropItem::~PropItem()
{
qDeleteAll(childItems);
}
bool PropItem::setData(int column, const QVariant &value)
{
// We can only edit the right hand column
if (column != 1) return false;
itemValue = value;
return true;
}
void PropItem::appendChild(PropItem *child)
{
childItems.append(child);
}
PropItem *PropItem::child(int row)
{
return childItems.value(row);
}
int PropItem::childCount() const
{
return childItems.count();
}
int PropItem::row() const
{
if (parentItem)
return parentItem->childItems.indexOf(const_cast<PropItem*>(this));
return 0;
}
int PropItem::columnCount() const
{
return 2;
}
PropItem *PropItem::parent()
{
return parentItem;
}
QString PropItem::name() const
{
return itemName;
}
QVariant PropItem::value()
{
return itemValue;
}