1
/****************************************************************************
3
** Copyright (C) 1992-2005 Trolltech AS. All rights reserved.
5
** This file is part of the Qt 3 compatibility classes of the Qt Toolkit.
7
** This file may be distributed under the terms of the Q Public License
8
** as defined by Trolltech AS of Norway and appearing in the file
9
** LICENSE.QPL included in the packaging of this file.
11
** This file may be distributed and/or modified under the terms of the
12
** GNU General Public License version 2 as published by the Free Software
13
** Foundation and appearing in the file LICENSE.GPL included in the
14
** packaging of this file.
16
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
17
** information about Qt Commercial License Agreements.
18
** See http://www.trolltech.com/qpl/ for QPL licensing information.
19
** See http://www.trolltech.com/gpl/ for GPL licensing information.
21
** Contact info@trolltech.com if any conditions of this licensing are
24
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
25
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27
****************************************************************************/
29
#ifndef Q3MULTILINEEDIT_H
30
#define Q3MULTILINEEDIT_H
32
#include "Qt3Support/q3textedit.h"
34
#ifndef QT_NO_MULTILINEEDIT
36
class Q3MultiLineEditCommand;
38
class Q3MultiLineEditData;
40
class Q_COMPAT_EXPORT Q3MultiLineEdit : public Q3TextEdit
43
Q_PROPERTY(int numLines READ numLines)
44
Q_PROPERTY(bool atBeginning READ atBeginning)
45
Q_PROPERTY(bool atEnd READ atEnd)
46
Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment)
47
Q_PROPERTY(bool edited READ edited WRITE setEdited DESIGNABLE false)
50
Q3MultiLineEdit(QWidget* parent=0, const char* name=0);
53
QString textLine(int line) const;
56
virtual void insertLine(const QString &s, int line = -1);
57
virtual void insertAt(const QString &s, int line, int col) {
58
insertAt(s, line, col, false);
60
virtual void insertAt(const QString &s, int line, int col, bool mark);
61
virtual void removeLine(int line);
62
virtual void setCursorPosition(int line, int col) {
63
setCursorPosition(line, col, false);
65
virtual void setCursorPosition(int line, int col, bool mark);
66
bool atBeginning() const;
69
void setAlignment(Qt::Alignment flags);
70
Qt::Alignment alignment() const;
75
bool hasMarkedText() const;
76
QString markedText() const;
78
void cursorWordForward(bool mark);
79
void cursorWordBackward(bool mark);
82
bool autoUpdate() const { return true; }
83
virtual void setAutoUpdate(bool) {}
85
int totalWidth() const { return contentsWidth(); }
86
int totalHeight() const { return contentsHeight(); }
88
int maxLines() const { return QWIDGETSIZE_MAX; }
89
void setMaxLines(int) {}
92
void deselect() { selectAll(false); }
95
QPoint cursorPoint() const;
96
virtual void insertAndMark(const QString&, bool mark);
97
virtual void newLine();
98
virtual void killLine();
99
virtual void pageUp(bool mark=false);
100
virtual void pageDown(bool mark=false);
101
virtual void cursorLeft(bool mark=false, bool wrap = true);
102
virtual void cursorRight(bool mark=false, bool wrap = true);
103
virtual void cursorUp(bool mark=false);
104
virtual void cursorDown(bool mark=false);
105
virtual void backspace();
106
virtual void home(bool mark=false);
107
virtual void end(bool mark=false);
109
bool getMarkedRegion(int *line1, int *col1, int *line2, int *col2) const;
110
int lineLength(int row) const;
113
Q_DISABLE_COPY(Q3MultiLineEdit)
115
Q3MultiLineEditData *d;
118
#endif // QT_NO_MULTILINEEDIT
120
#endif // QMULTILINEEDIT_H