summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/widget.h
Unidiff
Diffstat (limited to 'noncore/apps/opie-console/widget.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/widget.h213
1 files changed, 0 insertions, 213 deletions
diff --git a/noncore/apps/opie-console/widget.h b/noncore/apps/opie-console/widget.h
deleted file mode 100644
index cfd709c..0000000
--- a/noncore/apps/opie-console/widget.h
+++ b/dev/null
@@ -1,213 +0,0 @@
1/* ----------------------------------------------------------------------- */
2/* */
3/* [widget.h] Terminal Emulation Widget */
4/* */
5/* ----------------------------------------------------------------------- */
6/* */
7/* Copyright (c) 1997,1998 by Lars Doelle <lars.doelle@on-line.de> */
8/* */
9/* This file was part of Konsole - an X terminal for KDE */
10/* */
11/* ----------------------------------------------------------------------- */
12/* */
13/* Ported Konsole to Qt/Embedded */
14/* */
15/* Copyright (C) 2000 by John Ryland <jryland@trolltech.com> */
16/* */
17/* -------------------------------------------------------------------------- */
18/* */
19/* modified to suit opie-console */
20/* */
21/* Copyright (c) 2002 by opie developers <opie@handhelds.org> */
22/* */
23/* ------------------------------------------------------------------------ */
24
25// ibot: TODO *
26
27#ifndef WIDGET_H
28#define WIDGET_H
29
30#include <qapplication.h>
31#include <qwidget.h>
32#include <qlabel.h>
33#include <qtimer.h>
34#include <qcolor.h>
35#include <qkeycode.h>
36#include <qscrollbar.h>
37
38#include <qpopupmenu.h>
39
40#include "common.h"
41
42extern unsigned short vt100_graphics[32];
43
44class Session;
45
46// class Konsole;
47
48class Widget : public QFrame
49// a widget representing attributed text
50{ Q_OBJECT
51
52// friend class Konsole;
53
54public:
55
56 Widget(QWidget *parent=0, const char *name=0);
57 virtual ~Widget();
58
59public:
60
61 QColor getDefaultBackColor();
62
63 const ColorEntry* getColorTable() const;
64 const ColorEntry* getdefaultColorTable() const;
65 void setColorTable(const ColorEntry table[]);
66
67 void setScrollbarLocation(int loc);
68 enum { SCRNONE=0, SCRLEFT=1, SCRRIGHT=2 };
69
70 void setScroll(int cursor, int lines);
71 void doScroll(int lines);
72
73 void emitSelection();
74
75public:
76
77 void setImage(const Character* const newimg, int lines, int columns);
78
79 int Lines() { return lines; }
80 int Columns() { return columns; }
81
82 void calcGeometry();
83 void propagateSize();
84 QSize calcSize(int cols, int lins) const;
85
86 QSize sizeHint() const;
87
88public:
89
90 void Bell();
91 void emitText(QString text);
92 void pasteClipboard();
93
94signals:
95
96 void keyPressedSignal(QKeyEvent *e);
97 void mouseSignal(int cb, int cx, int cy);
98 void changedImageSizeSignal(int lines, int columns);
99 void changedHistoryCursor(int value);
100 void configureRequest( Widget*, int state, int x, int y );
101
102 void clearSelectionSignal();
103 void beginSelectionSignal( const int x, const int y );
104 void extendSelectionSignal( const int x, const int y );
105 void endSelectionSignal(const BOOL preserve_line_breaks);
106
107
108protected:
109
110 virtual void styleChange( QStyle& );
111
112 bool eventFilter( QObject *, QEvent * );
113
114 void drawAttrStr(QPainter &paint, QRect rect,
115 QString& str, Character attr, BOOL pm, BOOL clear);
116 void paintEvent( QPaintEvent * );
117
118 void resizeEvent(QResizeEvent*);
119
120 void fontChange(const QFont &font);
121 void frameChanged();
122
123 void mouseDoubleClickEvent(QMouseEvent* ev);
124 void mousePressEvent( QMouseEvent* );
125 void mouseReleaseEvent( QMouseEvent* );
126 void mouseMoveEvent( QMouseEvent* );
127
128 void focusInEvent( QFocusEvent * );
129 void focusOutEvent( QFocusEvent * );
130 bool focusNextPrevChild( bool next );
131
132#ifndef QT_NO_DRAGANDDROP
133 // Dnd
134 void dragEnterEvent(QDragEnterEvent* event);
135 void dropEvent(QDropEvent* event);
136#endif
137
138 virtual int charClass(char) const;
139
140 void clearImage();
141
142public:
143 const QPixmap *backgroundPixmap();
144
145 void setSelection(const QString &t);
146
147 virtual void setFont(const QFont &);
148 void setVTFont(const QFont &);
149 QFont getVTFont();
150
151 void setMouseMarks(bool on);
152
153public slots:
154
155 void onClearSelection();
156
157protected slots:
158
159 void scrollChanged(int value);
160 void blinkEvent();
161
162private:
163
164 QChar (*fontMap)(QChar); // possible vt100 font extention
165
166 bool fixed_font; // has fixed pitch
167 int font_h; // height
168 int font_w; // width
169 int font_a; // ascend
170
171 int blX; // actual offset (left)
172 int brX; // actual offset (right)
173 int bY; // actual offset
174
175 int lines;
176 int columns;
177 Character *image; // [lines][columns]
178
179 ColorEntry color_table[TABLE_COLORS];
180
181 BOOL resizing;
182 bool mouse_marks;
183
184 void makeImage();
185
186 QPoint iPntSel; // initial selection point
187 QPoint pntSel; // current selection point
188 int actSel; // selection state
189 BOOL word_selection_mode;
190 BOOL preserve_line_breaks;
191
192 QClipboard* cb;
193 QScrollBar* scrollbar;
194 int scrollLoc;
195
196//#define SCRNONE 0
197//#define SCRLEFT 1
198//#define SCRRIGHT 2
199
200 BOOL blinking; // hide text in paintEvent
201 BOOL hasBlinker; // has characters to blink
202 QTimer* blinkT; // active when hasBlinker
203 QPopupMenu* m_drop;
204 QString dropText;
205 public:
206 // current session in this widget
207 // ibot: switch from TESession to Session!
208 Session *currentSession;
209private slots:
210 void drop_menu_activated(int item);
211};
212
213#endif // TE_WIDGET_H