diff -r ffb95cd03156 -r 8c028a5d9083 treeitem.cpp --- a/treeitem.cpp Thu Apr 30 11:52:49 2009 +0000 +++ b/treeitem.cpp Fri May 01 10:30:29 2009 +0000 @@ -52,6 +52,9 @@ branchCounter=0; lastSelectedBranchNum=-1; + imageOffset=0; + imageCounter=0; + note.setNote(""); // note.setFontHint (textEditor->getFontHintDefault() ); //FIXME-2 // isNoteInEditor=false; @@ -198,7 +201,7 @@ case Undefined: return -1; case MapCenter: return parentItem->childItems.indexOf (this) - branchOffset; case Branch: return parentItem->childItems.indexOf (this) - branchOffset; - case Image: return -1; // FIXME-2 + case Image: return parentItem->childItems.indexOf (this) - imageOffset; default: return -1; } } @@ -209,9 +212,9 @@ switch (item->getType()) { case Undefined: return -1; - case MapCenter: return childItems.indexOf (this) - branchOffset; - case Branch: return childItems.indexOf (this) - branchOffset; - case Image: return -1; // FIXME-2 + case MapCenter: return childItems.indexOf (item) - branchOffset; + case Branch: return childItems.indexOf (item) - branchOffset; + case Image: return parentItem->childItems.indexOf (item) - imageOffset; default: return -1; } } @@ -351,6 +354,16 @@ return NULL; } +BranchItem* TreeItem::getNextBranch(BranchItem *currentBranch) +{ + if (!currentBranch) return NULL; + int n=num (currentBranch)+1; + if (n