QMultiLineEdit(3qt)

NAME
QMultiLineEdit - Simple editor for inputting text

SYNOPSIS

#include <qmultilinedit.h>

Inherits QTableView.

  Public Members
QMultiLineEdit ( QWidget * parent=0, const char * name=0 )
~QMultiLineEdit ()
const char* textLine ( int line ) const
QString text () const
int numLines () const
bool isReadOnly () const
bool isOverwriteMode () const
virtual void setFont ( const QFont & font )
virtual void insertLine ( const char * s, int line = -1 )
virtual void insertAt ( const char * s, int line, int col )
virtual void removeLine ( int line )
void cursorPosition ( int * line, int * col ) const
void setCursorPosition ( int line, int col, bool mark = FALSE )
void getCursorPosition ( int * line, int * col )
bool atBeginning () const
bool atEnd () const
bool autoUpdate () const
void setAutoUpdate ( bool )
void setFixedVisibleLines ( int lines )
int maxLineWidth () const

  Public Slots
void clear ()
void setText ( const char * )
void append ( const char * )
void deselect ()
void selectAll ()
void setReadOnly ( bool )
void setOverwriteMode ( bool )
void paste ()
void copyText ()
void cut ()

  Signals
void textChanged ()
void returnPressed ()

  Protected Members
virtual void paintCell ( QPainter *, int row, int col )
virtual void mousePressEvent ( QMouseEvent * )
virtual void mouseMoveEvent ( QMouseEvent * )
virtual void mouseReleaseEvent ( QMouseEvent * )
virtual void mouseDoubleClickEvent ( QMouseEvent * )
virtual void keyPressEvent ( QKeyEvent * )
virtual void focusInEvent ( QFocusEvent * )
virtual void focusOutEvent ( QFocusEvent * )
virtual void timerEvent ( QTimerEvent * )
virtual void leaveEvent ( QEvent * )
virtual void resizeEvent ( QResizeEvent * )
bool hasMarkedText () const
QString markedText () const
int textWidth ( int )
int textWidth ( QString * )
QPoint cursorPoint () const
virtual void insertChar ( char )
virtual void newLine ()
virtual void killLine ()
virtual void pageUp ( bool mark=FALSE )
virtual void pageDown ( bool mark=FALSE )
virtual void cursorLeft ( bool mark=FALSE, bool wrap = TRUE )
virtual void cursorRight ( bool mark=FALSE, bool wrap = TRUE )
virtual void cursorUp ( bool mark=FALSE )
virtual void cursorDown ( bool mark=FALSE )
virtual void backspace ()
virtual void del ()
virtual void home ( bool mark=FALSE )
virtual void end ( bool mark=FALSE )
bool getMarkedRegion ( int * line1, int * col1, int * line2, int * col2 ) const
int lineLength ( int row ) const
QString* getString ( int row ) const

DESCRIPTION
The QMultiLineEdit widget is a simple editor for inputting text.

The QMultiLineEdit widget provides multiple line text input and display. It is intended for moderate amounts of text. There are no arbitrary limitations, but if you try to handle megabytes of data, performance will suffer.

This widget can be used to display text by calling setReadOnly(TRUE)

The default key bindings are described in keyPressEvent(); they cannot be customized except by inheriting the class.

[Image Omitted]

[Image Omitted]

Examples: mainlyMotif/editor.cpp mainlyQt/editor.cpp application/application.cpp pref/pref.cpp layout/layout.cpp mainlyXt/editor.cpp widgets/widgets.cpp

MEMBER FUNCTION DOCUMENTATION

QMultiLineEdit::QMultiLineEdit ( QWidget * parent=0, const char * name=0 )
Creates a new, empty, QMultiLineEdit.

QMultiLineEdit::~QMultiLineEdit ()
Destroys the QMultiLineEdit.

void QMultiLineEdit::append ( const char * s ) [slot]
Appends s to the text.

bool QMultiLineEdit::atBeginning () const
Returns TRUE if the cursor is placed at the beginning of the text.

bool QMultiLineEdit::atEnd () const
Returns TRUE if the cursor is placed at the end of the text.

bool QMultiLineEdit::autoUpdate () const
Returns TRUE if the view updates itself automatically whenever it is changed in some way.

