5 TreeItem::TreeItem(const QList<QVariant> &data, TreeItem *parent)
13 lastSelectedBranchNum=-1;
18 qDeleteAll(childItems);
21 void TreeItem::appendChild(TreeItem *item)
23 childItems.append(item);
24 if (item->type == Branch)
27 branchOffset=childItems.count()-1;
32 void TreeItem::removeChild(int row)
36 delete (childItems.at(row) );
37 childItems.removeAt (row);
39 qWarning ("TreeItem::removeChild tried to remove non existing item?!\n");
42 TreeItem *TreeItem::child(int row)
44 return childItems.value(row);
47 int TreeItem::childCount() const
49 return childItems.count();
52 int TreeItem::columnCount() const
54 return itemData.count();
56 int TreeItem::row() const
59 return parentItem->childItems.indexOf(const_cast<TreeItem*>(this));
64 int TreeItem::column() const
69 TreeItem *TreeItem::parent()
75 QVariant TreeItem::data(int column) const
77 return itemData.value(column);
80 void TreeItem::setHeading (const QString s)
85 QString TreeItem::getHeading ()
87 return itemData[0].toString();
90 void TreeItem::setType(const Type t)
93 itemData[1]=getTypeName();
96 TreeItem::Type TreeItem::getType()
101 QString TreeItem::getTypeName()
105 case Undefined: return QString ("Undefined");
106 case MapCenter: return QString ("MapCenter");
107 case Branch: return QString ("Branch");
108 default: return QString ("TreeItem::getTypeName no typename defined?!");
112 TreeItem* TreeItem::getChildNum(const int &n)
114 if (n>=0 && n<childItems.count() )
115 return childItems.at(n);
120 TreeItem* TreeItem::getFirstBranch()
123 return getBranchNum (branchOffset);
128 TreeItem* TreeItem::getLastBranch()
131 return getBranchNum (branchOffset + branchCount-1);
137 TreeItem* TreeItem::getBranchNum(const int &n)
140 return getChildNum (branchOffset + n);
145 void TreeItem::setLastSelectedBranch()
148 parentItem->lastSelectedBranchNum=parentItem->childItems.indexOf(this);
151 TreeItem* TreeItem::getLastSelectedBranch()
153 return getBranchNum (lastSelectedBranchNum);
156 LinkableMapObj* TreeItem::getLMO() // FIXME VM should be unnecessary in the end
161 void TreeItem::setLMO(LinkableMapObj *l)