treeitem.cpp
changeset 791 f1006de05c54
parent 790 133e2ed6b9c5
child 794 d922fb6ea482
     1.1 --- a/treeitem.cpp	Thu Sep 03 08:52:00 2009 +0000
     1.2 +++ b/treeitem.cpp	Mon Sep 07 15:36:57 2009 +0000
     1.3 @@ -15,7 +15,7 @@
     1.4  
     1.5  TreeItem::TreeItem()
     1.6  {
     1.7 -	//cout << "Constr. TI  this="<<this<<endl;
     1.8 +	cout << "Constr. TI  this="<<this<<endl;
     1.9  	init();
    1.10  	itemData.clear();
    1.11  	rootItem=this;
    1.12 @@ -41,27 +41,7 @@
    1.13  	while (!childItems.isEmpty())
    1.14  	{
    1.15  		ti=childItems.takeFirst();
    1.16 -		switch (ti->getType() )
    1.17 -		{
    1.18 -			case TreeItem::MapCenter:
    1.19 -				delete (BranchItem*)ti;
    1.20 -				break;
    1.21 -			case TreeItem::Branch:
    1.22 -				delete (BranchItem*)ti;
    1.23 -				break;
    1.24 -			case TreeItem::Image:
    1.25 -				delete (ImageItem*)ti;
    1.26 -				break;
    1.27 -			case TreeItem::Attribute:
    1.28 -				delete (AttributeItem*)ti;
    1.29 -				break;
    1.30 -			case TreeItem::XLink:
    1.31 -				delete (XLinkItem*)ti;
    1.32 -				break;
    1.33 -			default:
    1.34 -				delete ti;
    1.35 -				break;
    1.36 -		}
    1.37 +		delete ti;
    1.38  	}	
    1.39  }
    1.40  
    1.41 @@ -96,17 +76,6 @@
    1.42  }
    1.43  
    1.44  
    1.45 -/*
    1.46 -void TreeItem::copy (OrnamentedObj* other)	//FIXME-3	probably need deep copy of branches and data!
    1.47 -
    1.48 -{
    1.49 -	note.copy (other->note);
    1.50 -	model=other->model;
    1.51 -	hideExport=officially 
    1.52 -	other->hideExport;
    1.53 -}
    1.54 -*/
    1.55 -
    1.56  void TreeItem::setModel (VymModel *m)
    1.57  {
    1.58  	model=m;
    1.59 @@ -238,7 +207,7 @@
    1.60  
    1.61  int TreeItem::columnCount() const
    1.62  {
    1.63 -    return itemData.count();
    1.64 +	return 1;
    1.65  }
    1.66  
    1.67  int TreeItem::branchCount() const
    1.68 @@ -270,11 +239,6 @@
    1.69      return 0;
    1.70  }
    1.71  
    1.72 -int TreeItem::column() const
    1.73 -{
    1.74 -    return 0;
    1.75 -}
    1.76 -
    1.77  int TreeItem::depth() 
    1.78  {
    1.79  	// Rootitem d=-1
    1.80 @@ -291,6 +255,7 @@
    1.81  
    1.82  TreeItem *TreeItem::parent()
    1.83  {
    1.84 +	//cout << "TI::parent of "<<getHeadingStd()<<"  is "<<parentItem<<endl;
    1.85      return parentItem;
    1.86  }
    1.87  
    1.88 @@ -301,15 +266,8 @@
    1.89  
    1.90  int TreeItem::num()
    1.91  {
    1.92 -	switch (type)
    1.93 -	{
    1.94 -		case MapCenter: return parentItem->childItems.indexOf (this) - parentItem->branchOffset;
    1.95 -		case Branch: return parentItem->childItems.indexOf (this) - parentItem->branchOffset;
    1.96 -		case Image: return parentItem->childItems.indexOf (this) - parentItem->imageOffset;
    1.97 -		case Attribute: return parentItem->childItems.indexOf (this) - parentItem->attributeOffset;
    1.98 -		case XLink: return parentItem->childItems.indexOf (this) - parentItem->xlinkOffset;
    1.99 -		default: return -1;
   1.100 -	}
   1.101 +	if (!parentItem) return -1;
   1.102 +	return parentItem->num (this);
   1.103  }
   1.104  
   1.105  int TreeItem::num (TreeItem *item)
   1.106 @@ -334,7 +292,7 @@
   1.107  
   1.108  TreeItem::Type TreeItem::getType()
   1.109  {
   1.110 -	if (type==Branch && depth()==0) return MapCenter;	//FIXME-2 should not be necesssary
   1.111 +	if (type==Branch && depth()==0) return MapCenter;	//FIXME-3 should not be necesssary
   1.112  	return type;
   1.113  }
   1.114  
   1.115 @@ -439,7 +397,7 @@
   1.116  {
   1.117  	NoteObj n;
   1.118  	n.setNote(s);
   1.119 -	setNoteObj (n,false);
   1.120 +	setNoteObj (n);
   1.121  }
   1.122  
   1.123  void TreeItem::clearNote()
   1.124 @@ -448,7 +406,7 @@
   1.125  	systemFlags.deactivate ("system-note");
   1.126  }
   1.127  
   1.128 -void TreeItem::setNoteObj(const NoteObj &n, bool updateNoteEditor){
   1.129 +void TreeItem::setNoteObj(const NoteObj &n){
   1.130  	note=n;
   1.131  	if (!note.isEmpty() && !systemFlags.isActive ("system-note"))
   1.132  		systemFlags.activate ("system-note");
   1.133 @@ -525,11 +483,6 @@
   1.134  	return &standardFlags;
   1.135  }
   1.136  
   1.137 -/* FIXME-3 void TreeItem::updateToolBar()
   1.138 -{
   1.139 -	standardFlags.updateToolBar();
   1.140 -}
   1.141 -*/
   1.142  QStringList TreeItem::activeSystemFlagNames ()
   1.143  {
   1.144  	return systemFlags.activeFlagNames();
   1.145 @@ -676,49 +629,45 @@
   1.146  }
   1.147  
   1.148  
   1.149 -void TreeItem::setHideTmp (HideTmpMode mode)  //FIXME-2
   1.150 +void TreeItem::setHideTmp (HideTmpMode mode)  //FIXME-2	update visibility in derived objects...
   1.151  {
   1.152 -	if (isBranchLikeType() )
   1.153 -		((BranchItem*)this)->updateVisibility();
   1.154  		/*
   1.155  	if (type==Image)
   1.156 -		//updateVisibility();
   1.157 -	*/
   1.158 -
   1.159 -/*
   1.160 +		((ImageItem*)this)->updateVisibility();
   1.161 +		*/
   1.162  
   1.163  		if (mode==HideExport && (hideExport || hasHiddenExportParent() ) )
   1.164  		{
   1.165  			// Hide stuff according to hideExport flag and parents
   1.166 -			//setVisibility (false);
   1.167 -			updateVisibility();
   1.168 -			//FIXME-2 hidden=true;
   1.169 +	//		if (lmo) lmo->setVisibility (false);
   1.170 +			hidden=true;
   1.171  		}else
   1.172  		{
   1.173  			// Do not hide, but still take care of scrolled status
   1.174 -			
   1.175 -
   1.176 +			hidden=false;
   1.177 +/*
   1.178  			XXXXXXXX treeItem should be THIS
   1.179  
   1.180  			move visible to TreeItem???
   1.181  
   1.182  			BranchObj now has updateContents
   1.183 -
   1.184 -			maybe also start "bool TreeItem::branchlikeType"
   1.185 -
   1.186 -
   1.187 +*/
   1.188 +/*
   1.189 +		if (isBranchLikeType() )
   1.190 +			((BranchItem*)this)->updateVisibility();
   1.191  
   1.192  			if ( ((BranchItem*)treeItem)->hasScrolledParent((BranchItem*)treeItem))
   1.193  				setVisibility (false);
   1.194  			else
   1.195  				setVisibility (true);
   1.196 -			//FIXME-2 hidden=false;
   1.197 +*/			
   1.198  		}	
   1.199  
   1.200 -*/
   1.201 +/*
   1.202  		// And take care of my children
   1.203  		for (int i=0; i<branchCount(); ++i)
   1.204 -			getBranchNum(i)->setHideTmp (mode);
   1.205 +			getBranchNum(i)->setHideTmp (mode);	// FIXME-4 maybe also consider images and other types
   1.206 +*/
   1.207  }
   1.208  
   1.209  bool TreeItem::hasHiddenExportParent()
   1.210 @@ -752,6 +701,11 @@
   1.211  	return hideExport;
   1.212  }	
   1.213  
   1.214 +void TreeItem::updateVisibility()
   1.215 +{
   1.216 +	// overloaded in derived objects
   1.217 +}	
   1.218 +
   1.219  bool TreeItem::isHidden()
   1.220  {
   1.221  	return hidden;