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