See also: setAutoUpdate().

void QMultiLineEdit::backspace () [virtual protected]
Deletes the character on the left side of the text cursor and moves the cursor one position to the left. If a text has been marked by the user (e.g. by clicking and dragging) the cursor is put at the beginning of the marked text and the marked text is removed.

See also: del().

void QMultiLineEdit::clear () [slot]
Removes all text.

void QMultiLineEdit::copyText () [slot]
Copies the marked text to the clipboard.

void QMultiLineEdit::cursorDown ( bool mark=FALSE ) [virtual protected]
Moves the cursor one line down. If mark is TRUE, the text is marked.

See also: cursorDown(), cursorLeft() and cursorRight().

void QMultiLineEdit::cursorLeft ( bool mark=FALSE, bool wrap = TRUE ) [virtual protected]
Moves the cursor one character to the left. If mark is TRUE, the text is marked. If wrap is TRUE, the cursor moves to the end of the previous line if it is placed at the beginning of the current line.

See also: cursorRight(), cursorUp() and cursorDown().

QPoint QMultiLineEdit::cursorPoint () const [protected]
Returns the top center point where the cursor is drawn.

void QMultiLineEdit::cursorPosition ( int * line, int * col ) const
Sets line to the current line and col to the current character position within that line.

See also: setCursorPosition().

void QMultiLineEdit::cursorRight ( bool mark=FALSE, bool wrap = TRUE ) [virtual protected]
Moves the cursor one character to the right. If mark is TRUE, the text is marked. If wrap is TRUE, the cursor moves to the beginning of the next line if it is placed at the end of the current line.

See also: cursorLeft(), cursorUp() and cursorDown().

void QMultiLineEdit::cursorUp ( bool mark=FALSE ) [virtual protected]
Moves the cursor up one line. If mark is TRUE, the text is marked.

See also: cursorDown(), cursorLeft() and cursorRight().

void QMultiLineEdit::cut () [slot]
Copies the selected text to the clipboard and deletes the selected text.

void QMultiLineEdit::del () [virtual protected]
Deletes the character on the right side of the text cursor. If a text has been marked by the user (e.g. by clicking and dragging) the cursor is put at the beginning of the marked text and the marked text is removed.

See also: backspace().

void QMultiLineEdit::deselect () [slot]
Deselects all text (i.e. removes marking) and leaves the cursor at the current position.

void QMultiLineEdit::end ( bool mark=FALSE ) [virtual protected]
Moves the text cursor to the right end of the line. If mark is TRUE text is marked towards the last position. If it is FALSE and the cursor is moved, all marked text is unmarked.

See also: home().

void QMultiLineEdit::focusInEvent ( QFocusEvent * ) [virtual protected]
Starts the cursor blinking.

Reimplemented from QWidget.

void QMultiLineEdit::focusOutEvent ( QFocusEvent * ) [virtual protected]
stops the cursor blinking.

Reimplemented from QWidget.

void QMultiLineEdit::getCursorPosition ( int * line, int * col )
Sets line to the current line and col to the current character position within that line.

OBSOLETE - Use cursorPosition() instead.

bool QMultiLineEdit::getMarkedRegion ( int * line1, int * col1, int * line2, int * col2 ) const [protected]
If there is marked text, sets line1, col1, line2 and col2 to the start and end of the marked region and returns TRUE. Returns FALSE if there is no marked text.

QString * QMultiLineEdit::getString ( int line ) const [protected]
Returns a pointer to the text at line line.

bool QMultiLineEdit::hasMarkedText () const [protected]
Returns TRUE if there is marked text.

void QMultiLineEdit::home ( bool mark=FALSE ) [virtual protected]
Moves the text cursor to the left end of the line. If mark is TRUE, text is marked towards the first position. If it is FALSE and the cursor is moved, all marked text is unmarked.

See also: end().

void QMultiLineEdit::insertAt ( const char * txt, int line, int col ) [virtual]
Inserts txt at line number line, after character number col in the line. If txt contains newline characters, new lines are inserted.

The cursor position is adjusted. If the insertion position is equal to the cursor poition, the cursor is placed after the end of the new text.

