summaryrefslogtreecommitdiffstats
path: root/noatun-plugins/nexscope/regionwidget.h
blob: eeac8b4555dfeee7b2475e5f5f36e5a42d3d0699 (plain)
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
#ifndef REGIONWIDGET_H
#define REGIONWIDGET_H

#include <qframe.h>

/**
 * show a widget with a field rectangle, and a mini-region inside
 * 
 * text boxes allow the region to be resized and moved, along with
 * click-n-drag
 **/
class RegionWidget : public QFrame
{
Q_OBJECT
public:
	RegionWidget(QWidget *parent);
	RegionWidget(const QSize &viewsize, QWidget *parent);
	RegionWidget(int x, int y, int w, int h, const QSize &viewsize, 
	             QWidget *parent);
	RegionWidget(const QRect &region, const QSize &viewsize, QWidget *parent);
	
	~RegionWidget();
	
	QRect region() const;
	
public slots:
	void setX(int x);
	void setY(int y);
	void setWidth(int w);
	void setHeight(int h);
	
	void setRegion(const QRect &region);
	
	void setViewSize(const QSize &size);

signals:
	void changed();
	void changed(int x, int y, int w, int h);
	void changed(const QRect &region);

protected:
	virtual void moved(int x, int y);
	virtual void resized(int w, int h);
};


#endif