vymmodel.cpp
changeset 739 3d43b46a8564
parent 738 716a777c1c98
child 740 6dc0a20031f7
     1.1 --- a/vymmodel.cpp	Fri Jan 30 09:14:12 2009 +0000
     1.2 +++ b/vymmodel.cpp	Wed Feb 04 11:52:52 2009 +0000
     1.3 @@ -694,19 +694,16 @@
     1.4  
     1.5  FloatImageObj* VymModel::loadFloatImageInt (QString fn)
     1.6  {
     1.7 -	BranchObj *bo=getSelectedBranch();
     1.8 -	if (bo)
     1.9 +	TreeItem *fi=createImage();
    1.10 +	if (fi)
    1.11  	{
    1.12 -		FloatImageObj *fio;
    1.13 -		bo->addFloatImage();
    1.14 -		fio=bo->getLastFloatImage();
    1.15 -		fio->load(fn);
    1.16 +		FloatImageObj *fio= ((FloatImageObj*)fi->getLMO());
    1.17 +		fio->load (fn);
    1.18  		reposition();
    1.19 -		// FIXME VM needed? scene()->update();
    1.20  		return fio;
    1.21  	}
    1.22  	return NULL;
    1.23 -}	
    1.24 +	}	
    1.25  
    1.26  void VymModel::loadFloatImage ()
    1.27  {
    1.28 @@ -1976,26 +1973,34 @@
    1.29  
    1.30  void VymModel::createBranch()
    1.31  {
    1.32 +	addNewBranchInt (-2);
    1.33 +	return;
    1.34 +}
    1.35 +
    1.36 +TreeItem* VymModel::createImage()
    1.37 +{
    1.38  	BranchObj *bo=getSelectedBranch();
    1.39  	if (bo)
    1.40  	{
    1.41 -		BranchObj *newbo=addNewBranchInt (-2); // FIXME VM Old model, merge with below
    1.42 +		FloatImageObj *newfio=bo->addFloatImage(); // FIXME VM Old model, merge with below
    1.43  
    1.44  		// Create TreeItem
    1.45  		QList<QVariant> cData;
    1.46 -		cData << "VM:createBranch" << "undef"<<"undef";
    1.47 +		cData << "VM:createImage" << "undef"<<"undef";
    1.48  		TreeItem *parti=bo->getTreeItem();
    1.49  		TreeItem *ti=new TreeItem (cData,parti);
    1.50 -		ti->setLMO (newbo);
    1.51 -		ti->setType (TreeItem::Branch);
    1.52 +		ti->setLMO (newfio);
    1.53 +		ti->setType (TreeItem::Image);
    1.54  		parti->appendChild (ti);
    1.55  
    1.56 -		if (newbo)
    1.57 +		if (newfio)
    1.58  		{
    1.59 -			newbo->setTreeItem (ti);
    1.60 -			select (newbo); // FIXME VM really needed here?
    1.61 +			newfio->setTreeItem (ti);
    1.62 +			select (newfio); // FIXME VM really needed here?
    1.63 +			return ti;
    1.64  		}
    1.65  	}
    1.66 +	return NULL;
    1.67  }
    1.68  
    1.69  MapCenterObj* VymModel::addMapCenter ()
    1.70 @@ -2074,6 +2079,21 @@
    1.71  			// save scroll state. If scrolled, automatically select
    1.72  			// new branch in order to tmp unscroll parent...
    1.73  			newbo=bo->addBranch();
    1.74 +
    1.75 +			// Create TreeItem
    1.76 +			QList<QVariant> cData;
    1.77 +			cData << "VM:createBranch" << "undef"<<"undef";
    1.78 +			TreeItem *parti=bo->getTreeItem();
    1.79 +			TreeItem *ti=new TreeItem (cData,parti);
    1.80 +			ti->setLMO (newbo);
    1.81 +			ti->setType (TreeItem::Branch);
    1.82 +			parti->appendChild (ti);
    1.83 +
    1.84 +			if (newbo)
    1.85 +			{
    1.86 +				newbo->setTreeItem (ti);
    1.87 +				select (newbo); // FIXME VM really needed here?
    1.88 +			}
    1.89  			
    1.90  		}else if (num==-1)
    1.91  		{
    1.92 @@ -2086,7 +2106,6 @@
    1.93  			bo=(BranchObj*)bo->getParObj();
    1.94  			if (bo) newbo=bo->insertBranch(num);
    1.95  		}
    1.96 -		if (!newbo) return NULL;
    1.97  	}	
    1.98  	return newbo;
    1.99  }	
   1.100 @@ -2116,7 +2135,7 @@
   1.101  				QString ("Add new branch to %1").arg(getObjectName(bo)));	
   1.102  
   1.103  			reposition();
   1.104 -			selection.update();
   1.105 +			// selection.update(); FIXME
   1.106  			latestSelectionString=getSelectString(newbo);
   1.107  			// In Network mode, the client needs to know where the new branch is,
   1.108  			// so we have to pass on this information via saveState.
   1.109 @@ -2156,7 +2175,7 @@
   1.110  				QString ("Add branch before %1").arg(getObjectName(bo)));
   1.111  
   1.112  			reposition();
   1.113 -			selection.update();
   1.114 +			// selection.update(); FIXME 
   1.115  		}
   1.116  	}	
   1.117  	latestSelectionString=selection.getSelectString();
   1.118 @@ -4330,7 +4349,7 @@
   1.119  	updateSelection (newsel);
   1.120  }
   1.121  
   1.122 -void VymModel::updateSelection(const QItemSelection &oldsel)
   1.123 +void VymModel::updateSelection(const QItemSelection &)
   1.124  {
   1.125  	QItemSelection newsel=selModel->selection();
   1.126  	/*
   1.127 @@ -4800,7 +4819,6 @@
   1.128  void VymModel::selectLastSelectedBranch()
   1.129  {
   1.130  	TreeItem *ti=getSelectedBranchItem();
   1.131 -	BranchObj *bo1=getSelectedBranch();
   1.132  	if (ti)
   1.133  	{
   1.134  		ti=ti->getLastSelectedBranch();
   1.135 @@ -4811,7 +4829,6 @@
   1.136  void VymModel::selectParent()
   1.137  {
   1.138  	TreeItem *ti=getSelectedItem();
   1.139 -	LinkableMapObj *lmo=getSelectedLMO();
   1.140  	TreeItem *par;
   1.141  	if (ti)
   1.142  	{