selection.h
author insilmaril
Wed, 25 Apr 2007 16:02:54 +0000
changeset 462 494a5b8c131e
parent 440 c6a8651e6bbc
child 492 cf60b90369a4
permissions -rw-r--r--
started doxygen documentation
     1 #ifndef SELECTION_H
     2 #define SELECTION_H
     3 
     4 #include <QString>
     5 #include <QList>
     6 #include <QGraphicsScene>
     7 
     8 
     9 class MapEditor;
    10 class BranchObj;
    11 class FloatImageObj;
    12 class MapCenterObj;
    13 class LinkableMapObj;
    14 
    15 
    16 
    17 enum SelectionType {Undefined,Branch,MapCenter,FloatImage};
    18 
    19 class Selection 
    20 {
    21 public:
    22 	Selection ();
    23 	~Selection();
    24 	void copy(const Selection&);
    25 	void clear();
    26 	void setMapEditor (MapEditor *);
    27 	void update();
    28 	void setColor (QColor c);
    29 	QColor getColor ();
    30 	bool select (LinkableMapObj*);
    31 	bool select (const QString &);
    32 	bool reselect ();
    33 	void unselect ();
    34 	bool isEmpty();
    35 	uint count();
    36 	SelectionType type();
    37 	LinkableMapObj * first();		// first in selection list
    38 	LinkableMapObj * single();		// NULL, if multiple selected
    39 	BranchObj* getBranch();
    40 	FloatImageObj* getFloatImage();
    41 
    42 	QString getSelectString();
    43 
    44 private:
    45 	void init();
    46 	QList <LinkableMapObj*> selectList;
    47 	QList <LinkableMapObj*> lastSelectList;
    48 	QList <QGraphicsRectItem*> selboxList;
    49 	MapEditor *mapEditor;
    50 	MapCenterObj *mapCenter;
    51 	QGraphicsScene *scene;
    52 
    53 	QColor color;
    54 };
    55 #endif
    56