selection.h
author insilmaril
Thu, 26 Mar 2009 07:49:17 +0000
changeset 746 ee6b0f3a4c2f
parent 735 84ae10f6e3a3
permissions -rw-r--r--
Notes work again (to some degree)
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@642
    24
	void setModel (VymModel *);
insilmaril@729
    25
	void update();      
insilmaril@0
    26
	bool select (LinkableMapObj*);
insilmaril@364
    27
	bool select (const QString &);
insilmaril@421
    28
	bool reselect ();
insilmaril@364
    29
	void unselect ();
insilmaril@721
    30
	bool isBlocked ();
insilmaril@721
    31
	void block();
insilmaril@721
    32
	void unblock();
insilmaril@0
    33
	bool isEmpty();
insilmaril@735
    34
//	uint count();
insilmaril@735
    35
//	Type type();
insilmaril@735
    36
//	LinkableMapObj * first();		// first in selection list
insilmaril@735
    37
//	LinkableMapObj * single();		// NULL, if multiple selected
insilmaril@735
    38
//	BranchObj* getBranch();
insilmaril@735
    39
//	TreeItem* getBranchItem();		
insilmaril@735
    40
//	QModelIndex getBranchIndex();	//!< Returns index of first selected branch or mapcenter
insilmaril@424
    41
	FloatImageObj* getFloatImage();
insilmaril@0
    42
insilmaril@364
    43
	QString getSelectString();
insilmaril@364
    44
insilmaril@0
    45
private:
insilmaril@364
    46
	QList <LinkableMapObj*> selectList;
insilmaril@421
    47
	QList <LinkableMapObj*> lastSelectList;
insilmaril@728
    48
insilmaril@642
    49
	VymModel *model;
insilmaril@728
    50
insilmaril@440
    51
	QColor color;
insilmaril@721
    52
	bool blocked;					//!< if true, no new selection possible
insilmaril@0
    53
};
insilmaril@721
    54
insilmaril@0
    55
#endif
insilmaril@0
    56