author | insilmaril |
Tue Nov 04 12:09:10 2008 +0000 (2008-11-04) | |
changeset 728 | a8a98a94899a |
parent 726 | 7f43b93242aa |
child 735 | 84ae10f6e3a3 |
permissions | -rw-r--r-- |
insilmaril@725 | 1 |
#ifndef TREEITEM_H |
insilmaril@725 | 2 |
#define TREEITEM_H |
insilmaril@725 | 3 |
|
insilmaril@725 | 4 |
#include <QList> |
insilmaril@725 | 5 |
#include <QVariant> |
insilmaril@725 | 6 |
|
insilmaril@726 | 7 |
class LinkableMapObj; |
insilmaril@726 | 8 |
|
insilmaril@725 | 9 |
class TreeItem |
insilmaril@725 | 10 |
{ |
insilmaril@725 | 11 |
public: |
insilmaril@726 | 12 |
enum Type {Undefined,MapCenter,Branch}; |
insilmaril@725 | 13 |
TreeItem(const QList<QVariant> &data, TreeItem *parent = 0); |
insilmaril@725 | 14 |
~TreeItem(); |
insilmaril@725 | 15 |
|
insilmaril@727 | 16 |
// General housekeeping |
insilmaril@727 | 17 |
void appendChild (TreeItem *child); |
insilmaril@727 | 18 |
void removeChild (int row); |
insilmaril@725 | 19 |
|
insilmaril@725 | 20 |
TreeItem *child(int row); |
insilmaril@725 | 21 |
int childCount() const; |
insilmaril@725 | 22 |
int columnCount() const; |
insilmaril@727 | 23 |
|
insilmaril@727 | 24 |
int row() const; |
insilmaril@727 | 25 |
int column() const; |
insilmaril@727 | 26 |
TreeItem *parent(); |
insilmaril@727 | 27 |
|
insilmaril@727 | 28 |
// Accessing data |
insilmaril@725 | 29 |
QVariant data(int column) const; |
insilmaril@726 | 30 |
void setHeading (const QString s); |
insilmaril@726 | 31 |
QString getHeading(); |
insilmaril@726 | 32 |
void setType (const Type t); |
insilmaril@726 | 33 |
Type getType (); |
insilmaril@726 | 34 |
QString getTypeName (); |
insilmaril@726 | 35 |
|
insilmaril@726 | 36 |
// Relation to map objects in graphicsscene |
insilmaril@726 | 37 |
LinkableMapObj* getLMO(); |
insilmaril@726 | 38 |
void setLMO (LinkableMapObj*); |
insilmaril@726 | 39 |
|
insilmaril@725 | 40 |
private: |
insilmaril@725 | 41 |
QList<TreeItem*> childItems; |
insilmaril@725 | 42 |
QList<QVariant> itemData; |
insilmaril@725 | 43 |
TreeItem *parentItem; |
insilmaril@726 | 44 |
|
insilmaril@726 | 45 |
Type type; |
insilmaril@726 | 46 |
LinkableMapObj *lmo; |
insilmaril@725 | 47 |
}; |
insilmaril@725 | 48 |
|
insilmaril@725 | 49 |
#endif |