insilmaril@795
|
1 |
#ifndef ATTRIBUTEITEM_H
|
insilmaril@795
|
2 |
#define ATTRIBUTEITEM_H
|
insilmaril@795
|
3 |
|
insilmaril@795
|
4 |
#include <QStringList>
|
insilmaril@795
|
5 |
#include <QVariant>
|
insilmaril@795
|
6 |
|
insilmaril@795
|
7 |
#include "treeitem.h"
|
insilmaril@795
|
8 |
|
insilmaril@795
|
9 |
/*! \brief A key and a value
|
insilmaril@795
|
10 |
The data itself is stored in Attribute Definitions (AttributeDef).
|
insilmaril@795
|
11 |
A list of these tables AttributeTable is maintained for every MapEditor.
|
insilmaril@795
|
12 |
*/
|
insilmaril@795
|
13 |
class AttributeItem:public TreeItem {
|
insilmaril@795
|
14 |
|
insilmaril@795
|
15 |
enum Type {
|
insilmaril@795
|
16 |
Undefined, //!< Undefined type
|
insilmaril@795
|
17 |
IntList, //!< Free integer
|
insilmaril@795
|
18 |
FreeInt, //!< Free integer
|
insilmaril@795
|
19 |
StringList, //!< List of strings, one can be attribute value
|
insilmaril@795
|
20 |
FreeString, //!< Any string can be attribute value, not unique
|
insilmaril@795
|
21 |
UniqueString//!< UniqueString, e.g. for IDs
|
insilmaril@795
|
22 |
};
|
insilmaril@795
|
23 |
|
insilmaril@795
|
24 |
public:
|
insilmaril@795
|
25 |
AttributeItem(const QList<QVariant> &data, TreeItem *parent = 0);
|
insilmaril@795
|
26 |
virtual ~AttributeItem();
|
insilmaril@795
|
27 |
void setKey (const QString &k, const Type &t);
|
insilmaril@795
|
28 |
QString getKey ();
|
insilmaril@795
|
29 |
void setValue (const QString &v);
|
insilmaril@795
|
30 |
QVariant getValue ();
|
insilmaril@795
|
31 |
void setType (const Type &t);
|
insilmaril@795
|
32 |
AttributeItem::Type getAttributeType ();
|
insilmaril@795
|
33 |
QString getTypeString ();
|
insilmaril@795
|
34 |
QString getDataXML();
|
insilmaril@795
|
35 |
protected:
|
insilmaril@795
|
36 |
QString freeString; //!< String value for type FreeString
|
insilmaril@795
|
37 |
bool internal; //!< Internal attributes cannot be edited by user
|
insilmaril@795
|
38 |
};
|
insilmaril@795
|
39 |
|
insilmaril@795
|
40 |
#endif
|
insilmaril@795
|
41 |
|