Qt logo

QMultiLineEdit Class Reference


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

#include <qmultilineedit.h>

Inherits QTableView.

List of all member functions.

Public Members

Public Slots

Signals

Protected Members


Detailed 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.

Examples: mainlyQt/editor.cpp layout/layout.cpp mainlyXt/editor.cpp mainlyMotif/editor.cpp rot13/rot13.cpp scrollview/scrollview.cpp customlayout/main.cpp


Member Type Documentation

QMultiLineEdit::EchoMode

This enum type describes the ways in which QLineEdit can display its contents. The currently defined values are:

See also: setEchoMode(), echoMode() and QLineEdit::EchoMode.


Member Function Documentation

QMultiLineEdit::QMultiLineEdit ( QWidget * parent=0, const char * name=0 )

Creates a new, empty, QMultiLineEdit.

QMultiLineEdit::~QMultiLineEdit ()

Destroys the QMultiLineEdit.

int QMultiLineEdit::alignment () const

Not supported at this time.

void QMultiLineEdit::append ( const QString & 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::copy () const [slot]

Copies the marked text to the clipboard. Will only copy if echoMode() is Normal.

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

This function is obsolete. It is provided to keep old programs working. We strongly advise against using it in new code.

Use getCursorPosition() instead.

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::cursorWordBackward ( bool mark )

Moves the cursor one word to the left. If mark is TRUE, the text is marked.

See also: cursorWordForward().

void QMultiLineEdit::cursorWordForward ( bool mark )

Moves the cursor one word to the right. If mark is TRUE, the text is marked.

See also: cursorWordBackward().

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::dragLeaveEvent ( QDragLeaveEvent * ) [virtual protected]

Handles drag leave events, cancelling any auto-scrolling.

Reimplemented from QWidget.

void QMultiLineEdit::dragMoveEvent ( QDragMoveEvent * event ) [virtual protected]

Handles drag motion events, accepting text and positioning the cursor.

Reimplemented from QWidget.

void QMultiLineEdit::dropEvent ( QDropEvent * event ) [virtual protected]

Handles drop events, pasting text.

Reimplemented from QWidget.

QMultiLineEdit::EchoMode QMultiLineEdit::echoMode() const

Returns the currently set echo mode.

See also: setEchoMode().

bool QMultiLineEdit::edited () const

Returns the edited flag of the line edit. If this returns FALSE, the contents has not been changed since the construction of the QMultiLineEdit (or the last call to setEdited( FALSE ), if any). If it returns true, the contents have been edited, or setEdited( TRUE ) has been called.

See also: setEdited().

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 ) const

Returns the current line and character position within that line, in the variables pointed to by line and col respectively.

See also: setCursorPosition().

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.

int QMultiLineEdit::hMargin () const

Returns the horizontal margin current set. The default is 3.

See also: setHMargin().

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::insert ( const QString & s ) [slot]

Inserts s at the current cursor position.

void QMultiLineEdit::insert ( const QString & str, bool mark ) [virtual protected]

Inserts c at the current cursor position.

