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);
27 if (item->type == Branch || item->type ==MapCenter)
30 branchOffset=childItems.count()-1;
37 void TreeItem::removeChild(int row)
39 if (row<0 || row > childItems.size()-1)
40 qWarning ("TreeItem::removeChild tried to remove non existing item?!\n");
43 cout << "TI::removeChild this="<<this<<" row="<<row<<endl;
44 delete childItems.takeAt (row);
48 TreeItem *TreeItem::child(int row)
50 return childItems.value(row);
53 int TreeItem::childCount() const
55 return childItems.count();
58 int TreeItem::childNumber() const
61 return parentItem->childItems.indexOf(const_cast<TreeItem*>(this));
66 int TreeItem::columnCount() const
68 return itemData.count();
71 int TreeItem::branchCount() const
75 int TreeItem::row() const
78 return parentItem->childItems.indexOf(const_cast<TreeItem*>(this));
83 int TreeItem::column() const
100 TreeItem *TreeItem::parent()
109 case Undefined: return -1;
110 case MapCenter: return parentItem->childItems.indexOf (this) - branchOffset;
111 case Branch: return parentItem->childItems.indexOf (this) - branchOffset;
112 case Image: return -1; // FIXME
118 QVariant TreeItem::data(int column) const
120 return itemData.value(column);
123 void TreeItem::setHeading (const QString s)
128 QString TreeItem::getHeading ()
130 return itemData[0].toString();
133 void TreeItem::setNote(const QString s)
138 ((BranchObj*)lmo)->setNote(s);
141 ((BranchObj*)lmo)->setNote(s);
147 QString TreeItem::getNote()
151 case MapCenter: return ((BranchObj*)lmo)->getNote();
152 case Branch: return ((BranchObj*)lmo)->getNote();
153 default: return QString ();
157 void TreeItem::setType(const Type t)
160 itemData[1]=getTypeName();
163 TreeItem::Type TreeItem::getType()
168 QString TreeItem::getTypeName()
172 case Undefined: return QString ("Undefined");
173 case MapCenter: return QString ("MapCenter");
174 case Branch: return QString ("Branch");
175 case Image: return QString ("Image");
176 default: return QString ("TreeItem::getTypeName no typename defined?!");
180 TreeItem* TreeItem::getChildNum(const int &n)
182 if (n>=0 && n<childItems.count() )
183 return childItems.at(n);
188 TreeItem* TreeItem::getFirstBranch()
191 return getBranchNum (branchOffset);
196 TreeItem* TreeItem::getLastBranch()
199 return getBranchNum (branchOffset + branchCounter-1);
205 TreeItem* TreeItem::getBranchNum(const int &n)
208 return getChildNum (branchOffset + n);
213 void TreeItem::setLastSelectedBranch()
216 parentItem->lastSelectedBranchNum=parentItem->childItems.indexOf(this);
219 TreeItem* TreeItem::getLastSelectedBranch()
221 return getBranchNum (lastSelectedBranchNum);
224 LinkableMapObj* TreeItem::getLMO() // FIXME VM should be unnecessary in the end
229 void TreeItem::setLMO(LinkableMapObj *l)