author | insilmaril |
Mon, 08 Dec 2008 16:57:33 +0000 | |
changeset 729 | 7ddbe3fa34a1 |
parent 728 | a8a98a94899a |
child 732 | b77b56f707f1 |
permissions | -rw-r--r-- |
insilmaril@364 | 1 |
#ifndef SELECTION_H |
insilmaril@364 | 2 |
#define SELECTION_H |
insilmaril@364 | 3 |
|
insilmaril@440 | 4 |
#include <QString> |
insilmaril@440 | 5 |
#include <QList> |
insilmaril@440 | 6 |
#include <QGraphicsScene> |
insilmaril@728 | 7 |
#include <QItemSelectionModel> |
insilmaril@440 | 8 |
|
insilmaril@726 | 9 |
#include "treeitem.h" |
insilmaril@440 | 10 |
|
insilmaril@440 | 11 |
class BranchObj; |
insilmaril@440 | 12 |
class FloatImageObj; |
insilmaril@440 | 13 |
class MapCenterObj; |
insilmaril@440 | 14 |
class LinkableMapObj; |
insilmaril@642 | 15 |
class VymModel; |
insilmaril@0 | 16 |
|
insilmaril@421 | 17 |
|
insilmaril@0 | 18 |
class Selection |
insilmaril@0 | 19 |
{ |
insilmaril@0 | 20 |
public: |
insilmaril@492 | 21 |
enum Type {Undefined,Branch,MapCenter,FloatImage}; |
insilmaril@0 | 22 |
Selection (); |
insilmaril@0 | 23 |
~Selection(); |
insilmaril@0 | 24 |
void copy(const Selection&); |
insilmaril@0 | 25 |
void clear(); |
insilmaril@642 | 26 |
void setModel (VymModel *); |
insilmaril@729 | 27 |
void update(); |
insilmaril@0 | 28 |
bool select (LinkableMapObj*); |
insilmaril@364 | 29 |
bool select (const QString &); |
insilmaril@421 | 30 |
bool reselect (); |
insilmaril@364 | 31 |
void unselect (); |
insilmaril@721 | 32 |
bool isBlocked (); |
insilmaril@721 | 33 |
void block(); |
insilmaril@721 | 34 |
void unblock(); |
insilmaril@0 | 35 |
bool isEmpty(); |
insilmaril@0 | 36 |
uint count(); |
insilmaril@492 | 37 |
Type type(); |
insilmaril@424 | 38 |
LinkableMapObj * first(); // first in selection list |
insilmaril@424 | 39 |
LinkableMapObj * single(); // NULL, if multiple selected |
insilmaril@424 | 40 |
BranchObj* getBranch(); |
insilmaril@726 | 41 |
TreeItem* getBranchItem(); |
insilmaril@728 | 42 |
QModelIndex getBranchIndex(); //!< Returns index of first selected branch or mapcenter |
insilmaril@424 | 43 |
FloatImageObj* getFloatImage(); |
insilmaril@0 | 44 |
|
insilmaril@364 | 45 |
QString getSelectString(); |
insilmaril@364 | 46 |
|
insilmaril@0 | 47 |
private: |
insilmaril@364 | 48 |
QList <LinkableMapObj*> selectList; |
insilmaril@421 | 49 |
QList <LinkableMapObj*> lastSelectList; |
insilmaril@728 | 50 |
|
insilmaril@642 | 51 |
VymModel *model; |
insilmaril@728 | 52 |
|
insilmaril@728 | 53 |
QItemSelectionModel *selModel; //!< QSelectionModel is shared across views and initialized in setModel |
insilmaril@440 | 54 |
|
insilmaril@440 | 55 |
QColor color; |
insilmaril@721 | 56 |
bool blocked; //!< if true, no new selection possible |
insilmaril@0 | 57 |
}; |
insilmaril@721 | 58 |
|
insilmaril@0 | 59 |
#endif |
insilmaril@0 | 60 |