void QMultiLineEdit::insertAt ( const QString & txt, int line, int col, bool mark = FALSE ) [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 position, the cursor is placed after the end of the new text.

void QMultiLineEdit::insertChar ( QChar c ) [protected]

Inserts c at the current cursor position. (this function is provided for backward compatibility - it simply calls insert()).

void QMultiLineEdit::insertLine ( const QString & 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:

All other keys with valid ASCII codes insert themselves into the line.

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

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::maxLineLength () const

Returns the currently set line length limit, or -1 if there is no limit (this is the default).

See also: setMaxLineLength().

int QMultiLineEdit::maxLineWidth () const

Returns the width in pixels of the longest text line in this editor.

int QMultiLineEdit::maxLines () const

Returns the currently set line limit, or -1 if there is no limit (the default).

See also: setMaxLines().

QSize QMultiLineEdit::minimumSizeHint () const [virtual]

Returns a size sufficient for one character, and scroll bars.

Reimplemented from QWidget.

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 * e ) [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 for internal purposes.

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::setAlignment ( int flags )

Not supported at this time.

void QMultiLineEdit::setAutoUpdate ( bool enable ) [virtual]

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 (preferable repaint(FALSE) to avoid flicker).

See also: autoUpdate() and repaint().

void QMultiLineEdit::setCursorPosition ( int line, int col, bool mark = FALSE ) [virtual]

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::setEchoMode ( EchoMode em ) [virtual]

Sets the echo mode to em. The default is Normal.

The display is updated according.

See also: setEchoMode().

void QMultiLineEdit::setEdited ( bool e )

Sets the edited flag of this line edit to on. The edited flag is never read by QMultiLineEdit, but is changed to TRUE whenever the user changes its contents.

This is useful e.g. for things that need to provide a default value, but cannot find the default at once. Just open the widget without the best default and when the default is known, check the edited() return value and set the line edit's contents if the user has not started editing the line edit. Another example is to detect whether the contents need saving.

See also: edited().

void QMultiLineEdit::setFixedVisibleLines ( int lines ) [virtual]

Sets the fixed height of the QMultiLineEdit so that lines text lines are visible given the current font.

See also: setMaxLines() and setFixedHeight().

void QMultiLineEdit::setFont ( const QFont & font ) [virtual]

Reimplements QWidget::setFont() to update the list box line height.

void QMultiLineEdit::setHMargin ( int m ) [virtual]

Sets the horizontal margin.

See also: hMargin().

void QMultiLineEdit::setMaxLineLength ( int m ) [virtual]

Sets the maximum length of lines to m. Use -1 for unlimited (the default). Existing long lines will be truncated.

See also: maxLineLength().

void QMultiLineEdit::setMaxLines ( int m ) [virtual]

Sets the maximum number of lines to m. Use -1 for unlimited (the default). Existing excess lines will be deleted.

See also: maxLines().

void QMultiLineEdit::setOverwriteMode ( bool on ) [virtual 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 ) [virtual 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::setSelection ( int, int, int, int ) [virtual]

Not supported at this time.

void QMultiLineEdit::setText ( const QString & s ) [virtual slot]

Sets the text to s, removing old text, if any.

Examples: mainlyQt/editor.cpp layout/layout.cpp mainlyXt/editor.cpp mainlyMotif/editor.cpp scrollview/scrollview.cpp customlayout/main.cpp

void QMultiLineEdit::setValidator ( const QValidator * v ) [virtual]

Not supported at this time.

QSize QMultiLineEdit::sizeHint () const [virtual]

Returns a size sufficient for a few lines of text, or any value set by setFixedVisibleLines().

Reimplemented from QWidget.

QSizePolicy QMultiLineEdit::sizePolicy () const [virtual]

Specifies that this widget can use additional space, and that it can survive on less than sizeHint().

Reimplemented from QWidget.

QString QMultiLineEdit::stringShown ( int row ) const [protected]

Returns the string shown at line row, including processing of the echoMode().

QString QMultiLineEdit::text () const

Returns a copy of the whole text. If the multi line edit contains no text, a null 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().

QString QMultiLineEdit::textLine ( int line ) const

Returns the text at line number line (possibly the empty string), or a null string if line is invalid.

int QMultiLineEdit::textWidth ( const 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.

const QValidator * QMultiLineEdit::validator () const

Not supported at this time.

void QMultiLineEdit::wheelEvent ( QWheelEvent * e ) [virtual protected]

An override - pass wheel events to the vertical scrollbar.

Reimplemented from QWidget.


Search the documentation, FAQ, qt-interest archive and more (uses www.troll.no):


This file is part of the Qt toolkit, copyright © 1995-99 Troll Tech, all rights reserved.


Copyright © 1999 Troll TechTrademarks
Qt version 2.0.2