More moving from BranchObj to BranchItem
authorinsilmaril
Thu Apr 02 09:46:29 2009 +0000 (2009-04-02)
changeset 750ff3b01ce0960
parent 749 9ff332964015
child 751 7fa9b3164cbe
More moving from BranchObj to BranchItem
branchitem.cpp
branchitem.h
branchobj.cpp
branchobj.h
exports.cpp
exports.h
linkablemapobj.cpp
mapeditor.cpp
treeitem.cpp
treeitem.h
treemodel.cpp
treemodel.h
version.h
vymmodel.cpp
vymmodel.h
xml-freemind.cpp
xml-freemind.h
     1.1 --- a/branchitem.cpp	Wed Apr 01 15:06:57 2009 +0000
     1.2 +++ b/branchitem.cpp	Thu Apr 02 09:46:29 2009 +0000
     1.3 @@ -205,4 +205,8 @@
     1.4  	}	
     1.5  }
     1.6  
     1.7 +BranchObj* BranchItem::getBranchObj()	// FIXME-3 only for transition BO->BI
     1.8 +{
     1.9 +	return (BranchObj*)lmo;
    1.10 +}
    1.11  
     2.1 --- a/branchitem.h	Wed Apr 01 15:06:57 2009 +0000
     2.2 +++ b/branchitem.h	Thu Apr 02 09:46:29 2009 +0000
     2.3 @@ -4,6 +4,7 @@
     2.4  #include "treeitem.h"
     2.5  
     2.6  class QString;
     2.7 +class BranchObj;
     2.8  
     2.9  class BranchItem:public TreeItem
    2.10  {
    2.11 @@ -21,6 +22,7 @@
    2.12  	virtual void tmpUnscroll();				// unscroll scrolled parents temporary e.g. during "find" process
    2.13  	virtual void resetTmpUnscroll();		// scroll all tmp scrolled parents again e.g. when unselecting
    2.14  
    2.15 +	BranchObj* getBranchObj();	
    2.16  
    2.17  protected:	
    2.18  	bool scrolled;			// true if all children are scrolled and thus invisible
     3.1 --- a/branchobj.cpp	Wed Apr 01 15:06:57 2009 +0000
     3.2 +++ b/branchobj.cpp	Thu Apr 02 09:46:29 2009 +0000
     3.3 @@ -102,7 +102,7 @@
     3.4      OrnamentedObj::copy(other);
     3.5  
     3.6  	branch.clear();
     3.7 -	for (int i=0; i<other->branch.size(); ++i)
     3.8 +	for (int i=0; i<other->treeItem->branchCount(); ++i)
     3.9  		// Make deep copy of b
    3.10  		// Because addBranch again calls copy for the children,
    3.11  		// Those will get a deep copy, too
    3.12 @@ -182,7 +182,7 @@
    3.13  		{
    3.14  			// new parent is just a branch, link to it
    3.15  			QRectF t=o->getBBoxSizeWithChildren();
    3.16 -			if (o->getLastBranch())
    3.17 +			if (o->getTreeItem()->getLastBranch())
    3.18  				y=t.y() + t.height() ;
    3.19  			else
    3.20  				y=t.y();
    3.21 @@ -242,7 +242,7 @@
    3.22  		if (! bi->isScrolled() && (bi->depth() < toDepth))
    3.23  		{
    3.24  			// Now go recursivly through all children
    3.25 -			for (i=0; i<branch.size(); ++i)
    3.26 +			for (i=0; i<treeItem->branchCount(); ++i)
    3.27  				branch.at(i)->setVisibility (v,toDepth);	
    3.28  		}
    3.29      } // depth <= toDepth	
    3.30 @@ -272,7 +272,7 @@
    3.31  void BranchObj::setColorSubtree(QColor col)
    3.32  {
    3.33  	setColor (col);
    3.34 -	for (int i=0; i<branch.size(); ++i)
    3.35 +	for (int i=0; i<treeItem->branchCount(); ++i)
    3.36  		branch.at(i)->setColorSubtree(col);
    3.37  }
    3.38  
    3.39 @@ -299,7 +299,7 @@
    3.40  void BranchObj::moveBy (double x, double y)
    3.41  {
    3.42  	OrnamentedObj::moveBy (x,y);
    3.43 -	for (int i=0; i<branch.size(); ++i)
    3.44 +	for (int i=0; i<treeItem->branchCount(); ++i)
    3.45  		branch.at(i)->moveBy (x,y);
    3.46      positionBBox();
    3.47  }
    3.48 @@ -424,7 +424,7 @@
    3.49  {
    3.50  	// Search branches
    3.51      LinkableMapObj *lmo;
    3.52 -	for (int i=0; i<branch.size(); ++i)
    3.53 +	for (int i=0; i<treeItem->branchCount(); ++i)
    3.54      {	
    3.55  		lmo=branch.at(i)->findMapObj(p, excludeLMO);
    3.56  		if (lmo != NULL) return lmo;
    3.57 @@ -450,7 +450,7 @@
    3.58  {
    3.59  	// Search branches
    3.60      LinkableMapObj *lmo;
    3.61 -	for (int i=0; i<branch.size(); ++i)
    3.62 +	for (int i=0; i<treeItem->branchCount(); ++i)
    3.63      {	
    3.64  		lmo=branch.at(i)->findID (sid);
    3.65  		if (lmo != NULL) return lmo;
    3.66 @@ -498,7 +498,7 @@
    3.67  	}	
    3.68  
    3.69  	// And take care of my children
    3.70 -	for (int i=0; i<branch.size(); ++i)
    3.71 +	for (int i=0; i<treeItem->branchCount(); ++i)
    3.72  		branch.at(i)->setHideTmp (mode);
    3.73  }
    3.74  
    3.75 @@ -579,7 +579,7 @@
    3.76  		s+=treeItem->getNoteObj().saveToDir();
    3.77  	
    3.78  	// Save branches
    3.79 -	for (int i=0; i<branch.size(); ++i)
    3.80 +	for (int i=0; i<treeItem->branchCount(); ++i)
    3.81  		s+=branch.at(i)->saveToDir(tmpdir,prefix,offset);
    3.82  
    3.83  	// Save XLinks
    3.84 @@ -742,7 +742,7 @@
    3.85  void BranchObj::savePosInAngle ()
    3.86  {
    3.87  	// Save position in angle
    3.88 -	for (int i=0; i<branch.size(); ++i)
    3.89 +	for (int i=0; i<treeItem->branchCount(); ++i)
    3.90  		branch.at(i)->angle=i;
    3.91  }
    3.92  
    3.93 @@ -898,9 +898,10 @@
    3.94  	requestReposition();
    3.95  }
    3.96  
    3.97 +/* FIXME-1 not needed
    3.98  BranchObj* BranchObj::getFirstBranch ()
    3.99  {
   3.100 -	if (branch.size()>0)
   3.101 +	if (treeItem->branchCount()>0)
   3.102  		return branch.first();
   3.103  	else
   3.104  		return NULL;
   3.105 @@ -908,7 +909,7 @@
   3.106  
   3.107  BranchObj* BranchObj::getLastBranch ()
   3.108  {
   3.109 -	if (branch.size()>0)
   3.110 +	if (treeItem->branchCount()>0)
   3.111  		return branch.last();
   3.112  	else
   3.113  		return NULL;
   3.114 @@ -916,20 +917,24 @@
   3.115  
   3.116  BranchObj* BranchObj::getBranchNum (int i)
   3.117  {
   3.118 -	if (i>=0 && i<branch.size())
   3.119 +	if (i>=0 && i<treeItem->branchCount())
   3.120  		return branch.at(i);
   3.121  	else	
   3.122  		return	NULL;
   3.123  }
   3.124 +*/
   3.125  
   3.126  bool BranchObj::canMoveBranchUp() 
   3.127  {
   3.128 +	/* FIXME-1 move to BranchItem
   3.129  	if (!parObj || depth==1) return false;
   3.130  	BranchObj* par=(BranchObj*)parObj;
   3.131 -	if (this==par->getFirstBranch())
   3.132 +	if (this==par->getTreeItem()->getFirstBranch())
   3.133  		return false;
   3.134  	else
   3.135  		return true;
   3.136 +		*/
   3.137 +return false;
   3.138  }
   3.139  
   3.140  BranchObj* BranchObj::moveBranchUp(BranchObj* bo1) // modify my childlist
   3.141 @@ -948,12 +953,15 @@
   3.142  
   3.143  bool BranchObj::canMoveBranchDown() 
   3.144  {
   3.145 +	/* FIXME-1 move to BranchItem
   3.146  	if (!parObj|| depth==1) return false;
   3.147  	BranchObj* par=(BranchObj*)parObj;
   3.148 -	if (this==par->getLastBranch())
   3.149 +	if (this==par->getTreeItem()->getLastBranch())
   3.150  		return false;
   3.151  	else
   3.152  		return true;
   3.153 +	*/
   3.154 +return false;	
   3.155  }
   3.156  
   3.157  BranchObj* BranchObj::moveBranchDown(BranchObj* bo1)// modify my childlist
   3.158 @@ -961,7 +969,7 @@
   3.159  	savePosInAngle();
   3.160      int i=branch.indexOf(bo1);
   3.161  	int j;
   3.162 -	if (i <branch.size())
   3.163 +	if (i <treeItem->branchCount())
   3.164  	{
   3.165  		j = i+1;
   3.166  		branch.at(i)->angle++;
   3.167 @@ -1111,7 +1119,7 @@
   3.168  		ref2.setY(ref.y() );	
   3.169  
   3.170      // Align the children depending on reference point 
   3.171 -	for (int i=0; i<branch.size(); ++i)
   3.172 +	for (int i=0; i<treeItem->branchCount(); ++i)
   3.173      {	
   3.174  		if (!branch.at(i)->isHidden())
   3.175  		{
   3.176 @@ -1160,7 +1168,7 @@
   3.177  void BranchObj::unsetAllRepositionRequests()
   3.178  {
   3.179  	repositionRequest=false;
   3.180 -	for (int i=0; i<branch.size(); ++i)
   3.181 +	for (int i=0; i<treeItem->branchCount(); ++i)
   3.182  		branch.at(i)->unsetAllRepositionRequests();
   3.183  }
   3.184  
   3.185 @@ -1193,7 +1201,7 @@
   3.186  
   3.187  	if ( ((BranchItem*)treeItem)->isScrolled() ) return r;
   3.188  
   3.189 -	for (int i=0; i<branch.size(); ++i)
   3.190 +	for (int i=0; i<treeItem->branchCount(); ++i)
   3.191  		if (!branch.at(i)->isHidden())
   3.192  			r=addBBox(branch.at(i)->getTotalBBox(),r);
   3.193  
   3.194 @@ -1251,7 +1259,7 @@
   3.195  	// sum of heights 
   3.196  	// maximum of widths 
   3.197  	// minimum of y
   3.198 -	for (int i=0; i<branch.size(); ++i)
   3.199 +	for (int i=0; i<treeItem->branchCount(); ++i)
   3.200  	{
   3.201  		if (!branch.at(i)->isHidden())
   3.202  		{
     4.1 --- a/branchobj.h	Wed Apr 01 15:06:57 2009 +0000
     4.2 +++ b/branchobj.h	Thu Apr 02 09:46:29 2009 +0000
     4.3 @@ -91,10 +91,6 @@
     4.4      virtual void removeBranch(BranchObj*);  
     4.5      virtual void removeBranchPtr (BranchObj*);  
     4.6  
     4.7 -    virtual BranchObj* getFirstBranch();
     4.8 -    virtual BranchObj* getLastBranch();
     4.9 -	virtual BranchObj* getBranchNum(int);
    4.10 -
    4.11      virtual bool canMoveBranchUp();
    4.12      virtual BranchObj* moveBranchUp(BranchObj*);
    4.13      virtual bool canMoveBranchDown();
     5.1 --- a/exports.cpp	Wed Apr 01 15:06:57 2009 +0000
     5.2 +++ b/exports.cpp	Thu Apr 02 09:46:29 2009 +0000
     5.3 @@ -1,4 +1,6 @@
     5.4  #include "exports.h"
     5.5 +
     5.6 +#include "branchitem.h"
     5.7  #include "file.h"
     5.8  #include "linkablemapobj.h"
     5.9  #include "misc.h"
    5.10 @@ -143,8 +145,8 @@
    5.11  	QString s;
    5.12  	QString curIndent;
    5.13  	int i;
    5.14 -	TreeItem *cur=NULL;
    5.15 -	TreeItem *prev=NULL;
    5.16 +	BranchItem *cur=NULL;
    5.17 +	BranchItem *prev=NULL;
    5.18  	int d;
    5.19  
    5.20  	BranchObj *bo;
    5.21 @@ -229,8 +231,8 @@
    5.22  	QString curIndent("");
    5.23  	int i;
    5.24  	BranchObj *bo;
    5.25 -	TreeItem *cur=NULL;
    5.26 -	TreeItem *prev=NULL;
    5.27 +	BranchItem *cur=NULL;
    5.28 +	BranchItem *prev=NULL;
    5.29  	int d;
    5.30  	cur=model->next (cur,prev,d);
    5.31  	while (cur) 
    5.32 @@ -389,8 +391,8 @@
    5.33    // QString curIndent("");
    5.34    // int i;
    5.35    BranchObj *bo;
    5.36 -  TreeItem *cur=NULL;
    5.37 -  TreeItem *prev=NULL;
    5.38 +  BranchItem *cur=NULL;
    5.39 +  BranchItem *prev=NULL;
    5.40    int d;
    5.41    model->next(cur,prev,d);
    5.42    while (cur) 
    5.43 @@ -439,32 +441,30 @@
    5.44  {
    5.45  }	
    5.46  
    5.47 -QString ExportOO::buildList (BranchObj *current)
    5.48 +QString ExportOO::buildList (TreeItem *current)
    5.49  {
    5.50      QString r;
    5.51 -    BranchObj *bo;
    5.52  
    5.53      uint i=0;
    5.54 -    bo=current->getFirstBranch();
    5.55 -	TreeItem *ti=bo->getTreeItem();
    5.56 -    if (bo)
    5.57 +	BranchItem *bi=current->getFirstBranch();
    5.58 +	if (bi)
    5.59      {
    5.60 -		if (!bo->hasHiddenExportParent() )
    5.61 +		if (true) //if (!bo->hasHiddenExportParent() )	// FIXME-2 use BranchItem...
    5.62  		{
    5.63  			// Start list
    5.64  			r+="<text:list text:style-name=\"vym-list\">\n";
    5.65 -			while (bo)
    5.66 +			while (bi)
    5.67  			{
    5.68  				r+="<text:list-item><text:p >";
    5.69 -				r+=quotemeta(bo->getHeading());
    5.70 +				r+=quotemeta(bi->getHeading());
    5.71  				// If necessary, write note
    5.72 -				if (!ti->getNoteObj().isEmpty())
    5.73 -					r+=ti->getNoteOpenDoc();
    5.74 +				if (!bi->getNoteObj().isEmpty())
    5.75 +					r+=bi->getNoteOpenDoc();
    5.76  				r+="</text:p>";
    5.77 -				r+=buildList (bo);	// recursivly add deeper branches
    5.78 +				r+=buildList (bi);	// recursivly add deeper branches
    5.79  				r+="</text:list-item>\n";
    5.80  				i++;
    5.81 -				bo=current->getBranchNum(i);
    5.82 +				bi=current->getBranchNum(i);
    5.83  			}
    5.84  			r+="</text:list>\n";
    5.85  		}
    5.86 @@ -514,7 +514,7 @@
    5.87  			// Add page with list of items
    5.88  			onePage=pageTemplate;
    5.89  			onePage.replace ("<!-- INSERT PAGE HEADING -->", quotemeta (pagesBO->getHeading() ) );
    5.90 -			list=buildList (pagesBO);
    5.91 +			list=buildList (pagesBO->getTreeItem() );  
    5.92  			onePage.replace ("<!-- INSERT LIST -->", list);
    5.93  			allPages+=onePage;
    5.94  			j++;
     6.1 --- a/exports.h	Wed Apr 01 15:06:57 2009 +0000
     6.2 +++ b/exports.h	Thu Apr 02 09:46:29 2009 +0000
     6.3 @@ -106,7 +106,7 @@
     6.4  	void exportPresentation();
     6.5  	bool setConfigFile (const QString &);
     6.6  private:
     6.7 -	QString buildList (BranchObj*);
     6.8 +	QString buildList (TreeItem *);
     6.9  	bool useSections;
    6.10  	QString configFile;
    6.11  	QString configDir;
     7.1 --- a/linkablemapobj.cpp	Wed Apr 01 15:06:57 2009 +0000
     7.2 +++ b/linkablemapobj.cpp	Thu Apr 02 09:46:29 2009 +0000
     7.3 @@ -580,7 +580,7 @@
     7.4      return parObj;
     7.5  }
     7.6  
     7.7 -LinkableMapObj* LinkableMapObj::findObjBySelect (QString s)
     7.8 +LinkableMapObj* LinkableMapObj::findObjBySelect (QString s)	// FIXME-2 port to TreeItem...
     7.9  {
    7.10  	LinkableMapObj *lmo=this;
    7.11  	QString part;
    7.12 @@ -599,7 +599,7 @@
    7.13  				break;
    7.14  		} else
    7.15  			if (typ=="bo:")
    7.16 -				lmo=((BranchObj*)lmo)->getBranchNum (num.toInt());
    7.17 +				lmo=lmo->getTreeItem()->getBranchObjNum (num.toInt());
    7.18  			else
    7.19  				if (typ=="fi:")
    7.20  					lmo=((BranchObj*)lmo)->getFloatImageNum (num.toUInt());
     8.1 --- a/mapeditor.cpp	Wed Apr 01 15:06:57 2009 +0000
     8.2 +++ b/mapeditor.cpp	Thu Apr 02 09:46:29 2009 +0000
     8.3 @@ -6,6 +6,7 @@
     8.4  
     8.5  #include <QObject>
     8.6  
     8.7 +#include "branchitem.h"
     8.8  #include "mainwindow.h"
     8.9  #include "misc.h"
    8.10  #include "warningdialog.h"
    8.11 @@ -283,8 +284,8 @@
    8.12  
    8.13  void MapEditor::testFunction1()
    8.14  {
    8.15 -	TreeItem *cur=NULL;
    8.16 -	TreeItem *prev=NULL;
    8.17 +	BranchItem *cur=NULL;
    8.18 +	BranchItem *prev=NULL;
    8.19  	int d;
    8.20  	cout << "ME::testFunction1  starting to walk the map...\n";
    8.21  	while (model->next (cur,prev,d) )
    8.22 @@ -496,7 +497,7 @@
    8.23  		if (!foname.isEmpty())
    8.24  		{
    8.25  			// systemFlag clicked
    8.26 -			model->selectInt (lmo);
    8.27 +			model->select (lmo);	// FIXME-3 was selectInt
    8.28  			if (foname=="url") 
    8.29  			{
    8.30  				if (e->state() & Qt::ControlModifier)
    8.31 @@ -585,13 +586,14 @@
    8.32  			if (mainWindow->getModMode()==Main::ModModeCopy &&
    8.33  				e->state() & Qt::ControlModifier)
    8.34  			{
    8.35 -				BranchObj *bo=model->getSelectedBranch();
    8.36 -				if (bo)
    8.37 +				BranchItem *bi=model->getSelectedBranchItem();
    8.38 +				if (bi)
    8.39  				{
    8.40  					copyingObj=true;
    8.41 -					bo->addBranch (model->getSelectedBranch());
    8.42 +					//FIXME-2   TreeItem::addBranch (BranchItem still missing) 
    8.43 +					//bi->addBranch (model->getSelectedBranchItem());
    8.44  					model->unselect();
    8.45 -					model->select(bo->getLastBranch());
    8.46 +					model->select(bi->getLastBranch());
    8.47  					model->reposition();
    8.48  				}
    8.49  			} 
     9.1 --- a/treeitem.cpp	Wed Apr 01 15:06:57 2009 +0000
     9.2 +++ b/treeitem.cpp	Thu Apr 02 09:46:29 2009 +0000
     9.3 @@ -3,8 +3,10 @@
     9.4  
     9.5  #include <QStringList>
     9.6  
     9.7 +#include "treeitem.h"
     9.8 +
     9.9  #include "branchobj.h"
    9.10 -#include "treeitem.h"
    9.11 +#include "branchitem.h"
    9.12  #include "vymmodel.h"
    9.13  
    9.14  TreeItem::TreeItem(const QList<QVariant> &data, TreeItem *parent)
    9.15 @@ -261,7 +263,7 @@
    9.16  		return NULL;
    9.17  }
    9.18  
    9.19 -TreeItem* TreeItem::getFirstBranch()
    9.20 +BranchItem* TreeItem::getFirstBranch()
    9.21  {
    9.22  	if (branchCounter>0)
    9.23  		return getBranchNum (branchOffset);
    9.24 @@ -269,7 +271,7 @@
    9.25  		return NULL;
    9.26  }
    9.27  
    9.28 -TreeItem* TreeItem::getLastBranch()
    9.29 +BranchItem* TreeItem::getLastBranch()
    9.30  {
    9.31  	if (branchCounter>0)
    9.32  		return getBranchNum (branchOffset + branchCounter-1);
    9.33 @@ -278,14 +280,23 @@
    9.34  }
    9.35  
    9.36  
    9.37 -TreeItem* TreeItem::getBranchNum(const int &n)
    9.38 +BranchItem* TreeItem::getBranchNum(const int &n)
    9.39  {
    9.40  	if (branchCounter>0)
    9.41 -		return getChildNum (branchOffset + n);
    9.42 +		return (BranchItem*)getChildNum (branchOffset + n);
    9.43  	else
    9.44  		return NULL;
    9.45  }
    9.46  
    9.47 +BranchObj* TreeItem::getBranchObjNum(const int &n)
    9.48 +{
    9.49 +	if (branchCounter>0)
    9.50 +	{
    9.51 +		return (BranchObj*)(getChildNum (branchOffset+n)->lmo);
    9.52 +	} else
    9.53 +		return NULL;
    9.54 +}
    9.55 +
    9.56  void TreeItem::setLastSelectedBranch()
    9.57  {
    9.58  	if (parentItem)
    10.1 --- a/treeitem.h	Wed Apr 01 15:06:57 2009 +0000
    10.2 +++ b/treeitem.h	Thu Apr 02 09:46:29 2009 +0000
    10.3 @@ -8,6 +8,8 @@
    10.4  #include "xmlobj.h"
    10.5  
    10.6  class LinkableMapObj;
    10.7 +class BranchObj;
    10.8 +class BranchItem;
    10.9  class VymModel;
   10.10  
   10.11  class TreeItem:public XMLObj
   10.12 @@ -70,9 +72,10 @@
   10.13  
   10.14  	// Navigation and selection
   10.15  	TreeItem* getChildNum(const int &n);
   10.16 -	TreeItem* getFirstBranch();
   10.17 -	TreeItem* getLastBranch();
   10.18 -	TreeItem* getBranchNum(const int &n);
   10.19 +	BranchItem* getFirstBranch();
   10.20 +	BranchItem* getLastBranch();
   10.21 +	BranchItem* getBranchNum(const int &n);
   10.22 +	BranchObj* getBranchObjNum(const int &n);
   10.23  	void setLastSelectedBranch();
   10.24  	TreeItem* getLastSelectedBranch();
   10.25  
    11.1 --- a/treemodel.cpp	Wed Apr 01 15:06:57 2009 +0000
    11.2 +++ b/treemodel.cpp	Thu Apr 02 09:46:29 2009 +0000
    11.3 @@ -3,6 +3,7 @@
    11.4  #include <iostream>
    11.5  using namespace std;
    11.6  
    11.7 +#include "branchitem.h"
    11.8  #include "treeitem.h"
    11.9  #include "treemodel.h"
   11.10  
   11.11 @@ -108,11 +109,11 @@
   11.12          return rootItem->columnCount();
   11.13  }
   11.14  
   11.15 -TreeItem* TreeModel::next(TreeItem* &current, TreeItem* &previous, int &d0)
   11.16 +BranchItem* TreeModel::next(BranchItem* &current, BranchItem* &previous, int &d0)
   11.17  {
   11.18  	// Walk through map beginning at current with previous==0
   11.19  	// Start at root, if current==NULL
   11.20 -	if (!current) current=rootItem;
   11.21 +	if (!current) current=(BranchItem*)rootItem;
   11.22  
   11.23  	// Are we just beginning to walk the map?
   11.24  	if (!previous)
   11.25 @@ -143,7 +144,7 @@
   11.26  	// Coming from below,
   11.27  	// Trying to go down again to siblings
   11.28  
   11.29 -	TreeItem *sibling=current->getBranchNum (previous->num()+1);
   11.30 +	BranchItem *sibling=current->getBranchNum (previous->num()+1);
   11.31  
   11.32  	if (sibling)
   11.33  	{	
   11.34 @@ -155,7 +156,7 @@
   11.35  
   11.36  	// Go up and try to find siblings of current
   11.37  	previous=current;
   11.38 -	current=current->parent();
   11.39 +	current=(BranchItem*)current->parent();
   11.40  
   11.41  	// Check if we still can go somewhere
   11.42  	if (!current) return current;
    12.1 --- a/treemodel.h	Wed Apr 01 15:06:57 2009 +0000
    12.2 +++ b/treemodel.h	Thu Apr 02 09:46:29 2009 +0000
    12.3 @@ -6,6 +6,7 @@
    12.4  #include <QVariant>
    12.5  
    12.6  
    12.7 +class BranchItem;
    12.8  class TreeItem;
    12.9  class LinkableMapObj;
   12.10  
   12.11 @@ -27,7 +28,7 @@
   12.12      int rowCount(const QModelIndex &parent = QModelIndex()) const;
   12.13      int columnCount(const QModelIndex &parent = QModelIndex()) const;
   12.14  
   12.15 -	TreeItem* next(TreeItem* &current, TreeItem* &previous, int &d0);
   12.16 +	BranchItem* next(BranchItem* &current, BranchItem* &previous, int &d0);
   12.17  
   12.18  	bool insertRows ( int row, int count, 
   12.19  				const QModelIndex & parent = QModelIndex() ); 
    13.1 --- a/version.h	Wed Apr 01 15:06:57 2009 +0000
    13.2 +++ b/version.h	Thu Apr 02 09:46:29 2009 +0000
    13.3 @@ -7,7 +7,7 @@
    13.4  #define __VYM_VERSION "1.13.0"
    13.5  //#define __VYM_CODENAME "Codename: RC-1"
    13.6  #define __VYM_CODENAME "Codename: development version"
    13.7 -#define __VYM_BUILD_DATE "2009-03-31"
    13.8 +#define __VYM_BUILD_DATE "2009-04-02"
    13.9  
   13.10  
   13.11  bool checkVersion(const QString &);
    14.1 --- a/vymmodel.cpp	Wed Apr 01 15:06:57 2009 +0000
    14.2 +++ b/vymmodel.cpp	Thu Apr 02 09:46:29 2009 +0000
    14.3 @@ -670,6 +670,7 @@
    14.4  
    14.5  void VymModel::addMapInsertInt (const QString &path, int pos)
    14.6  {
    14.7 +/* FIXME-2  addMapInsertInt not ported yet
    14.8  	BranchObj *sel=getSelectedBranch();
    14.9  	if (sel)
   14.10  	{
   14.11 @@ -702,6 +703,7 @@
   14.12  		} else	
   14.13  			QMessageBox::critical( 0, tr( "Critical Error" ), tr("Could not read %1").arg(path));
   14.14  	}		
   14.15 +*/
   14.16  }
   14.17  
   14.18  FloatImageObj* VymModel::loadFloatImageInt (QString fn)
   14.19 @@ -817,6 +819,7 @@
   14.20  
   14.21  void VymModel::importDirInt(BranchObj *dst, QDir d)
   14.22  {
   14.23 +/* FIXME-2 importDirInt not ported yet
   14.24  	BranchObj *bo=getSelectedBranch();
   14.25  	if (bo)
   14.26  	{
   14.27 @@ -861,6 +864,7 @@
   14.28  				bo->setVymLink (fi.filePath());
   14.29  		}	
   14.30  	}		
   14.31 +*/
   14.32  }
   14.33  
   14.34  void VymModel::importDirInt (const QString &s)
   14.35 @@ -1470,8 +1474,8 @@
   14.36  int VymModel::branchCount()	// FIXME-2 Optimize this: use internal counter instead of going through whole map each time...
   14.37  {
   14.38  	int c=0;
   14.39 -	TreeItem *cur=NULL;
   14.40 -	TreeItem *prev=NULL;
   14.41 +	BranchItem *cur=NULL;
   14.42 +	BranchItem *prev=NULL;
   14.43  	int d;
   14.44  	next(cur,prev,d);
   14.45  	while (cur) 
   14.46 @@ -1981,10 +1985,10 @@
   14.47  	select (mco);
   14.48  }
   14.49  
   14.50 -void VymModel::createBranch()
   14.51 -{
   14.52 -	addNewBranchInt (-2);
   14.53 -	return;
   14.54 +BranchItem* VymModel::createBranch()	// FIXME-2 switcht addNewBrancInt to BranchItem...
   14.55 +{
   14.56 +	BranchObj* bo=addNewBranchInt (-2);
   14.57 +	return (BranchItem*)bo->getTreeItem();
   14.58  }
   14.59  
   14.60  TreeItem* VymModel::createImage()
   14.61 @@ -2735,7 +2739,8 @@
   14.62  void VymModel::parseAtom(const QString &atom)
   14.63  {
   14.64  	BranchObj *selb=getSelectedBranch();
   14.65 -	BranchItem *bi=getSelectedBranchItem();
   14.66 +	TreeItem* selti=getSelectedItem();
   14.67 +	BranchItem *selbi=getSelectedBranchItem();
   14.68  	QString s,t;
   14.69  	double x,y;
   14.70  	int n;
   14.71 @@ -2749,7 +2754,7 @@
   14.72  	/////////////////////////////////////////////////////////////////////
   14.73  	if (com=="addBranch")
   14.74  	{
   14.75 -		if (selection.isEmpty())
   14.76 +		if (!selti)
   14.77  		{
   14.78  			parser.setError (Aborted,"Nothing selected");
   14.79  		} else if (! selb )
   14.80 @@ -2773,7 +2778,7 @@
   14.81  	/////////////////////////////////////////////////////////////////////
   14.82  	} else if (com=="addBranchBefore")
   14.83  	{
   14.84 -		if (selection.isEmpty())
   14.85 +		if (!selti)
   14.86  		{
   14.87  			parser.setError (Aborted,"Nothing selected");
   14.88  		} else if (! selb )
   14.89 @@ -2801,7 +2806,7 @@
   14.90  	/////////////////////////////////////////////////////////////////////
   14.91  	} else if (com==QString("addMapReplace"))
   14.92  	{
   14.93 -		if (selection.isEmpty())
   14.94 +		if (!selti)
   14.95  		{
   14.96  			parser.setError (Aborted,"Nothing selected");
   14.97  		} else if (! selb )
   14.98 @@ -2817,7 +2822,7 @@
   14.99  	/////////////////////////////////////////////////////////////////////
  14.100  	} else if (com==QString("addMapInsert"))
  14.101  	{
  14.102 -		if (selection.isEmpty())
  14.103 +		if (!selti)
  14.104  		{
  14.105  			parser.setError (Aborted,"Nothing selected");
  14.106  		} else if (! selb )
  14.107 @@ -2836,7 +2841,7 @@
  14.108  	/////////////////////////////////////////////////////////////////////
  14.109  	} else if (com=="clearFlags")
  14.110  	{
  14.111 -		if (selection.isEmpty() )
  14.112 +		if (!selti )
  14.113  		{
  14.114  			parser.setError (Aborted,"Nothing selected");
  14.115  		} else if (! selb )
  14.116 @@ -2850,7 +2855,7 @@
  14.117  	/////////////////////////////////////////////////////////////////////
  14.118  	} else if (com=="colorBranch")
  14.119  	{
  14.120 -		if (selection.isEmpty())
  14.121 +		if (!selti)
  14.122  		{
  14.123  			parser.setError (Aborted,"Nothing selected");
  14.124  		} else if (! selb )
  14.125 @@ -2864,7 +2869,7 @@
  14.126  	/////////////////////////////////////////////////////////////////////
  14.127  	} else if (com=="colorSubtree")
  14.128  	{
  14.129 -		if (selection.isEmpty())
  14.130 +		if (!selti)
  14.131  		{
  14.132  			parser.setError (Aborted,"Nothing selected");
  14.133  		} else if (! selb )
  14.134 @@ -2878,7 +2883,7 @@
  14.135  	/////////////////////////////////////////////////////////////////////
  14.136  	} else if (com=="copy")
  14.137  	{
  14.138 -		if (selection.isEmpty())
  14.139 +		if (!selti)
  14.140  		{
  14.141  			parser.setError (Aborted,"Nothing selected");
  14.142  		} else if (! selb )
  14.143 @@ -2891,7 +2896,7 @@
  14.144  	/////////////////////////////////////////////////////////////////////
  14.145  	} else if (com=="cut")
  14.146  	{
  14.147 -		if (selection.isEmpty())
  14.148 +		if (!selti)
  14.149  		{
  14.150  			parser.setError (Aborted,"Nothing selected");
  14.151  		} else if ( selectionType()!=TreeItem::Branch  && 
  14.152 @@ -2906,7 +2911,7 @@
  14.153  	/////////////////////////////////////////////////////////////////////
  14.154  	} else if (com=="delete")
  14.155  	{
  14.156 -		if (selection.isEmpty())
  14.157 +		if (!selti)
  14.158  		{
  14.159  			parser.setError (Aborted,"Nothing selected");
  14.160  		} 
  14.161 @@ -2922,7 +2927,7 @@
  14.162  	/////////////////////////////////////////////////////////////////////
  14.163  	} else if (com=="deleteKeepChildren")
  14.164  	{
  14.165 -		if (selection.isEmpty())
  14.166 +		if (!selti)
  14.167  		{
  14.168  			parser.setError (Aborted,"Nothing selected");
  14.169  		} else if (! selb )
  14.170 @@ -2935,7 +2940,7 @@
  14.171  	/////////////////////////////////////////////////////////////////////
  14.172  	} else if (com=="deleteChildren")
  14.173  	{
  14.174 -		if (selection.isEmpty())
  14.175 +		if (!selti)
  14.176  		{
  14.177  			parser.setError (Aborted,"Nothing selected");
  14.178  		} else if (! selb)
  14.179 @@ -3013,7 +3018,7 @@
  14.180  	/////////////////////////////////////////////////////////////////////
  14.181  	} else if (com=="importDir")
  14.182  	{
  14.183 -		if (selection.isEmpty())
  14.184 +		if (!selti)
  14.185  		{
  14.186  			parser.setError (Aborted,"Nothing selected");
  14.187  		} else if (! selb )
  14.188 @@ -3027,7 +3032,7 @@
  14.189  	/////////////////////////////////////////////////////////////////////
  14.190  	} else if (com=="linkTo")
  14.191  	{
  14.192 -		if (selection.isEmpty())
  14.193 +		if (!selti)
  14.194  		{
  14.195  			parser.setError (Aborted,"Nothing selected");
  14.196  		} else if ( selb)
  14.197 @@ -3087,7 +3092,7 @@
  14.198  	/////////////////////////////////////////////////////////////////////
  14.199  	} else if (com=="loadImage")
  14.200  	{
  14.201 -		if (selection.isEmpty())
  14.202 +		if (!selti)
  14.203  		{
  14.204  			parser.setError (Aborted,"Nothing selected");
  14.205  		} else if (! selb )
  14.206 @@ -3101,7 +3106,7 @@
  14.207  	/////////////////////////////////////////////////////////////////////
  14.208  	} else if (com=="moveBranchUp")
  14.209  	{
  14.210 -		if (selection.isEmpty() )
  14.211 +		if (!selti )
  14.212  		{
  14.213  			parser.setError (Aborted,"Nothing selected");
  14.214  		} else if (! selb )
  14.215 @@ -3114,7 +3119,7 @@
  14.216  	/////////////////////////////////////////////////////////////////////
  14.217  	} else if (com=="moveBranchDown")
  14.218  	{
  14.219 -		if (selection.isEmpty() )
  14.220 +		if (!selti )
  14.221  		{
  14.222  			parser.setError (Aborted,"Nothing selected");
  14.223  		} else if (! selb )
  14.224 @@ -3127,7 +3132,7 @@
  14.225  	/////////////////////////////////////////////////////////////////////
  14.226  	} else if (com=="move")
  14.227  	{
  14.228 -		if (selection.isEmpty() )
  14.229 +		if (!selti )
  14.230  		{
  14.231  			parser.setError (Aborted,"Nothing selected");
  14.232  		} else if ( selectionType()!=TreeItem::Branch  && 
  14.233 @@ -3147,7 +3152,7 @@
  14.234  	/////////////////////////////////////////////////////////////////////
  14.235  	} else if (com=="moveRel")
  14.236  	{
  14.237 -		if (selection.isEmpty() )
  14.238 +		if (!selti )
  14.239  		{
  14.240  			parser.setError (Aborted,"Nothing selected");
  14.241  		} else if ( selectionType()!=TreeItem::Branch  && 
  14.242 @@ -3170,7 +3175,7 @@
  14.243  	/////////////////////////////////////////////////////////////////////
  14.244  	} else if (com=="paste")
  14.245  	{
  14.246 -		if (selection.isEmpty() )
  14.247 +		if (!selti )
  14.248  		{
  14.249  			parser.setError (Aborted,"Nothing selected");
  14.250  		} else if (! selb )
  14.251 @@ -3184,7 +3189,7 @@
  14.252  	/////////////////////////////////////////////////////////////////////
  14.253  	} else if (com=="qa")
  14.254  	{
  14.255 -		if (selection.isEmpty() )
  14.256 +		if (!selti )
  14.257  		{
  14.258  			parser.setError (Aborted,"Nothing selected");
  14.259  		} else if (! selb )
  14.260 @@ -3266,15 +3271,15 @@
  14.261  	/////////////////////////////////////////////////////////////////////
  14.262  	} else if (com=="scroll")
  14.263  	{
  14.264 -		if (selection.isEmpty() )
  14.265 +		if (!selti)
  14.266  		{
  14.267  			parser.setError (Aborted,"Nothing selected");
  14.268 -		} else if (! selb )
  14.269 +		} else if (! selbi )
  14.270  		{				  
  14.271  			parser.setError (Aborted,"Type of selection is not a branch");
  14.272  		} else if (parser.checkParCount(0))
  14.273  		{	
  14.274 -			if (!scrollBranch (bi))	
  14.275 +			if (!scrollBranch (selbi))	
  14.276  				parser.setError (Aborted,"Could not scroll branch");
  14.277  		}	
  14.278  	/////////////////////////////////////////////////////////////////////
  14.279 @@ -3288,7 +3293,7 @@
  14.280  	/////////////////////////////////////////////////////////////////////
  14.281  	} else if (com=="selectLastBranch")
  14.282  	{
  14.283 -		if (selection.isEmpty() )
  14.284 +		if (!selti )
  14.285  		{
  14.286  			parser.setError (Aborted,"Nothing selected");
  14.287  		} else if (! selb )
  14.288 @@ -3296,16 +3301,16 @@
  14.289  			parser.setError (Aborted,"Type of selection is not a branch");
  14.290  		} else if (parser.checkParCount(0))
  14.291  		{	
  14.292 -			BranchObj *bo=selb->getLastBranch();
  14.293 -			if (!bo)
  14.294 +			BranchItem *bi=selbi->getLastBranch();
  14.295 +			if (!bi)
  14.296  				parser.setError (Aborted,"Could not select last branch");
  14.297 -			selectInt (bo);	
  14.298 +			select (bi);		// FIXME-3 was selectInt
  14.299  				
  14.300  		}	
  14.301  	/////////////////////////////////////////////////////////////////////
  14.302  	} else if (com=="selectLastImage")
  14.303  	{
  14.304 -		if (selection.isEmpty() )
  14.305 +		if (!selti )
  14.306  		{
  14.307  			parser.setError (Aborted,"Nothing selected");
  14.308  		} else if (! selb )
  14.309 @@ -3316,7 +3321,7 @@
  14.310  			FloatImageObj *fio=selb->getLastFloatImage();
  14.311  			if (!fio)
  14.312  				parser.setError (Aborted,"Could not select last image");
  14.313 -			selectInt (fio);	
  14.314 +			select (fio);		// FIXME-3 was selectInt
  14.315  				
  14.316  		}	
  14.317  	/////////////////////////////////////////////////////////////////////
  14.318 @@ -3409,7 +3414,7 @@
  14.319  	/////////////////////////////////////////////////////////////////////
  14.320  	} else if (com=="setMapBackgroundColor")
  14.321  	{
  14.322 -		if (selection.isEmpty() )
  14.323 +		if (!selti )
  14.324  		{
  14.325  			parser.setError (Aborted,"Nothing selected");
  14.326  		} else if (! getSelectedBranch() )
  14.327 @@ -3423,7 +3428,7 @@
  14.328  	/////////////////////////////////////////////////////////////////////
  14.329  	} else if (com=="setMapDefLinkColor")
  14.330  	{
  14.331 -		if (selection.isEmpty() )
  14.332 +		if (!selti )
  14.333  		{
  14.334  			parser.setError (Aborted,"Nothing selected");
  14.335  		} else if (! selb )
  14.336 @@ -3445,7 +3450,7 @@
  14.337  	/////////////////////////////////////////////////////////////////////
  14.338  	} else if (com=="setHeading")
  14.339  	{
  14.340 -		if (selection.isEmpty() )
  14.341 +		if (!selti )
  14.342  		{
  14.343  			parser.setError (Aborted,"Nothing selected");
  14.344  		} else if (! selb )
  14.345 @@ -3460,7 +3465,7 @@
  14.346  	/////////////////////////////////////////////////////////////////////
  14.347  	} else if (com=="setHideExport")
  14.348  	{
  14.349 -		if (selection.isEmpty() )
  14.350 +		if (!selti )
  14.351  		{
  14.352  			parser.setError (Aborted,"Nothing selected");
  14.353  		} else if (selectionType()!=TreeItem::Branch && selectionType() != TreeItem::MapCenter &&selectionType()!=TreeItem::Image)
  14.354 @@ -3474,7 +3479,7 @@
  14.355  	/////////////////////////////////////////////////////////////////////
  14.356  	} else if (com=="setIncludeImagesHorizontally")
  14.357  	{ 
  14.358 -		if (selection.isEmpty() )
  14.359 +		if (!selti )
  14.360  		{
  14.361  			parser.setError (Aborted,"Nothing selected");
  14.362  		} else if (! selb)
  14.363 @@ -3488,7 +3493,7 @@
  14.364  	/////////////////////////////////////////////////////////////////////
  14.365  	} else if (com=="setIncludeImagesVertically")
  14.366  	{
  14.367 -		if (selection.isEmpty() )
  14.368 +		if (!selti )
  14.369  		{
  14.370  			parser.setError (Aborted,"Nothing selected");
  14.371  		} else if (! selb)
  14.372 @@ -3502,7 +3507,7 @@
  14.373  	/////////////////////////////////////////////////////////////////////
  14.374  	} else if (com=="setHideLinkUnselected")
  14.375  	{
  14.376 -		if (selection.isEmpty() )
  14.377 +		if (!selti )
  14.378  		{
  14.379  			parser.setError (Aborted,"Nothing selected");
  14.380  		} else if ( selectionType()!=TreeItem::Branch && selectionType()!= TreeItem::MapCenter && selectionType()!=TreeItem::Image)
  14.381 @@ -3524,7 +3529,7 @@
  14.382  	/////////////////////////////////////////////////////////////////////
  14.383  	} else if (com=="setURL")
  14.384  	{
  14.385 -		if (selection.isEmpty() )
  14.386 +		if (!selti )
  14.387  		{
  14.388  			parser.setError (Aborted,"Nothing selected");
  14.389  		} else if (! selb )
  14.390 @@ -3538,7 +3543,7 @@
  14.391  	/////////////////////////////////////////////////////////////////////
  14.392  	} else if (com=="setVymLink")
  14.393  	{
  14.394 -		if (selection.isEmpty() )
  14.395 +		if (!selti )
  14.396  		{
  14.397  			parser.setError (Aborted,"Nothing selected");
  14.398  		} else if (! selb )
  14.399 @@ -3553,7 +3558,7 @@
  14.400  	/////////////////////////////////////////////////////////////////////
  14.401  	else if (com=="setFlag")
  14.402  	{
  14.403 -		if (selection.isEmpty() )
  14.404 +		if (!selti )
  14.405  		{
  14.406  			parser.setError (Aborted,"Nothing selected");
  14.407  		} else if (! selb )
  14.408 @@ -3571,7 +3576,7 @@
  14.409  	/////////////////////////////////////////////////////////////////////
  14.410  	} else if (com=="setFrameType")
  14.411  	{
  14.412 -		if (selection.isEmpty() )
  14.413 +		if (!selti )
  14.414  		{
  14.415  			parser.setError (Aborted,"Nothing selected");
  14.416  		} else if (! selb )
  14.417 @@ -3586,7 +3591,7 @@
  14.418  	/////////////////////////////////////////////////////////////////////
  14.419  	} else if (com=="sortChildren")
  14.420  	{
  14.421 -		if (selection.isEmpty() )
  14.422 +		if (!selti )
  14.423  		{
  14.424  			parser.setError (Aborted,"Nothing selected");
  14.425  		} else if (! selb )
  14.426 @@ -3599,7 +3604,7 @@
  14.427  	/////////////////////////////////////////////////////////////////////
  14.428  	} else if (com=="toggleFlag")
  14.429  	{
  14.430 -		if (selection.isEmpty() )
  14.431 +		if (!selti )
  14.432  		{
  14.433  			parser.setError (Aborted,"Nothing selected");
  14.434  		} else if (! selb )
  14.435 @@ -3617,7 +3622,7 @@
  14.436  	/////////////////////////////////////////////////////////////////////
  14.437  	} else if (com=="unscroll")
  14.438  	{
  14.439 -		if (selection.isEmpty() )
  14.440 +		if (!selti)
  14.441  		{
  14.442  			parser.setError (Aborted,"Nothing selected");
  14.443  		} else if (! selb )
  14.444 @@ -3625,13 +3630,13 @@
  14.445  			parser.setError (Aborted,"Type of selection is not a branch");
  14.446  		} else if (parser.checkParCount(0))
  14.447  		{	
  14.448 -			if (!unscrollBranch (bi))	
  14.449 +			if (!unscrollBranch (selbi))	
  14.450  				parser.setError (Aborted,"Could not unscroll branch");
  14.451  		}	
  14.452  	/////////////////////////////////////////////////////////////////////
  14.453  	} else if (com=="unscrollChildren")
  14.454  	{
  14.455 -		if (selection.isEmpty() )
  14.456 +		if (!selti)
  14.457  		{
  14.458  			parser.setError (Aborted,"Nothing selected");
  14.459  		} else if (! selb )
  14.460 @@ -4021,8 +4026,8 @@
  14.461  	else
  14.462  		linkstyle=LinkableMapObj::UndefinedStyle;
  14.463  
  14.464 -	TreeItem *cur=NULL;
  14.465 -	TreeItem *prev=NULL;
  14.466 +	BranchItem *cur=NULL;
  14.467 +	BranchItem *prev=NULL;
  14.468  	int d=0;
  14.469  	BranchObj *bo;
  14.470  	next (cur,prev,d);
  14.471 @@ -4050,8 +4055,8 @@
  14.472  	);
  14.473  
  14.474  	defLinkColor=col;
  14.475 -	TreeItem *cur=NULL;
  14.476 -	TreeItem *prev=NULL;
  14.477 +	BranchItem *cur=NULL;
  14.478 +	BranchItem *prev=NULL;
  14.479  	int d=0;
  14.480  	BranchObj *bo;
  14.481  	cur=next(cur,prev,d);
  14.482 @@ -4067,8 +4072,8 @@
  14.483  void VymModel::setMapLinkColorHintInt()
  14.484  {
  14.485  	// called from setMapLinkColorHint(lch) or at end of parse
  14.486 -	TreeItem *cur=NULL;
  14.487 -	TreeItem *prev=NULL;
  14.488 +	BranchItem *cur=NULL;
  14.489 +	BranchItem *prev=NULL;
  14.490  	int d=0;
  14.491  	BranchObj *bo;
  14.492  	cur=next(cur,prev,d);
  14.493 @@ -4092,8 +4097,8 @@
  14.494  		linkcolorhint=LinkableMapObj::DefaultColor;
  14.495  	else	
  14.496  		linkcolorhint=LinkableMapObj::HeadingColor;
  14.497 -	TreeItem *cur=NULL;
  14.498 -	TreeItem *prev=NULL;
  14.499 +	BranchItem *cur=NULL;
  14.500 +	BranchItem *prev=NULL;
  14.501  	int d=0;
  14.502  	BranchObj *bo;
  14.503  	cur=next(cur,prev,d);
  14.504 @@ -4608,7 +4613,9 @@
  14.505  	emit (contentHasChanged (ix) );
  14.506  }
  14.507  
  14.508 -void VymModel::selectInt (LinkableMapObj *lmo)
  14.509 +
  14.510 +//void VymModel::selectInt (LinkableMapObj *lmo)	// FIXME-3 still needed?
  14.511 +/*
  14.512  {
  14.513  	if (selection.select(lmo))
  14.514  	{
  14.515 @@ -4617,6 +4624,15 @@
  14.516  	}
  14.517  }
  14.518  
  14.519 +void VymModel::selectInt (TreeItem *ti)	
  14.520 +{
  14.521 +	if (selection.select(lmo))
  14.522 +	{
  14.523 +		//selection.update();
  14.524 +		sendSelection ();	// FIXME-4 VM use signal
  14.525 +	}
  14.526 +}
  14.527 +*/
  14.528  
  14.529  void VymModel::selectNextBranchInt()
  14.530  {
    15.1 --- a/vymmodel.h	Wed Apr 01 15:06:57 2009 +0000
    15.2 +++ b/vymmodel.h	Thu Apr 02 09:46:29 2009 +0000
    15.3 @@ -240,8 +240,8 @@
    15.4  //	QString getHeading (bool &ok,QPoint &p); //!< Get heading, ok if selection is branch
    15.5  
    15.6  private:
    15.7 -	TreeItem* findCurrent;		// next object in find process
    15.8 -	TreeItem* findPrevious;		// next object in find process
    15.9 +	BranchItem* findCurrent;		// next object in find process
   15.10 +	BranchItem* findPrevious;		// next object in find process
   15.11  	bool EOFind;				// true, if search failed
   15.12  public:
   15.13      BranchObj* findText(QString,bool);		// Find object
   15.14 @@ -282,7 +282,7 @@
   15.15  
   15.16  	// The create methods are used to quickly parse a XML file
   15.17  	void createMapCenter();			//!< Create and select MapCenter
   15.18 -	void createBranch();			//!< Create and select Branch
   15.19 +	BranchItem* createBranch();		//!< Create and select Branch
   15.20  	TreeItem* createImage();		//!< Create and select image
   15.21  
   15.22  	/*! \brief Add new mapcenter
   15.23 @@ -551,7 +551,7 @@
   15.24  
   15.25  	void ensureSelectionVisible();			//!< Show selection in all views
   15.26  
   15.27 -	void selectInt(LinkableMapObj*);	
   15.28 +//	void selectInt(LinkableMapObj*);	
   15.29  
   15.30  private:	
   15.31  	void selectNextBranchInt();		// Increment number of branch
    16.1 --- a/xml-freemind.cpp	Wed Apr 01 15:06:57 2009 +0000
    16.2 +++ b/xml-freemind.cpp	Thu Apr 02 09:46:29 2009 +0000
    16.3 @@ -94,21 +94,21 @@
    16.4  			if (atts.value ("POSITION")=="left")
    16.5  			{
    16.6  				model->select ("bo:1");
    16.7 -				lastBranch=model->getSelectedBranch();
    16.8 -				if (lastBranch)
    16.9 -				{
   16.10 -					lastBranch->addBranch();
   16.11 -					lastBranch=lastBranch->getLastBranch();
   16.12 +				lastBranchItem=model->getSelectedBranchItem();
   16.13 +				if (lastBranchItem)
   16.14 +				{	
   16.15 +					lastBranchItem=model->createBranch();
   16.16 +					lastBranch=lastBranchItem->getBranchObj();
   16.17  					readNodeAttr (atts);
   16.18  				}	
   16.19  			} else if (atts.value ("POSITION")=="right")
   16.20  			{
   16.21  				model->select ("bo:0");
   16.22 -				lastBranch=model->getSelectedBranch();
   16.23 -				if (lastBranch)
   16.24 -				{
   16.25 -					lastBranch->addBranch();
   16.26 -					lastBranch=lastBranch->getLastBranch();
   16.27 +				lastBranchItem=model->getSelectedBranchItem();
   16.28 +				if (lastBranchItem)
   16.29 +				{	
   16.30 +					lastBranchItem=model->createBranch();
   16.31 +					lastBranch=lastBranchItem->getBranchObj();
   16.32  					readNodeAttr (atts);
   16.33  				}	
   16.34  			}
   16.35 @@ -116,8 +116,8 @@
   16.36  		{
   16.37  			if (state!=StateMap)
   16.38  			{
   16.39 -				lastBranch->addBranch();
   16.40 -				lastBranch=lastBranch->getLastBranch();
   16.41 +				lastBranchItem=model->createBranch();
   16.42 +				lastBranch=lastBranchItem->getBranchObj();
   16.43  			}
   16.44  			readNodeAttr (atts);
   16.45  		}
    17.1 --- a/xml-freemind.h	Wed Apr 01 15:06:57 2009 +0000
    17.2 +++ b/xml-freemind.h	Thu Apr 02 09:46:29 2009 +0000
    17.3 @@ -37,7 +37,7 @@
    17.4  	State state;			 
    17.5  	State laststate;
    17.6  	QList <State> stateStack;
    17.7 +	BranchObj *lastBranch;
    17.8  	BranchItem *lastBranchItem;
    17.9 -	BranchObj *lastBranch;
   17.10  }; 
   17.11  #endif