mapeditor.cpp
changeset 790 133e2ed6b9c5
parent 788 78ba80b54bc4
child 791 f1006de05c54
     1.1 --- a/mapeditor.cpp	Mon Aug 24 14:39:07 2009 +0000
     1.2 +++ b/mapeditor.cpp	Thu Sep 03 08:52:00 2009 +0000
     1.3 @@ -10,6 +10,7 @@
     1.4  #include "mainwindow.h"
     1.5  #include "misc.h"
     1.6  #include "warningdialog.h"
     1.7 +#include "xlinkitem.h"
     1.8  
     1.9  
    1.10  extern int statusbarTime;
    1.11 @@ -881,6 +882,7 @@
    1.12      LinkableMapObj* lmo=NULL;
    1.13  	if (ti) lmo=((MapItem*)ti)->getLMO();
    1.14  	
    1.15 +	
    1.16  	e->accept();
    1.17  
    1.18  	//Take care of  system flags _or_ modifier modes
    1.19 @@ -923,22 +925,15 @@
    1.20  		} 
    1.21  		if (mainWindow->getModMode()==Main::ModModeXLink)
    1.22  		{	
    1.23 -			BranchObj *bo_begin=NULL;
    1.24 -			if (lmo)
    1.25 -				bo_begin=(BranchObj*)(lmo);
    1.26 -			else	
    1.27 -				bo_begin=model->getSelectedBranchObj();
    1.28 -			if (bo_begin)	
    1.29 +			BranchItem *bi_begin=model->getSelectedBranch();
    1.30 +			if (bi_begin)	
    1.31  			{
    1.32  				drawingLink=true;
    1.33 -				linkingObj_src=bo_begin;
    1.34 -				tmpXLink=new XLinkObj (mapScene);
    1.35 -				tmpXLink->setBegin (bo_begin);
    1.36 -				tmpXLink->setEnd   (p);
    1.37 +				tmpXLink=model->createXLink(bi_begin,true);
    1.38  				tmpXLink->setColor(model->getMapDefXLinkColor());
    1.39  				tmpXLink->setWidth(model->getMapDefXLinkWidth());
    1.40 +				tmpXLink->setEnd   (p);
    1.41  				tmpXLink->updateXLink();
    1.42 -				tmpXLink->setVisibility (true);
    1.43  				return;
    1.44  			} 
    1.45  		}
    1.46 @@ -1192,13 +1187,13 @@
    1.47  		// Check if we are over another branch
    1.48  		if (dsti)
    1.49  		{	
    1.50 -			tmpXLink->setEnd ( ((BranchObj*)(dst)) );
    1.51 +			tmpXLink->setEnd ( ((BranchItem*)dsti) );
    1.52  			tmpXLink->updateXLink();
    1.53 -			tmpXLink->activate(); //FIXME-2 savestate missing
    1.54 -			//model->saveStateComplete(QString("Activate xLink from %1 to %2").arg(model->getObjectName(tmpXLink->getBegin())).arg(model->getObjectName(tmpXLink->getEnd())) );	
    1.55 +			tmpXLink->activate(); 
    1.56 +			//FIXME-0 model->saveStateComplete(QString("Activate xLink from %1 to %2").arg(model->getObjectName(tmpXLink->getBegin())).arg(model->getObjectName(tmpXLink->getEnd())) );	
    1.57  		} else
    1.58  		{
    1.59 -			delete(tmpXLink);
    1.60 +			model->deleteItem(tmpXLink);
    1.61  			tmpXLink=NULL;
    1.62  		}
    1.63  		return;