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