void QMultiLineEdit::insertChar ( char c ) [virtual protected]
Inserts c at the current cursor position.

void QMultiLineEdit::insertLine ( const char * txt, int line = -1 ) [virtual]
Inserts txt at line number line. If line is less than zero, or larger than the number of rows, the new text is put at the end. If txt contains newline characters, several lines are inserted.

The cursor position is not changed.

bool QMultiLineEdit::isOverwriteMode () const
Returns TRUE if this multi line edit is in overwrite mode, i.e. if characters typed replace characters in the editor.

See also: setOverwriteMode().

bool QMultiLineEdit::isReadOnly () const
Returns FALSE if this multi line edit accepts text input. Scrolling and cursor movements are accepted in any case.

See also: setReadOnly() and QWidget::isEnabled().

void QMultiLineEdit::keyPressEvent ( QKeyEvent * e ) [virtual protected]
The key press event handler converts a key press to some line editor action.

Here are the default key bindings when isReadOnly() is FALSE:

Left Arrow  Move the cursor one character leftwards

Right Arrow  Move the cursor one character rightwards

Up Arrow  Move the cursor one line upwards

Down Arrow  Move the cursor one line downwards

Page Up  Move the cursor one page upwards

Page Down  Move the cursor one page downwards

Backspace  Delete the character to the left of the cursor

Home  Move the cursor to the beginning of the line

End  Move the cursor to the end of the line

Delete  Delete the character to the right of the cursor

Shift - Left Arrow  Mark text one character leftwards

Shift - Right Arrow  Mark text one character rightwards

Control-A  Move the cursor to the beginning of the line

Control-B  Move the cursor one character leftwards

Control-C  Copy the marked text to the clipboard.

Control-D  Delete the character to the right of the cursor

Control-E  Move the cursor to the end of the line

Control-F  Move the cursor one character rightwards

Control-H  Delete the character to the left of the cursor

Control-K  Delete to end of line

Control-N  Move the cursor one line downwards

Control-P  Move the cursor one line upwards

Control-V  Paste the clipboard text into line edit.

Control-X  Cut the marked text, copy to clipboard. All other keys with valid ASCII codes insert themselves into the line.

Here are the default key bindings when isReadOnly() is TRUE:

Left Arrow  Scrolls the table rightwards

Right Arrow  Scrolls the table rightwards

Up Arrow  Scrolls the table one line downwards

Down Arrow  Scrolls the table one line upwards

Page Up  Scrolls the table one page downwards

Page Down  Scrolls the table one page upwards

Reimplemented from QWidget.

void QMultiLineEdit::killLine () [virtual protected]
Deletes text from the current cursor position to the end of the line.

void QMultiLineEdit::leaveEvent ( QEvent * ) [virtual protected]
Handles auto-copy of selection (X11 only).

Reimplemented from QWidget.

int QMultiLineEdit::lineLength ( int line ) const [protected]
Returns the number of characters at line number line.

QString QMultiLineEdit::markedText () const [protected]
Returns a copy of the marked text.

int QMultiLineEdit::maxLineWidth () const
Returns the width in pixels of the longest text line in this editor.

void QMultiLineEdit::mouseDoubleClickEvent ( QMouseEvent * m ) [virtual protected]
Handles double click events.

Reimplemented from QWidget.

void QMultiLineEdit::mouseMoveEvent ( QMouseEvent * e ) [virtual protected]
Handles mouse move events.

Reimplemented from QWidget.

void QMultiLineEdit::mousePressEvent ( QMouseEvent * m ) [virtual protected]
Handles mouse press events.

Reimplemented from QWidget.

void QMultiLineEdit::mouseReleaseEvent ( QMouseEvent * ) [virtual protected]
Handles mouse release events.

Reimplemented from QWidget.

void QMultiLineEdit::newLine () [virtual protected]
Makes a line break at the current cursor position.

int QMultiLineEdit::numLines () const
Returns the number of lines in the editor. The count includes any empty lines at top and bottom, so for an empty editor this method will return 1.

void QMultiLineEdit::pageDown ( bool mark=FALSE ) [virtual protected]
Moves the cursor one page down. If mark is TRUE, the text is marked.

