10 TreeItem::TreeItem(const QList<QVariant> &data, TreeItem *parent)
20 lastSelectedBranchNum=-1;
23 // note.setFontHint (textEditor->getFontHintDefault() ); //FIXME-2
24 // isNoteInEditor=false;
29 qDeleteAll(childItems);
32 QString TreeItem::saveToDir (const QString &tmpdir,const QString &prefix, const QPointF& offset)
34 qWarning ("TreeItem::saveToDir called directly");
40 void TreeItem::copy (OrnamentedObj* other) //FIXME-2
43 note.copy (other->note);
48 void TreeItem::setModel (VymModel *m)
53 VymModel* TreeItem::getModel ()
58 void TreeItem::appendChild(TreeItem *item)
60 childItems.append(item);
61 item->setModel (model);
63 if (item->type == Branch || item->type ==MapCenter)
66 branchOffset=childItems.count()-1;
71 void TreeItem::removeChild(int row)
73 if (row<0 || row > childItems.size()-1)
74 qWarning ("TreeItem::removeChild tried to remove non existing item?!\n");
77 cout << "TI::removeChild this="<<this<<" row="<<row<<endl;
78 delete childItems.takeAt (row);
82 TreeItem *TreeItem::child(int row)
84 return childItems.value(row);
87 int TreeItem::childCount() const
89 return childItems.count();
92 int TreeItem::childNumber() const
95 return parentItem->childItems.indexOf(const_cast<TreeItem*>(this));
100 int TreeItem::columnCount() const
102 return itemData.count();
105 int TreeItem::branchCount() const
107 return branchCounter;
110 int TreeItem::imageCount() const
113 return imageCounter; // FIXME-1 imageCounter needs to be calculated...
116 int TreeItem::xlinkCount() const // FIXME-2 check if xlinks are stored in a different way (global to model?)
119 return xlinkCounter; // FIXME-1 xlinkCounter needs to be calculated...
122 int TreeItem::row() const
125 return parentItem->childItems.indexOf(const_cast<TreeItem*>(this));
130 int TreeItem::column() const
135 int TreeItem::depth()
147 TreeItem *TreeItem::parent()
156 case Undefined: return -1;
157 case MapCenter: return parentItem->childItems.indexOf (this) - branchOffset;
158 case Branch: return parentItem->childItems.indexOf (this) - branchOffset;
159 case Image: return -1; // FIXME-2
164 int TreeItem::num (TreeItem *item)
166 if (!item) return -1;
167 switch (item->getType())
169 case Undefined: return -1;
170 case MapCenter: return childItems.indexOf (this) - branchOffset;
171 case Branch: return childItems.indexOf (this) - branchOffset;
172 case Image: return -1; // FIXME-2
177 QVariant TreeItem::data(int column) const
179 return itemData.value(column);
182 void TreeItem::setHeading (const QString s)
187 QString TreeItem::getHeading ()
189 return itemData[0].toString();
192 void TreeItem::setNote(const QString s)
195 // updateNoteFlag(); FIXME-2 needed?
197 model->emitContentHasChanged (this);
200 void TreeItem::setNoteObj(const NoteObj &n, bool updateNoteEditor)
203 // updateNoteFlag(); FIXME-2 needed?
204 if (model && updateNoteEditor)
205 model->emitContentHasChanged (this);
208 QString TreeItem::getNote()
210 return note.getNote();
213 NoteObj TreeItem::getNoteObj()
218 QString TreeItem::getNoteASCII(const QString &indent, const int &width)
220 return note.getNoteASCII(indent,width);
223 QString TreeItem::getNoteASCII()
225 return note.getNoteASCII();
228 QString TreeItem::getNoteOpenDoc()
230 return note.getNoteOpenDoc();
233 void TreeItem::setType(const Type t)
236 itemData[1]=getTypeName();
239 TreeItem::Type TreeItem::getType()
244 QString TreeItem::getTypeName()
248 case Undefined: return QString ("Undefined");
249 case MapCenter: return QString ("MapCenter");
250 case Branch: return QString ("Branch");
251 case Image: return QString ("Image");
252 default: return QString ("TreeItem::getTypeName no typename defined?!");
256 TreeItem* TreeItem::getChildNum(const int &n)
258 if (n>=0 && n<childItems.count() )
259 return childItems.at(n);
264 TreeItem* TreeItem::getFirstBranch()
267 return getBranchNum (branchOffset);
272 TreeItem* TreeItem::getLastBranch()
275 return getBranchNum (branchOffset + branchCounter-1);
281 TreeItem* TreeItem::getBranchNum(const int &n)
284 return getChildNum (branchOffset + n);
289 void TreeItem::setLastSelectedBranch()
292 parentItem->lastSelectedBranchNum=parentItem->childItems.indexOf(this);
295 TreeItem* TreeItem::getLastSelectedBranch()
297 return getBranchNum (lastSelectedBranchNum);
300 LinkableMapObj* TreeItem::getLMO() // FIXME-3 VM should be unnecessary in the end
305 void TreeItem::setLMO(LinkableMapObj *l)