insilmaril@795: insilmaril@795: #include "attributeitem.h" insilmaril@795: insilmaril@795: #include insilmaril@795: using namespace std; insilmaril@795: insilmaril@795: extern bool debug; insilmaril@795: insilmaril@822: AttributeItem::AttributeItem(const QList &data, TreeItem *parent):BranchItem (data,parent) insilmaril@795: { insilmaril@795: TreeItem::setType (Attribute); insilmaril@795: internal=false; insilmaril@795: } insilmaril@795: insilmaril@795: AttributeItem::~AttributeItem() insilmaril@795: { insilmaril@795: } insilmaril@795: insilmaril@823: void AttributeItem::set (const QString &k, const QString &v, const Type &t) insilmaril@823: { insilmaril@823: key=k; insilmaril@823: value=QVariant (v); insilmaril@823: setHeading (QString ("K: %1 | V: %2").arg(key).arg(value.toString())); insilmaril@823: } insilmaril@823: insilmaril@823: void AttributeItem::get (QString &k, QString &v, Type &t) insilmaril@823: { insilmaril@823: k=key; insilmaril@823: v=value.toString(); insilmaril@823: t=attrType; insilmaril@823: } insilmaril@823: insilmaril@795: void AttributeItem::setKey (const QString &k, const Type &t) insilmaril@795: { insilmaril@795: /* insilmaril@795: if (!table) insilmaril@795: { insilmaril@795: qWarning (QString("AttributeItem::setKey (%1) No table defined!\n").arg(k).ascii()); insilmaril@795: return; insilmaril@795: } insilmaril@795: insilmaril@795: if (!definition) insilmaril@795: { insilmaril@795: definition=table->getDef(k); insilmaril@795: if (!definition) insilmaril@795: { insilmaril@795: table->addKey (k,t); insilmaril@795: return; insilmaril@795: } insilmaril@795: } insilmaril@795: qWarning (QString("AttributeItem::setKey (%1) attribute already defined!\n").arg(k).ascii()); insilmaril@795: */ insilmaril@795: } insilmaril@795: insilmaril@795: QString AttributeItem::getKey () insilmaril@795: { insilmaril@795: /* insilmaril@795: if (!table) insilmaril@795: { insilmaril@795: qWarning ("AttributeItem::getKey () No table defined!"); insilmaril@795: return QString(); insilmaril@795: } insilmaril@795: if (!definition) insilmaril@795: { insilmaril@795: qWarning ("AttributeItem::getKey () No attribute defined!"); insilmaril@795: return QString (); insilmaril@795: } insilmaril@795: return definition->getKey(); insilmaril@795: */ insilmaril@838: return QString(); insilmaril@795: } insilmaril@795: insilmaril@795: void AttributeItem::setValue(const QString &v) insilmaril@795: { insilmaril@795: /* insilmaril@795: if (!table) insilmaril@795: { insilmaril@795: qWarning (QString ("AttributeItem::setValue (%1) No table defined!").arg(v)); insilmaril@795: return; insilmaril@795: } insilmaril@795: if (!definition) insilmaril@795: { insilmaril@795: qWarning (QString ("AttributeItem::setValue (%1) No attribute defined!").arg(v)); insilmaril@795: return; insilmaril@795: } insilmaril@795: definition->setValue (v); insilmaril@795: */ insilmaril@795: } insilmaril@795: insilmaril@795: QVariant AttributeItem::getValue() insilmaril@795: { insilmaril@795: /* insilmaril@795: if (!table) insilmaril@795: { insilmaril@795: qWarning ("AttributeItem::getValue No table defined!"); insilmaril@795: return QString(); insilmaril@795: } insilmaril@795: if (!definition) insilmaril@795: { insilmaril@795: qWarning ("AttributeItem::getValue No attribute defined!"); insilmaril@795: return QString(); insilmaril@795: } insilmaril@795: QVariant v= definition->getValue(); insilmaril@795: return v; insilmaril@795: */ insilmaril@838: return QString(); insilmaril@795: } insilmaril@795: insilmaril@795: void AttributeItem::setType (const Type &t) insilmaril@795: { insilmaril@795: /* insilmaril@795: if (!table) insilmaril@795: { insilmaril@795: qWarning ("AttributeItem::setType No table defined!"); insilmaril@795: return; insilmaril@795: } insilmaril@795: if (!definition) insilmaril@795: { insilmaril@795: qWarning ("Attribute::setType No attribute defined!"); insilmaril@795: return; insilmaril@795: } insilmaril@795: definition->setType (t); insilmaril@795: */ insilmaril@795: } insilmaril@795: insilmaril@795: AttributeItem::Type AttributeItem::getAttributeType() insilmaril@795: { insilmaril@795: /* insilmaril@795: if (!table) insilmaril@795: { insilmaril@795: qWarning ("AttributeItem::getType No table defined!"); insilmaril@795: return Undefined; insilmaril@795: } insilmaril@795: if (!definition) insilmaril@795: { insilmaril@795: qWarning ("AttributeItem::getType No attribute defined!"); insilmaril@795: return Undefined; insilmaril@795: } insilmaril@795: return definition->getType(); insilmaril@795: */ insilmaril@840: return AttributeItem::Undefined; insilmaril@795: } insilmaril@795: insilmaril@795: QString AttributeItem::getTypeString() insilmaril@795: { insilmaril@795: /* insilmaril@795: if (!table) insilmaril@795: { insilmaril@795: qWarning ("AttributeItem::getTypeString No table defined!"); insilmaril@795: return "Undefined"; insilmaril@795: } insilmaril@795: if (!definition) insilmaril@795: { insilmaril@795: qWarning ("Attribute::getTypeString No AttributeItem defined!"); insilmaril@795: return "Undefined"; insilmaril@795: } insilmaril@795: return definition->getTypeString(); insilmaril@795: */ insilmaril@838: return QString(); insilmaril@795: } insilmaril@795: insilmaril@823: void AttributeItem::setInternal(bool b) insilmaril@823: { insilmaril@823: internal=b; insilmaril@823: } insilmaril@823: insilmaril@823: bool AttributeItem::isInternal() insilmaril@823: { insilmaril@823: return internal; insilmaril@823: } insilmaril@823: insilmaril@795: QString AttributeItem::getDataXML() insilmaril@795: { insilmaril@795: QString a=beginElement ("attribute"); insilmaril@795: a+=attribut ("key",getKey()); insilmaril@795: a+=attribut ("value",getValue().toString() ); insilmaril@795: a+=attribut ("type",getTypeString () ); insilmaril@795: return a; insilmaril@795: } insilmaril@795: