vymmodel.h
author insilmaril
Tue, 15 Jan 2008 10:54:41 +0000
changeset 650 65c5a0c28d20
child 652 700553af9ca5
permissions -rw-r--r--
added some missing files
insilmaril@650
     1
#ifndef VYMMODEL_H
insilmaril@650
     2
#define VYMMODEL_H
insilmaril@650
     3
insilmaril@650
     4
#include <QGraphicsScene>
insilmaril@650
     5
insilmaril@650
     6
#include "mapcenterobj.h"
insilmaril@650
     7
#include "mapeditor.h"
insilmaril@650
     8
insilmaril@650
     9
insilmaril@650
    10
/*! \brief This will later be divided into Model/View
insilmaril@650
    11
*/
insilmaril@650
    12
insilmaril@650
    13
class VymModel{
insilmaril@650
    14
public:
insilmaril@650
    15
	VymModel();
insilmaril@650
    16
	~VymModel ();
insilmaril@650
    17
    void clear();
insilmaril@650
    18
    void init();
insilmaril@650
    19
	void setMapEditor(MapEditor *me);	// FIXME should not be necessary in Model/View
insilmaril@650
    20
	MapEditor* getMapEditor();
insilmaril@650
    21
	void setVersion(const  QString &);
insilmaril@650
    22
	void setAuthor  (const QString &);
insilmaril@650
    23
	QString getAuthor ();
insilmaril@650
    24
	void setComment (const QString &);
insilmaril@650
    25
	QString getComment ();
insilmaril@650
    26
	QString getDate();
insilmaril@650
    27
	void setScene(QGraphicsScene *s);
insilmaril@650
    28
	QGraphicsScene *getScene();
insilmaril@650
    29
	MapCenterObj* addMapCenter();
insilmaril@650
    30
	MapCenterObj* removeMapCenter(MapCenterObj *mco);
insilmaril@650
    31
	LinkableMapObj* getSelection();
insilmaril@650
    32
	BranchObj* getSelectedBranch();
insilmaril@650
    33
	bool select (const QString &s);
insilmaril@650
    34
	QString getSelectString (LinkableMapObj *lmo);
insilmaril@650
    35
	/*
insilmaril@650
    36
    void move      (double,double);		// FIXME needed at all?
insilmaril@650
    37
    void moveBy    (double,double);		// FIXME needed at all?
insilmaril@650
    38
    void moveAll   (double,double);		// FIXME needed at all?
insilmaril@650
    39
    void moveAllBy (double,double);		// FIXME needed at all?
insilmaril@650
    40
	*/
insilmaril@650
    41
	BranchObj* first();					// FIXME replaced by ModelIndex later
insilmaril@650
    42
	BranchObj* next(BranchObj *bo);		// FIXME replaced by ModelIndex later
insilmaril@650
    43
insilmaril@650
    44
/*
insilmaril@650
    45
    void updateLink();
insilmaril@650
    46
*/
insilmaril@650
    47
    void updateRelPositions();
insilmaril@650
    48
insilmaril@650
    49
	QRectF getTotalBBox();
insilmaril@650
    50
	void reposition();					//!< Call reposition for all MCOs
insilmaril@650
    51
	void setHideTmp (HideTmpMode mode);	
insilmaril@650
    52
    LinkableMapObj* findMapObj(QPointF,LinkableMapObj*);	// find MapObj 
insilmaril@650
    53
    LinkableMapObj* findObjBySelect (const QString &s);		// find MapObj by select string
insilmaril@650
    54
    LinkableMapObj* findID (const QString &s);				// find MapObj by previously set ID
insilmaril@650
    55
	QString saveToDir (const QString&,const QString&,int, const QPointF&);// Save data recursivly to tempdir
insilmaril@650
    56
private:
insilmaril@650
    57
	QGraphicsScene *mapScene;
insilmaril@650
    58
	MapEditor *mapEditor;
insilmaril@650
    59
	QList <MapCenterObj*> mapCenters;
insilmaril@650
    60
	QString version;	//!< version string saved in vym file
insilmaril@650
    61
	QString author;
insilmaril@650
    62
	QString comment;
insilmaril@650
    63
	QDate date;
insilmaril@650
    64
};
insilmaril@650
    65
insilmaril@650
    66
insilmaril@650
    67
#endif