insilmaril@725: #ifndef TREEITEM_H insilmaril@725: #define TREEITEM_H insilmaril@725: insilmaril@725: #include insilmaril@725: #include insilmaril@725: insilmaril@726: class LinkableMapObj; insilmaril@726: insilmaril@725: class TreeItem insilmaril@725: { insilmaril@725: public: insilmaril@726: enum Type {Undefined,MapCenter,Branch}; insilmaril@725: TreeItem(const QList &data, TreeItem *parent = 0); insilmaril@725: ~TreeItem(); insilmaril@725: insilmaril@725: void appendChild(TreeItem *child); insilmaril@725: insilmaril@725: TreeItem *child(int row); insilmaril@725: int childCount() const; insilmaril@725: int columnCount() const; insilmaril@725: QVariant data(int column) const; insilmaril@726: void setHeading (const QString s); insilmaril@726: QString getHeading(); insilmaril@726: void setType (const Type t); insilmaril@726: Type getType (); insilmaril@726: QString getTypeName (); insilmaril@726: insilmaril@725: int row() const; insilmaril@726: int column() const; insilmaril@725: TreeItem *parent(); insilmaril@725: insilmaril@726: // Relation to map objects in graphicsscene insilmaril@726: LinkableMapObj* getLMO(); insilmaril@726: void setLMO (LinkableMapObj*); insilmaril@726: insilmaril@725: private: insilmaril@725: QList childItems; insilmaril@725: QList itemData; insilmaril@725: TreeItem *parentItem; insilmaril@726: insilmaril@726: Type type; insilmaril@726: LinkableMapObj *lmo; insilmaril@725: }; insilmaril@725: insilmaril@725: #endif