summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/widget_layer.h
blob: cf2a1e51c756e6b0f960fddd2d0a72b955c3d267 (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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130

/*                                                                            */
/* [widget_layer.h]         Widget Layer                                      */
/*                                                                            */
/* -------------------------------------------------------------------------- */

// proposal of a widget Layer in opie-console
//
// fellow devels:
//   just mail me (ibotty@web.de), what you additionally need from the main widget 
//   (or say in chat)


class WidgetLayer : public QObject
{ QObject

public:
	/**
	 * constructor
	 */
	WidgetLayer();

	/**
	 * destructor
	 */
	virtual ~WidgetLayer();

	/**
	 * sets the image
	 */
	virtual void setImage( const Character* const newimg, int lines, int colums );

	/**
	 * annoy the user
	 */
	void bell();

	/**
	 * return the lines count
	 */
	int lines()	{ return m_lines; }
	
	/**
	 * return the columns count
	 */
	int columns()	{ return m_columns }

	/**
	 * copy selection into clipboard, etc
	 */
	void emitSelection();

	/**
	 * set selection (clipboard) to text
	 */
	void setSelection( QString &text )

	/**
	 * paste content of clipboard
	 */
	void pasteClipboard();


signals:

	/**
	 * key was pressed
	 */
	keyPressed( QKeyEvent *e );

	/**
	 * whenever Mouse selects something
	 * 0	left Button
	 * 3	Button released
	 * // numbering due to layout in old TEWidget
	 */
	mousePressed( int button, int x, int y );

	/**
	 * size of image changed
	 */
	imageSizeChanged( int lines, int columns );

	/**
	 * cursor in history changed
	 */
	historyCursorChanged( int value );

	/**
	 * selection should be cleared
	 */
	void selectionCleared();
	
	/**
	 * selection begin
	 */
	void selectionBegin( const int x, const int y )

	/**
	 * selection extended
	 *  (from begin s.a. to x, y)
	 */
	void selectionExtended( const int x, const int y );

	/**
	 * selection end
	 *  bool: preserve line breaks in selection
	 */
	void selectionEnd( const bool lineBreakPreserve );

slots:
	
	/**
	 * clear selection
	 */
	onClearSelection();

// protected vars
protected:
	
	/**
	 * current Session
	 */
	Session m_session;

	/**
	 * other misc vars
	 */

};