insilmaril@746: #include insilmaril@746: using namespace std; insilmaril@746: insilmaril@725: #include insilmaril@725: insilmaril@741: #include "branchobj.h" insilmaril@725: #include "treeitem.h" insilmaril@746: #include "vymmodel.h" insilmaril@725: insilmaril@725: TreeItem::TreeItem(const QList &data, TreeItem *parent) insilmaril@725: { insilmaril@746: model=NULL; insilmaril@746: insilmaril@725: parentItem = parent; insilmaril@725: itemData = data; insilmaril@726: lmo=NULL; insilmaril@738: insilmaril@738: branchOffset=0; insilmaril@741: branchCounter=0; insilmaril@738: lastSelectedBranchNum=-1; insilmaril@746: insilmaril@746: note.setNote(""); insilmaril@746: // note.setFontHint (textEditor->getFontHintDefault() ); //FIXME-2 insilmaril@746: // isNoteInEditor=false; insilmaril@746: insilmaril@746: insilmaril@725: } insilmaril@725: insilmaril@725: TreeItem::~TreeItem() insilmaril@725: { insilmaril@725: qDeleteAll(childItems); insilmaril@725: } insilmaril@725: insilmaril@746: QString TreeItem::saveToDir (const QString &tmpdir,const QString &prefix, const QPointF& offset) insilmaril@746: { insilmaril@746: qWarning ("TreeItem::saveToDir called directly"); insilmaril@746: return QString(); insilmaril@746: } insilmaril@746: insilmaril@746: insilmaril@746: /* insilmaril@746: void TreeItem::copy (OrnamentedObj* other) //FIXME-2 insilmaril@746: insilmaril@746: { insilmaril@746: note.copy (other->note); insilmaril@746: model=other->model; insilmaril@746: } insilmaril@746: */ insilmaril@746: insilmaril@746: void TreeItem::setModel (VymModel *m) insilmaril@746: { insilmaril@746: model=m; insilmaril@746: } insilmaril@746: insilmaril@746: VymModel* TreeItem::getModel () insilmaril@746: { insilmaril@746: return model; insilmaril@746: } insilmaril@741: insilmaril@725: void TreeItem::appendChild(TreeItem *item) insilmaril@725: { insilmaril@725: childItems.append(item); insilmaril@746: item->setModel (model); insilmaril@741: insilmaril@741: if (item->type == Branch || item->type ==MapCenter) insilmaril@738: { insilmaril@741: if (branchCounter==0) insilmaril@738: branchOffset=childItems.count()-1; insilmaril@741: branchCounter++; insilmaril@738: } insilmaril@725: } insilmaril@725: insilmaril@727: void TreeItem::removeChild(int row) insilmaril@727: { insilmaril@745: if (row<0 || row > childItems.size()-1) insilmaril@745: qWarning ("TreeItem::removeChild tried to remove non existing item?!\n"); insilmaril@745: else insilmaril@727: { insilmaril@745: cout << "TI::removeChild this="<=0 && n0) insilmaril@738: return getBranchNum (branchOffset); insilmaril@738: else insilmaril@738: return NULL; insilmaril@738: } insilmaril@738: insilmaril@738: TreeItem* TreeItem::getLastBranch() insilmaril@738: { insilmaril@741: if (branchCounter>0) insilmaril@741: return getBranchNum (branchOffset + branchCounter-1); insilmaril@738: else insilmaril@738: return NULL; insilmaril@738: } insilmaril@738: insilmaril@738: insilmaril@738: TreeItem* TreeItem::getBranchNum(const int &n) insilmaril@738: { insilmaril@741: if (branchCounter>0) insilmaril@738: return getChildNum (branchOffset + n); insilmaril@738: else insilmaril@738: return NULL; insilmaril@738: } insilmaril@738: insilmaril@738: void TreeItem::setLastSelectedBranch() insilmaril@738: { insilmaril@738: if (parentItem) insilmaril@738: parentItem->lastSelectedBranchNum=parentItem->childItems.indexOf(this); insilmaril@738: } insilmaril@738: insilmaril@738: TreeItem* TreeItem::getLastSelectedBranch() insilmaril@738: { insilmaril@738: return getBranchNum (lastSelectedBranchNum); insilmaril@738: } insilmaril@738: insilmaril@746: LinkableMapObj* TreeItem::getLMO() // FIXME-3 VM should be unnecessary in the end insilmaril@726: { insilmaril@726: return lmo; insilmaril@726: } insilmaril@726: insilmaril@726: void TreeItem::setLMO(LinkableMapObj *l) insilmaril@726: { insilmaril@726: lmo=l; insilmaril@726: } insilmaril@726: