branchitem.h
author convert-repo
Fri, 23 Jul 2010 16:43:49 +0000
changeset 849 988f1908a7c4
parent 847 43268373032d
permissions -rw-r--r--
update tags
insilmaril@747
     1
#ifndef BRANCHITEM_H
insilmaril@747
     2
#define BRANCHITEM_H
insilmaril@747
     3
insilmaril@779
     4
#include "mapitem.h"
insilmaril@847
     5
//#include "xlink.h"
insilmaril@747
     6
insilmaril@847
     7
#include <QList>
insilmaril@755
     8
insilmaril@747
     9
class QString;
insilmaril@790
    10
class QGraphicsScene;
insilmaril@750
    11
class BranchObj;
insilmaril@847
    12
class Link;
insilmaril@790
    13
class XLinkItem;
insilmaril@747
    14
insilmaril@779
    15
class BranchItem:public MapItem
insilmaril@747
    16
{
insilmaril@747
    17
public:
insilmaril@777
    18
    BranchItem(const QList<QVariant> &data, TreeItem *parent = 0);
insilmaril@756
    19
    virtual ~BranchItem();
insilmaril@779
    20
	virtual void copy (BranchItem *item);
insilmaril@795
    21
	virtual BranchItem* parentBranch();
insilmaril@747
    22
insilmaril@779
    23
	virtual void insertBranch (int pos,BranchItem *branch);
insilmaril@756
    24
insilmaril@847
    25
	virtual QString saveToDir (const QString &tmpdir,const QString &prefix, const QPointF& offset,QList <Link*> &tmpLinks);
insilmaril@747
    26
insilmaril@753
    27
	virtual void updateVisibility();
insilmaril@753
    28
insilmaril@758
    29
	virtual void setHeadingColor (QColor color); //!Overloaded from TreeItem to update QGraphicsView
insilmaril@758
    30
insilmaril@753
    31
protected:	
insilmaril@753
    32
	bool scrolled;			// true if all children are scrolled and thus invisible
insilmaril@753
    33
	bool tmpUnscrolled;		// can only be true (temporary) for a scrolled subtree
insilmaril@753
    34
public:
insilmaril@749
    35
	virtual void unScroll();				
insilmaril@767
    36
	virtual bool toggleScroll();			// scroll or unscroll
insilmaril@749
    37
	virtual bool isScrolled();				// returns scroll state
insilmaril@749
    38
	virtual bool hasScrolledParent(BranchItem*);	// true, if any of the parents is scrolled
insilmaril@796
    39
	virtual bool tmpUnscroll();				// unscroll scrolled parents temporary e.g. during "find" process
insilmaril@796
    40
	virtual bool resetTmpUnscroll();		// scroll all tmp scrolled parents again e.g. when unselecting
insilmaril@822
    41
	virtual void sortChildren(bool inverse=false);		//! Sort children 
insilmaril@785
    42
insilmaril@785
    43
protected:
insilmaril@785
    44
	bool includeImagesVer;			//! include floatimages in bbox vertically
insilmaril@785
    45
	bool includeImagesHor;			//! include floatimages in bbox horizontally
insilmaril@785
    46
public:
insilmaril@785
    47
	void setIncludeImagesVer(bool);
insilmaril@785
    48
	bool getIncludeImagesVer();
insilmaril@785
    49
	void setIncludeImagesHor(bool);
insilmaril@785
    50
	bool getIncludeImagesHor();
insilmaril@785
    51
	QString getIncludeImageAttr();
insilmaril@785
    52
insilmaril@787
    53
protected:
insilmaril@787
    54
	int lastSelectedBranchNum;
insilmaril@787
    55
	int lastSelectedBranchNumAlt;
insilmaril@785
    56
public:
insilmaril@787
    57
	virtual void setLastSelectedBranch();			//! Set myself as last selected in parent
insilmaril@787
    58
	virtual void setLastSelectedBranch(int i);		//! Set last selected branch directly
insilmaril@787
    59
	virtual BranchItem* getLastSelectedBranch();	//! Returns last selected branch usually
insilmaril@787
    60
	virtual BranchItem* getLastSelectedBranchAlt(); //! Used to return last selected branch left of a mapcenter
insilmaril@785
    61
insilmaril@787
    62
public:
insilmaril@758
    63
	TreeItem* findMapItem (QPointF p,TreeItem* excludeTI);	//! search map for branches or images. Ignore excludeTI, where search is started 
insilmaril@754
    64
insilmaril@822
    65
	virtual void updateStyles (const bool &keepFrame=false);		//! update related fonts, parObjects, links, ...
insilmaril@760
    66
	virtual BranchObj* getBranchObj();	
insilmaril@822
    67
	virtual BranchObj* createMapObj(QGraphicsScene *scene);	//! Create classic object in GraphicsView
insilmaril@747
    68
};
insilmaril@747
    69
insilmaril@747
    70
#endif