insilmaril@616: #include "attribute.h" insilmaril@616: insilmaril@616: Attribute::Attribute() insilmaril@616: { insilmaril@616: key=""; insilmaril@616: value=""; insilmaril@616: } insilmaril@616: insilmaril@616: void Attribute::setKey (const QString &k) insilmaril@616: { insilmaril@616: key=k; insilmaril@616: } insilmaril@616: insilmaril@616: QString Attribute::getKey () insilmaril@616: { insilmaril@616: return key; insilmaril@616: } insilmaril@616: insilmaril@616: void Attribute::setValue(const QString &v) insilmaril@616: { insilmaril@616: value=v; insilmaril@616: } insilmaril@616: insilmaril@616: QString Attribute::getValue() insilmaril@616: { insilmaril@616: return value; insilmaril@616: } insilmaril@616: insilmaril@626: void Attribute::setTable (AttributeTable *at) insilmaril@626: { insilmaril@626: table=at; insilmaril@626: } insilmaril@626: insilmaril@626: AttributeTable* Attribute::getTable() insilmaril@626: { insilmaril@626: return table; insilmaril@626: } insilmaril@626: insilmaril@616: QString Attribute::getDataXML() insilmaril@616: { insilmaril@616: return valueElement ("attribute",key,value); insilmaril@616: } insilmaril@616: insilmaril@616: insilmaril@616: /////////////////////////////////////////////////////////////// insilmaril@616: AttributeTable::AttributeTable() insilmaril@616: { insilmaril@616: clear(); insilmaril@616: } insilmaril@616: insilmaril@616: AttributeTable::~AttributeTable() insilmaril@616: { insilmaril@616: } insilmaril@616: insilmaril@616: void AttributeTable::clear () insilmaril@616: { insilmaril@616: keys.clear(); insilmaril@616: values.clear(); insilmaril@616: } insilmaril@616: insilmaril@616: void AttributeTable::addKey (const QString &k) insilmaril@616: { insilmaril@616: if (!keys.contains (k) ) insilmaril@616: { insilmaril@616: keys.append (k); insilmaril@616: values.append (QStringList() ); insilmaril@616: } insilmaril@616: } insilmaril@616: insilmaril@616: void AttributeTable::removeKey (const QString &k) insilmaril@616: { insilmaril@616: int i=keys.indexOf (k); insilmaril@616: if (i>=0) insilmaril@616: { insilmaril@616: keys.removeAt(i); insilmaril@616: values.removeAt(i); insilmaril@616: } insilmaril@616: } insilmaril@616: insilmaril@626: int AttributeTable::countKeys() insilmaril@626: { insilmaril@626: return keys.count(); insilmaril@626: } insilmaril@626: insilmaril@616: void AttributeTable::addValue (const QString &k, const QString &v) insilmaril@616: { insilmaril@616: int i=keys.indexOf (k); insilmaril@616: if (i<0) insilmaril@616: { insilmaril@616: keys.append (k); insilmaril@616: values.append (QStringList (v)); insilmaril@616: } else insilmaril@616: { insilmaril@616: int j=values.at(i).indexOf(k); insilmaril@616: if (j<0) values[i].append (QString(v)); insilmaril@616: } insilmaril@616: } insilmaril@616: insilmaril@616: QStringList AttributeTable::getKeys () insilmaril@616: { insilmaril@616: return keys; insilmaril@616: } insilmaril@616: insilmaril@616: QStringList AttributeTable::getValues(const QString &k) insilmaril@616: { insilmaril@616: int i=keys.indexOf (k); insilmaril@616: if (i>=0) insilmaril@616: return values.at(i); insilmaril@616: else insilmaril@616: return QStringList(); insilmaril@616: } insilmaril@616: insilmaril@616: QString AttributeTable::getDataXML() insilmaril@616: { insilmaril@616: return valueElement ("attributeList","key","value"); insilmaril@616: }