mapcenteritem.cpp
author insilmaril
Fri, 15 May 2009 15:22:15 +0000
changeset 769 a6931cd6309a
parent 767 6d2b32f305f9
child 770 57ce1ba6d1cb
permissions -rw-r--r--
more changes on views
     1 #include "mapcenteritem.h"
     2 #include "mapcenterobj.h"
     3 
     4 #include <iostream>
     5 using namespace std;
     6 
     7 MapCenterItem::MapCenterItem(const QList<QVariant> &data, TreeItem *parent):BranchItem (data,parent)
     8 {
     9 	type=MapCenter;
    10 }
    11 
    12 MapCenterItem::~MapCenterItem()
    13 {
    14 	cout << "Destr. MapCenterItem\n";
    15     qDeleteAll(childItems);
    16 }
    17 
    18 QString MapCenterItem::saveToDir (const QString &tmpdir,const QString &prefix, const QPointF& offset)	//FIXME-1
    19 {
    20 	// Cloudy stuff can be hidden during exports
    21 	if (hidden) return QString();
    22 
    23     QString s,a;
    24 	BranchObj *bo=(BranchObj*)lmo;
    25 
    26 	QString scrolledAttr;
    27 	if (scrolled) 
    28 		scrolledAttr=attribut ("scrolled","yes");
    29 	else
    30 		scrolledAttr="";
    31 
    32 	/* 
    33 	// save area, if not scrolled
    34 	QString areaAttr;
    35 	if (!((BranchObj*)(parObj))->isScrolled() )
    36 	{
    37 		areaAttr=
    38 			attribut("x1",QString().setNum(absPos.x()-offset.x())) +
    39 			attribut("y1",QString().setNum(absPos.y()-offset.y())) +
    40 			attribut("x2",QString().setNum(absPos.x()+width()-offset.x())) +
    41 			attribut("y2",QString().setNum(absPos.y()+height()-offset.y()));
    42 
    43 	} else
    44 		areaAttr="";
    45 	
    46 	// Providing an ID for a branch makes export to XHTML easier
    47 	QString idAttr;
    48 	if (countXLinks()>0)
    49 		idAttr=attribut ("id",model->getSelectString(this)); //TODO directly access model
    50 	else
    51 		idAttr="";
    52 
    53 	*/
    54     s=beginElement ("mapcenter" 
    55 		+getAttr()
    56 	//	+getOrnXMLAttr() 
    57 		+scrolledAttr 
    58 	//	+areaAttr 
    59 	//	+idAttr 
    60 	//	+getIncludeImageAttr() 
    61 		);
    62     incIndent();
    63 
    64 	// save heading
    65     s+=valueElement("heading", getHeading(),
    66 		attribut ("textColor",QColor( bo->getColor()).name()));
    67 
    68 /*
    69 	// Save frame
    70 	if (frame->getFrameType()!=FrameObj::NoFrame) 
    71 		s+=frame->saveToDir ();
    72 
    73 	// save names of flags set
    74 	s+=standardFlags->saveToDir(tmpdir,prefix,0);
    75 	
    76 	// Save FloatImages
    77 	for (int i=0; i<floatimage.size(); ++i)
    78 		s+=floatimage.at(i)->saveToDir (tmpdir,prefix);
    79 */
    80 
    81 	// save note
    82 	if (!note.isEmpty() )
    83 		s+=note.saveToDir();
    84 	
    85 	// Save branches
    86 	int i=0;
    87 	TreeItem *ti=getBranchNum(i);
    88 	while (ti)
    89 	{
    90 		s+=getBranchNum(i)->saveToDir(tmpdir,prefix,offset);
    91 		i++;
    92 		ti=getBranchNum(i);
    93 	}	
    94 
    95 
    96 	/*
    97 	// Save XLinks
    98 	QString ol;	// old link
    99 	QString cl;	// current link
   100 	for (int i=0; i<xlink.size(); ++i)
   101 	{
   102 		cl=xlink.at(i)->saveToDir();
   103 		if (cl!=ol)
   104 		{
   105 			s+=cl;
   106 			ol=cl;
   107 		} else
   108 		{
   109 			qWarning (QString("Ignoring of duplicate xLink in %1").arg(getHeading()));
   110 		}
   111 	}	
   112 	*/
   113 
   114     decIndent();
   115     s+=endElement   ("mapcenter");
   116     return s;
   117 }
   118 
   119 BranchObj* MapCenterItem::createMapObj(QGraphicsScene *scene)	
   120 {
   121 	// Initialize MapCenterObj, order of things is important...
   122     MapCenterObj* mco=new MapCenterObj(scene);
   123 	lmo=mco;
   124     mco->setParObj(NULL);
   125 	mco->setModel (model);
   126 	mco->setTreeItem (this);
   127 	mco->setDefAttr(BranchObj::NewBranch);
   128 
   129 	initLMO();
   130 
   131 	if (!getHeading().isEmpty() ) 
   132 	{
   133 		mco->updateData();	//FIXME-3 better call model->emitDataHasChanged(treeItem);
   134 		mco->setColor (headingColor);
   135 	}	
   136 		
   137 	//mco->updateLink();	//FIXME-3
   138 
   139 	return mco;
   140 }
   141 
   142