author | insilmaril |
Thu Apr 02 09:46:29 2009 +0000 (2009-04-02) | |
changeset 750 | ff3b01ce0960 |
parent 749 | 9ff332964015 |
child 753 | 25a77484ec72 |
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@746 | 7 |
#include "noteobj.h" |
insilmaril@746 | 8 |
#include "xmlobj.h" |
insilmaril@746 | 9 |
|
insilmaril@726 | 10 |
class LinkableMapObj; |
insilmaril@750 | 11 |
class BranchObj; |
insilmaril@750 | 12 |
class BranchItem; |
insilmaril@746 | 13 |
class VymModel; |
insilmaril@726 | 14 |
|
insilmaril@746 | 15 |
class TreeItem:public XMLObj |
insilmaril@725 | 16 |
{ |
insilmaril@725 | 17 |
public: |
insilmaril@735 | 18 |
enum Type {Undefined,MapCenter,Branch,Image}; |
insilmaril@725 | 19 |
TreeItem(const QList<QVariant> &data, TreeItem *parent = 0); |
insilmaril@725 | 20 |
~TreeItem(); |
insilmaril@746 | 21 |
QString saveToDir (const QString &tmpdir,const QString &prefix, const QPointF& offset); |
insilmaril@746 | 22 |
|
insilmaril@725 | 23 |
|
insilmaril@727 | 24 |
// General housekeeping |
insilmaril@746 | 25 |
void setModel (VymModel *m); |
insilmaril@746 | 26 |
VymModel* getModel(); |
insilmaril@746 | 27 |
|
insilmaril@727 | 28 |
void appendChild (TreeItem *child); |
insilmaril@727 | 29 |
void removeChild (int row); |
insilmaril@725 | 30 |
|
insilmaril@725 | 31 |
TreeItem *child(int row); |
insilmaril@725 | 32 |
int childCount() const; |
insilmaril@745 | 33 |
int childNumber() const; |
insilmaril@725 | 34 |
int columnCount() const; |
insilmaril@741 | 35 |
int branchCount() const; |
insilmaril@749 | 36 |
int imageCount() const; |
insilmaril@749 | 37 |
int xlinkCount() const; |
insilmaril@727 | 38 |
|
insilmaril@727 | 39 |
int row() const; |
insilmaril@727 | 40 |
int column() const; |
insilmaril@740 | 41 |
int depth() ; |
insilmaril@727 | 42 |
TreeItem *parent(); |
insilmaril@749 | 43 |
|
insilmaril@749 | 44 |
/*! Return number of item in parent by type, |
insilmaril@749 | 45 |
e.g. first branch has number 0 */ |
insilmaril@749 | 46 |
int num(); |
insilmaril@749 | 47 |
int num (TreeItem *item); //! Return number of item by type |
insilmaril@727 | 48 |
|
insilmaril@727 | 49 |
// Accessing data |
insilmaril@725 | 50 |
QVariant data(int column) const; |
insilmaril@726 | 51 |
void setHeading (const QString s); |
insilmaril@726 | 52 |
QString getHeading(); |
insilmaril@746 | 53 |
|
insilmaril@746 | 54 |
protected: |
insilmaril@746 | 55 |
NoteObj note; |
insilmaril@746 | 56 |
public: |
insilmaril@741 | 57 |
void setNote(const QString s); |
insilmaril@741 | 58 |
QString getNote(); |
insilmaril@746 | 59 |
virtual void setNoteObj(const NoteObj &, bool updateNoteEditor=true); |
insilmaril@746 | 60 |
virtual NoteObj getNoteObj(); |
insilmaril@746 | 61 |
virtual QString getNoteASCII(const QString &indent, const int &width); // returns note (ASCII) |
insilmaril@746 | 62 |
virtual QString getNoteASCII(); // returns note (ASCII) |
insilmaril@746 | 63 |
virtual QString getNoteOpenDoc(); // returns note (OpenDoc) |
insilmaril@746 | 64 |
|
insilmaril@746 | 65 |
|
insilmaril@746 | 66 |
protected: |
insilmaril@746 | 67 |
Type type; |
insilmaril@746 | 68 |
public: |
insilmaril@726 | 69 |
void setType (const Type t); |
insilmaril@726 | 70 |
Type getType (); |
insilmaril@726 | 71 |
QString getTypeName (); |
insilmaril@738 | 72 |
|
insilmaril@738 | 73 |
// Navigation and selection |
insilmaril@738 | 74 |
TreeItem* getChildNum(const int &n); |
insilmaril@750 | 75 |
BranchItem* getFirstBranch(); |
insilmaril@750 | 76 |
BranchItem* getLastBranch(); |
insilmaril@750 | 77 |
BranchItem* getBranchNum(const int &n); |
insilmaril@750 | 78 |
BranchObj* getBranchObjNum(const int &n); |
insilmaril@738 | 79 |
void setLastSelectedBranch(); |
insilmaril@738 | 80 |
TreeItem* getLastSelectedBranch(); |
insilmaril@738 | 81 |
|
insilmaril@726 | 82 |
|
insilmaril@726 | 83 |
// Relation to map objects in graphicsscene |
insilmaril@726 | 84 |
LinkableMapObj* getLMO(); |
insilmaril@726 | 85 |
void setLMO (LinkableMapObj*); |
insilmaril@726 | 86 |
|
insilmaril@741 | 87 |
protected: |
insilmaril@746 | 88 |
VymModel *model; |
insilmaril@746 | 89 |
|
insilmaril@725 | 90 |
QList<TreeItem*> childItems; |
insilmaril@725 | 91 |
QList<QVariant> itemData; |
insilmaril@725 | 92 |
TreeItem *parentItem; |
insilmaril@726 | 93 |
|
insilmaril@726 | 94 |
LinkableMapObj *lmo; |
insilmaril@738 | 95 |
|
insilmaril@738 | 96 |
int branchOffset; |
insilmaril@741 | 97 |
int branchCounter; |
insilmaril@738 | 98 |
int lastSelectedBranchNum; |
insilmaril@746 | 99 |
|
insilmaril@746 | 100 |
bool hidden; //! Hidden in export if true |
insilmaril@725 | 101 |
}; |
insilmaril@725 | 102 |
|
insilmaril@725 | 103 |
#endif |