insilmaril@616: #ifndef ATTRIBUTE_H insilmaril@616: #define ATTRIBUTE_H insilmaril@616: insilmaril@616: #include insilmaril@616: insilmaril@616: #include "xmlobj.h" insilmaril@616: insilmaril@616: insilmaril@616: /*! \brief A key and a list of values insilmaril@616: */ insilmaril@616: insilmaril@616: class Attribute:public XMLObj { insilmaril@616: public: insilmaril@616: Attribute(); insilmaril@616: virtual void setKey (const QString &k); insilmaril@616: virtual QString getKey (); insilmaril@616: virtual void setValue (const QString &v); insilmaril@616: virtual QString getValue(); insilmaril@616: virtual QString getDataXML(); insilmaril@616: protected: insilmaril@616: QString key; insilmaril@616: QString value; insilmaril@616: }; insilmaril@616: insilmaril@616: /*! \brief A table containing a list of keys and each of these keys has insilmaril@616: a list of default values. The keys and the values for each key are insilmaril@616: unique. insilmaril@616: */ insilmaril@616: class AttributeTable:public XMLObj{ insilmaril@616: public: insilmaril@616: AttributeTable(); insilmaril@616: virtual ~AttributeTable(); insilmaril@616: virtual void clear(); insilmaril@616: virtual void addKey (const QString &k); //!< Adds a key to the table insilmaril@616: virtual void removeKey (const QString &k); //!< Removes key and its default values insilmaril@616: virtual void addValue (const QString &k, const QString &v); //!< Adds key and value insilmaril@616: virtual QStringList getKeys (); insilmaril@616: virtual QStringList getValues(const QString &k); insilmaril@616: virtual QString getDataXML(); insilmaril@616: insilmaril@616: protected: insilmaril@616: QStringList keys; insilmaril@616: QList values; insilmaril@616: }; insilmaril@616: insilmaril@616: insilmaril@616: insilmaril@616: #endif insilmaril@616: