File: selection.h

package info (click to toggle)
vym 1.10.0-2
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 5,376 kB
  • ctags: 1,926
  • sloc: cpp: 18,468; xml: 277; sh: 211; perl: 89; makefile: 26
file content (56 lines) | stat: -rw-r--r-- 1,049 bytes parent folder | download
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