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