Diffstat (limited to 'noncore/apps/opie-console/widget_layer.h') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/opie-console/widget_layer.h | 104 |
1 files changed, 87 insertions, 17 deletions
diff --git a/noncore/apps/opie-console/widget_layer.h b/noncore/apps/opie-console/widget_layer.h index cf2a1e5..3cdd6aa 100644 --- a/noncore/apps/opie-console/widget_layer.h +++ b/noncore/apps/opie-console/widget_layer.h | |||
@@ -1,130 +1,200 @@ | |||
1 | 1 | /* -------------------------------------------------------------------------- */ | |
2 | /* */ | 2 | /* */ |
3 | /* [widget_layer.h] Widget Layer */ | 3 | /* [widget_layer.h] Widget Layer */ |
4 | /* */ | 4 | /* */ |
5 | /* -------------------------------------------------------------------------- */ | 5 | /* -------------------------------------------------------------------------- */ |
6 | 6 | ||
7 | // proposal of a widget Layer in opie-console | 7 | // proposal of a widget Layer in opie-console |
8 | // | 8 | // |
9 | // fellow devels: | 9 | // fellow devels: |
10 | // just mail me (ibotty@web.de), what you additionally need from the main widget | 10 | // just mail me (ibotty@web.de), what you additionally need from the main widget |
11 | // (or say in chat) | 11 | // (or say in chat) |
12 | 12 | ||
13 | #ifndef WIDGET_LAYER_H | ||
14 | #define WIDGET_LAYER_H | ||
15 | |||
16 | // qt includes | ||
17 | #include <qapplication.h> | ||
18 | #include <qtimer.h> | ||
19 | #include <qkeycode.h> | ||
20 | #include <qclipboard.h> | ||
21 | |||
22 | |||
23 | // opie-console includes | ||
24 | #include "session.h" | ||
25 | #include "common.h" | ||
13 | 26 | ||
14 | class WidgetLayer : public QObject | 27 | class WidgetLayer : public QObject |
15 | { QObject | 28 | { Q_OBJECT |
16 | 29 | ||
17 | public: | 30 | public: |
31 | |||
18 | /** | 32 | /** |
19 | * constructor | 33 | * constructor |
20 | */ | 34 | */ |
21 | WidgetLayer(); | 35 | WidgetLayer( QObject *parent=0, const char *name=0 ); |
22 | 36 | ||
23 | /** | 37 | /** |
24 | * destructor | 38 | * destructor |
25 | */ | 39 | */ |
26 | virtual ~WidgetLayer(); | 40 | virtual ~WidgetLayer(); |
27 | 41 | ||
42 | public: | ||
28 | /** | 43 | /** |
29 | * sets the image | 44 | * sets the image |
30 | */ | 45 | */ |
31 | virtual void setImage( const Character* const newimg, int lines, int colums ); | 46 | virtual void setImage( const Character* const newimg, int lines, int colums ); |
32 | 47 | ||
33 | /** | 48 | /** |
34 | * annoy the user | 49 | * annoy the user |
35 | */ | 50 | */ |
36 | void bell(); | 51 | void bell(); |
37 | 52 | ||
38 | /** | 53 | /** |
39 | * return the lines count | 54 | * return the lines count |
40 | */ | 55 | */ |
41 | int lines(){ return m_lines; } | 56 | int lines(){ return m_lines; } |
42 | 57 | ||
43 | /** | 58 | /** |
44 | * return the columns count | 59 | * return the columns count |
45 | */ | 60 | */ |
46 | int columns(){ return m_columns } | 61 | int columns(){ return m_columns; } |
47 | 62 | ||
48 | /** | 63 | /** |
49 | * copy selection into clipboard, etc | 64 | * insert current selection (currently this is only the clipboard) |
50 | */ | 65 | */ |
51 | void emitSelection(); | 66 | void insertSelection(); |
52 | 67 | ||
53 | /** | 68 | /** |
69 | * insert text | ||
70 | */ | ||
71 | void insertText( QString text ); | ||
72 | /** | ||
54 | * set selection (clipboard) to text | 73 | * set selection (clipboard) to text |
55 | */ | 74 | */ |
56 | void setSelection( QString &text ) | 75 | void setSelection( const QString &text ); |
57 | 76 | ||
58 | /** | 77 | /** |
59 | * paste content of clipboard | 78 | * paste content of clipboard |
60 | */ | 79 | */ |
61 | void pasteClipboard(); | 80 | void pasteClipboard(); |
62 | 81 | ||
63 | 82 | ||
64 | signals: | 83 | signals: |
65 | 84 | ||
66 | /** | 85 | /** |
67 | * key was pressed | 86 | * key was pressed |
68 | */ | 87 | */ |
69 | keyPressed( QKeyEvent *e ); | 88 | void keyPressed( QKeyEvent *e ); |
70 | 89 | ||
71 | /** | 90 | /** |
72 | * whenever Mouse selects something | 91 | * whenever Mouse selects something |
73 | * 0left Button | 92 | * 0left Button |
74 | * 3Button released | 93 | * 3Button released |
75 | * // numbering due to layout in old TEWidget | 94 | * // numbering due to layout in old TEWidget |
76 | */ | 95 | */ |
77 | mousePressed( int button, int x, int y ); | 96 | void mousePressed( int button, int x, int y ); |
78 | 97 | ||
79 | /** | 98 | /** |
80 | * size of image changed | 99 | * size of image changed |
81 | */ | 100 | */ |
82 | imageSizeChanged( int lines, int columns ); | 101 | void imageSizeChanged( int lines, int columns ); |
83 | 102 | ||
84 | /** | 103 | /** |
85 | * cursor in history changed | 104 | * cursor in history changed |
86 | */ | 105 | */ |
87 | historyCursorChanged( int value ); | 106 | void historyCursorChanged( int value ); |
88 | 107 | ||
89 | /** | 108 | /** |
90 | * selection should be cleared | 109 | * selection should be cleared |
91 | */ | 110 | */ |
92 | void selectionCleared(); | 111 | void selectionCleared(); |
93 | 112 | ||
94 | /** | 113 | /** |
95 | * selection begin | 114 | * selection begin |
96 | */ | 115 | */ |
97 | void selectionBegin( const int x, const int y ) | 116 | void selectionBegin( const int x, const int y ); |
98 | 117 | ||
99 | /** | 118 | /** |
100 | * selection extended | 119 | * selection extended |
101 | * (from begin s.a. to x, y) | 120 | * (from begin (s.a.) to x, y) |
102 | */ | 121 | */ |
103 | void selectionExtended( const int x, const int y ); | 122 | void selectionExtended( const int x, const int y ); |
104 | 123 | ||
105 | /** | 124 | /** |
106 | * selection end | 125 | * selection end |
107 | * bool: preserve line breaks in selection | 126 | * bool: preserve line breaks in selection |
108 | */ | 127 | */ |
109 | void selectionEnd( const bool lineBreakPreserve ); | 128 | void selectionEnd( const bool lineBreakPreserve ); |
110 | 129 | ||
111 | slots: | 130 | |
131 | |||
132 | // protected methods | ||
133 | protected: | ||
134 | |||
135 | // image operations | ||
136 | |||
137 | /** | ||
138 | * changes image, to suit new size | ||
139 | * TODO: find meaningful name! | ||
140 | */ | ||
141 | void propagateSize(); | ||
142 | |||
143 | /** | ||
144 | * | ||
145 | */ | ||
146 | virtual void calcGeometry(); | ||
147 | |||
148 | /** | ||
149 | * makes an empty image | ||
150 | */ | ||
151 | void makeImage(); | ||
152 | |||
153 | /** | ||
154 | * clears the image | ||
155 | */ | ||
156 | void clearImage(); | ||
157 | |||
158 | protected slots: | ||
112 | 159 | ||
113 | /** | 160 | /** |
114 | * clear selection | 161 | * clear selection |
115 | */ | 162 | */ |
116 | onClearSelection(); | 163 | void onClearSelection(); |
164 | |||
117 | 165 | ||
118 | // protected vars | 166 | // protected vars |
119 | protected: | 167 | protected: |
120 | 168 | ||
121 | /** | 169 | /** |
122 | * current Session | 170 | * current Session |
123 | */ | 171 | */ |
124 | Session m_session; | 172 | Session *m_session; |
173 | |||
174 | /** | ||
175 | * current character image | ||
176 | */ | ||
177 | QArray<Character> m_image; | ||
125 | 178 | ||
126 | /** | 179 | /** |
127 | * other misc vars | 180 | * lines count |
128 | */ | 181 | */ |
182 | int m_lines; | ||
129 | 183 | ||
184 | /** | ||
185 | * columns count | ||
186 | */ | ||
187 | int m_columns; | ||
188 | |||
189 | /** | ||
190 | * clipboard | ||
191 | */ | ||
192 | QClipboard* m_clipboard; | ||
193 | |||
194 | /** | ||
195 | * whether widget was resized | ||
196 | */ | ||
197 | bool m_resizing; | ||
130 | }; | 198 | }; |
199 | |||
200 | #endif // WIDGET_LAYER_H | ||