void QMultiLineEdit::pageUp ( bool mark=FALSE ) [virtual protected]
Moves the cursor one page up. If mark is TRUE, the text is marked.

void QMultiLineEdit::paintCell ( QPainter * painter, int row, int ) [virtual protected]
Implements the basic drawing logic.

Reimplemented from QTableView.

void QMultiLineEdit::paste () [slot]
Copies text from the clipboard onto the current cursor position. Any marked text is first deleted.

void QMultiLineEdit::removeLine ( int line ) [virtual]
Deletes the line at line number line. If line is less than zero, or larger than the number of lines, no line is deleted.

void QMultiLineEdit::resizeEvent ( QResizeEvent * e ) [virtual protected]
Reimplemented to set the column width, so that repaint(FALSE) is safe.

Reimplemented from QWidget.

void QMultiLineEdit::returnPressed () [signal]
This signal is emitted when the user presses the return or enter key. It is not emitted if isReadOnly() is TRUE.

See also: textChanged().

void QMultiLineEdit::selectAll () [slot]
Selects all text without moving the cursor.

void QMultiLineEdit::setAutoUpdate ( bool enable )
Sets the auto-update option of multi-line editor to enable.

If enable is TRUE (this is the default) then the editor updates itself automatically whenever it has changed in some way (generally, when text has been inserted or deleted).

If enable is FALSE, the view does NOT repaint itself, or update its internal state variables itself when it is changed. This can be useful to avoid flicker during large changes, and is singularly useless otherwise: Disable auto-update, do the changes, re-enable auto-update, and call repaint().

Warning: Do not leave the view in this state for a long time (i.e. between events ). If, for example, the user interacts with the view when auto-update is off, strange things can happen.

Setting auto-update to TRUE does not repaint the view, you must call repaint() to do this.

See also: autoUpdate() and repaint().

void QMultiLineEdit::setCursorPosition ( int line, int col, bool mark = FALSE )
Sets the cursor position to character number col in line number line. The parameters are adjusted to lie within the legal range.

If mark is FALSE, the selection is cleared. otherwise it is extended

See also: cursorPosition().

void QMultiLineEdit::setFixedVisibleLines ( int lines )
Sets the fixed height of the QMultiLineEdit so that lines text lines are visible given the current font.

See also: setFixedHeight().

void QMultiLineEdit::setFont ( const QFont & font ) [virtual]
Reimplements QWidget::setFont() to update the list box line height.

Reimplemented from QWidget.

void QMultiLineEdit::setOverwriteMode ( bool on ) [slot]
Sets overwrite mode if on is TRUE. Overwrite mode means that characters typed replace characters in the editor.

See also: isOverwriteMode().

void QMultiLineEdit::setReadOnly ( bool on ) [slot]
If on is FALSE, this multi line edit accepts text input. Scrolling and cursor movements are accepted in any case.

See also: inputEnabled() and QWidget::setEnabled().

void QMultiLineEdit::setText ( const char * s ) [slot]
Sets the text to s, removing old text, if any.

Examples: mainlyMotif/editor.cpp mainlyQt/editor.cpp mainlyXt/editor.cpp widgets/widgets.cpp

QString QMultiLineEdit::text () const
Returns a copy of the whole text. If the multi line edit contains no text, the empty string is returned.

void QMultiLineEdit::textChanged () [signal]
This signal is emitted when the text is changed by an event or by a slot. Note that the signal is not emitted when you call a non-slot function such as insertLine().

See also: returnPressed().

const char * QMultiLineEdit::textLine ( int line ) const
Returns the text at line number line, or 0 if line is invalid.

int QMultiLineEdit::textWidth ( QString * s ) [protected]
Returns the width in pixels of the string s. NOTE: only appropriate for whole lines.

int QMultiLineEdit::textWidth ( int line ) [protected]
Returns the width in pixels of the text at line line.

void QMultiLineEdit::timerEvent ( QTimerEvent * t ) [virtual protected]
Cursor blinking, drag scrolling.

Reimplemented from QObject.

SEE ALSO
http://www.troll.no/qt/qmultilineedit.html

COPYRIGHT
Copyright 1992-1997 Troll Tech AS. See the LICENSE file included in the distribution for a complete license statement.

AUTHOR
Generated automatically from the source code.