treeitem.cpp
changeset 756 a8a5c7288f57
parent 755 ed5b407975b3
child 757 c6908bc17d78
     1.1 --- a/treeitem.cpp	Thu Apr 23 12:15:31 2009 +0000
     1.2 +++ b/treeitem.cpp	Mon Apr 27 12:07:15 2009 +0000
     1.3 @@ -11,11 +11,41 @@
     1.4  
     1.5  TreeItem::TreeItem(const QList<QVariant> &data, TreeItem *parent)
     1.6  {
     1.7 +	init();
     1.8 +    parentItem = parent;
     1.9 +    itemData = data;
    1.10 +}
    1.11 +
    1.12 +TreeItem::~TreeItem()
    1.13 +{
    1.14 +	//cout << "Destructor TreeItem "<<getHeadingStd()<<endl;
    1.15 +	TreeItem *ti;
    1.16 +	while (!childItems.isEmpty())
    1.17 +	{
    1.18 +		ti=childItems.takeFirst();
    1.19 +		switch (ti->getType() )
    1.20 +		{
    1.21 +			case TreeItem::MapCenter:
    1.22 +				delete (MapCenterItem*)ti;
    1.23 +				break;
    1.24 +			case TreeItem::Branch:
    1.25 +				delete (BranchItem*)ti;
    1.26 +				break;
    1.27 +			default:
    1.28 +				delete ti;
    1.29 +				break;
    1.30 +		}
    1.31 +	}	
    1.32 +}
    1.33 +
    1.34 +
    1.35 +void TreeItem::init()
    1.36 +{
    1.37  	model=NULL;
    1.38  
    1.39 -    parentItem = parent;
    1.40 -    itemData = data;
    1.41 -	lmo=NULL;
    1.42 +    parentItem = NULL;
    1.43 +    itemData.clear();
    1.44 +	lmo=NULL;	
    1.45  
    1.46  	branchOffset=0;
    1.47  	branchCounter=0;
    1.48 @@ -33,13 +63,6 @@
    1.49  
    1.50  }
    1.51  
    1.52 -TreeItem::~TreeItem()
    1.53 -{
    1.54 -	cout << "Destructor TreeItem\n";
    1.55 -	//if (lmo) delete (lmo);
    1.56 -    qDeleteAll(childItems);
    1.57 -}
    1.58 -
    1.59  QString TreeItem::saveToDir (const QString &tmpdir,const QString &prefix, const QPointF& offset)
    1.60  {
    1.61  	cout << "TreeItem::saveToDir called directly for ("<<getHeadingStd()<<"), instead of inherited type...\n";	//FIXME-1 triggered on save
    1.62 @@ -71,6 +94,7 @@
    1.63  void TreeItem::appendChild(TreeItem *item)
    1.64  {
    1.65      childItems.append(item);
    1.66 +	item->parentItem=this;
    1.67  	item->setModel (model);
    1.68  
    1.69  	if (item->type == Branch || item->type ==MapCenter)