1 #ifndef ATTRIBUTEITEM_H
2 #define ATTRIBUTEITEM_H
7 #include "branchitem.h"
9 /*! \brief A key and a value
10 The data itself is stored in Attribute Definitions (AttributeDef).
11 A list of these tables AttributeTable is maintained for every MapEditor.
13 class AttributeItem:public BranchItem {
16 Undefined, //!< Undefined type
19 StringList, //!< List of strings
20 FreeString, //!< String
21 UniqueString//!< String which is unique in a map, e.g. for IDs
24 AttributeItem(const QList<QVariant> &data, TreeItem *parent = 0);
25 virtual ~AttributeItem();
26 void set (const QString &k, const QString &v, const Type &t);
27 void get (QString &k, QString &v, Type &t);
28 void setKey (const QString &k);
30 void setValue (const QString &v);
32 using BranchItem::setType;
33 virtual void setType (const Type &t);
34 AttributeItem::Type getAttributeType ();
35 QString getTypeString ();
36 void setInternal (bool b);
41 bool internal; //!< Internal attributes cannot be edited by user