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