Prepare for QTextEdit transition: Add KTextEdit::charAt() for wordAtPoint().
[kdbg.git] / kdbg / textvw.h
blob38774e14e79796f6944feabafca0838dab16ca53
1 // $Id$
3 // Copyright by Johannes Sixt
4 // This file is under GPL, the GNU General Public Licence
6 #ifndef TEXTVW_H
7 #define TEXTVW_H
9 #include "tableview.h"
10 #include <vector>
12 class KTextView : public TableView
14 Q_OBJECT
15 public:
16 KTextView(QWidget* parent = 0, const char* name = 0, WFlags f = 0);
17 ~KTextView();
18 void insertLine(const QString& text);
19 void replaceLine(int line, const QString& text);
20 virtual void setCursorPosition(int row, int col);
21 virtual void cursorPosition(int* row, int* col);
22 int charAt(const QPoint& p, int* para);
23 protected:
24 virtual int cellWidth(int col) const;
25 virtual int cellHeight(int row) const;
26 virtual void paintCell(QPainter* p, int row, int col);
27 virtual void activateLine(int row);
28 virtual int textCol() const;
29 virtual bool updateCellSize(const QString& text);
30 virtual void setupPainter(QPainter* p);
32 signals:
33 void lineChanged();
35 public slots:
36 void setTabWidth(int numChars);
38 // event handling
39 protected:
40 virtual void keyPressEvent(QKeyEvent* ev);
41 virtual void mousePressEvent(QMouseEvent* ev);
42 virtual void focusInEvent(QFocusEvent* ev);
43 virtual void focusOutEvent(QFocusEvent* ev);
45 void paletteChange(const QPalette& oldPal);
47 int m_width;
48 int m_height; /* line height */
49 int m_tabWidth; /* in pixels */
51 std::vector<QString> m_texts;
52 int m_curRow; /* cursor position */
55 #endif // TEXTVW_H