6 TreeItem::TreeItem(const QList<QVariant> &data, TreeItem *parent)
14 lastSelectedBranchNum=-1;
19 qDeleteAll(childItems);
23 void TreeItem::appendChild(TreeItem *item)
25 childItems.append(item);
28 if (item->type == Branch || item->type ==MapCenter)
31 branchOffset=childItems.count()-1;
36 void TreeItem::removeChild(int row)
40 delete (childItems.at(row) );
41 childItems.removeAt (row);
43 qWarning ("TreeItem::removeChild tried to remove non existing item?!\n");
46 TreeItem *TreeItem::child(int row)
48 return childItems.value(row);
51 int TreeItem::childCount() const
53 return childItems.count();
56 int TreeItem::columnCount() const
58 return itemData.count();
61 int TreeItem::branchCount() const
65 int TreeItem::row() const
68 return parentItem->childItems.indexOf(const_cast<TreeItem*>(this));
73 int TreeItem::column() const
90 TreeItem *TreeItem::parent()
99 case Undefined: return -1;
100 case MapCenter: return parentItem->childItems.indexOf (this) - branchOffset;
101 case Branch: return parentItem->childItems.indexOf (this) - branchOffset;
102 case Image: return -1; // FIXME
108 QVariant TreeItem::data(int column) const
110 return itemData.value(column);
113 void TreeItem::setHeading (const QString s)
118 QString TreeItem::getHeading ()
120 return itemData[0].toString();
123 void TreeItem::setNote(const QString s)
128 ((BranchObj*)lmo)->setNote(s);
131 ((BranchObj*)lmo)->setNote(s);
137 QString TreeItem::getNote()
141 case MapCenter: return ((BranchObj*)lmo)->getNote();
142 case Branch: return ((BranchObj*)lmo)->getNote();
143 default: return QString ();
147 void TreeItem::setType(const Type t)
150 itemData[1]=getTypeName();
153 TreeItem::Type TreeItem::getType()
158 QString TreeItem::getTypeName()
162 case Undefined: return QString ("Undefined");
163 case MapCenter: return QString ("MapCenter");
164 case Branch: return QString ("Branch");
165 case Image: return QString ("Image");
166 default: return QString ("TreeItem::getTypeName no typename defined?!");
170 TreeItem* TreeItem::getChildNum(const int &n)
172 if (n>=0 && n<childItems.count() )
173 return childItems.at(n);
178 TreeItem* TreeItem::getFirstBranch()
181 return getBranchNum (branchOffset);
186 TreeItem* TreeItem::getLastBranch()
189 return getBranchNum (branchOffset + branchCounter-1);
195 TreeItem* TreeItem::getBranchNum(const int &n)
198 return getChildNum (branchOffset + n);
203 void TreeItem::setLastSelectedBranch()
206 parentItem->lastSelectedBranchNum=parentItem->childItems.indexOf(this);
209 TreeItem* TreeItem::getLastSelectedBranch()
211 return getBranchNum (lastSelectedBranchNum);
214 LinkableMapObj* TreeItem::getLMO() // FIXME VM should be unnecessary in the end
219 void TreeItem::setLMO(LinkableMapObj *l)