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
81 TreeItem *TreeItem::parent()
87 QVariant TreeItem::data(int column) const
89 return itemData.value(column);
92 void TreeItem::setHeading (const QString s)
97 QString TreeItem::getHeading ()
99 return itemData[0].toString();
102 void TreeItem::setType(const Type t)
105 itemData[1]=getTypeName();
108 TreeItem::Type TreeItem::getType()
113 QString TreeItem::getTypeName()
117 case Undefined: return QString ("Undefined");
118 case MapCenter: return QString ("MapCenter");
119 case Branch: return QString ("Branch");
120 case Image: return QString ("Image");
121 default: return QString ("TreeItem::getTypeName no typename defined?!");
125 TreeItem* TreeItem::getChildNum(const int &n)
127 if (n>=0 && n<childItems.count() )
128 return childItems.at(n);
133 TreeItem* TreeItem::getFirstBranch()
136 return getBranchNum (branchOffset);
141 TreeItem* TreeItem::getLastBranch()
144 return getBranchNum (branchOffset + branchCount-1);
150 TreeItem* TreeItem::getBranchNum(const int &n)
153 return getChildNum (branchOffset + n);
158 void TreeItem::setLastSelectedBranch()
161 parentItem->lastSelectedBranchNum=parentItem->childItems.indexOf(this);
164 TreeItem* TreeItem::getLastSelectedBranch()
166 return getBranchNum (lastSelectedBranchNum);
169 LinkableMapObj* TreeItem::getLMO() // FIXME VM should be unnecessary in the end
174 void TreeItem::setLMO(LinkableMapObj *l)