QtMultiLineEdit Class Reference
The QtMultiLineEdit widget is a simple editor for inputting text.
More...
#include <qtmultilineedit.h>
Inherits QtTableView.
List of all member functions.
Public Members
Public Slots
Signals
Static Public Members
Properties
int numLines
bool atBeginning
bool atEnd
int maxLineWidth
Alignment alignment
bool edited
EchoMode echoMode
int maxLength
int maxLines
int hMargin
WordWrap wordWrap
int wrapColumnOrWidth
WrapPolicy wrapPolicy
bool autoUpdate
bool undoEnabled
int undoDepth
bool readOnly
bool overWriteMode
QString text
int length
Protected Members
virtual void
paintCell ( QPainter * painter, int row, int col )
virtual void
insert ( const QString & str, bool mark )
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
home ( bool mark = FALSE )
virtual void
end ( bool mark = FALSE )
bool
getMarkedRegion ( int * line1, int * col1, int * line2, int * col2 ) const
Detailed Description
The QtMultiLineEdit widget is a simple editor for inputting text.
The QtMultiLineEdit 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.
Per default, the edit widget does not perform any word
wrapping. This can be adjusted by calling setWordWrap(). Both
dynamic wrapping according to the visible width or a fixed number of
character or pixels is supported.
The 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.
Member Type Documentation
QtMultiLineEdit::EchoMode
This enum type describes the ways in which QLineEdit can display its
contents. The currently defined values are:
- Normal - display characters as they are entered. This is
the default.
- NoEcho - do not display anything.
- Password - display asterisks instead of the characters
actually entered.
See also setEchoMode(), echoMode() and QLineEdit::EchoMode.
QtMultiLineEdit::WordWrap
This enum describes the multiline edit's word wrap mode.
The following values are valid:
- NoWrap - no word wrap at all.
- WidgetWidth - word wrap depending on the current
width of the editor widget
- FixedPixelWidth - wrap according to a fix amount
of pixels ( see wrapColumnOrWidth() )
- FixedColumnWidth - wrap according to a fix character
column. This is useful whenever you need formatted text that
can also be displayed gracefully on devices with monospaced
fonts, for example a standard VT100 terminal. In that case
wrapColumnOrWidth() should typically be set to 80.
See also setWordWrap().
QtMultiLineEdit::WrapPolicy
Defines where text can be wrapped in word wrap mode.
The following values are valid:
- AtWhiteSpace - break only after whitespace
- Anywhere - break anywhere
See also setWrapPolicy().
Member Function Documentation
QtMultiLineEdit::QtMultiLineEdit ( QWidget * parent = 0, const char * name = 0 )
Constructs a new, empty, QtMultiLineEdit.
QtMultiLineEdit::~QtMultiLineEdit ()
Destroys the QtMultiLineEdit
int QtMultiLineEdit::alignment () const
Returns the alignment.
See also setAlignment() and Qt::AlignmentFlags.
void QtMultiLineEdit::append ( const QString & s ) [slot]
Appends s to the text.
bool QtMultiLineEdit::atBeginning () const
Returns TRUE if the cursor is placed at the beginning of the text.
bool QtMultiLineEdit::atEnd () const
Returns TRUE if the cursor is placed at the end of the text.
bool QtMultiLineEdit::autoUpdate () const
Returns TRUE if the view updates itself automatically whenever it
is changed in some way.
See also setAutoUpdate().
void QtMultiLineEdit::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 QtMultiLineEdit::clear () [slot]
Removes all text.
void QtMultiLineEdit::copy () const [slot]
Copies the marked text to the clipboard. Will copy only
if echoMode() is Normal.
void QtMultiLineEdit::copyAvailable ( bool yes ) [signal]
This signal is emitted when the availability of cut/copy changes.
If yes is TRUE, then cut() and copy() will work until
copyAvailable( FALSE ) is next emitted.
void QtMultiLineEdit::copyText () const [slot]
This function is obsolete. It is provided to keep old source working. We strongly advise against using it in new code.
Backward compatibility.
void QtMultiLineEdit::cursorDown ( bool mark = FALSE ) [virtual protected]
Moves the cursor one line down. If mark is TRUE, the text
is marked.
See also cursorUp(), cursorLeft() and cursorRight().
void QtMultiLineEdit::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 QtMultiLineEdit::cursorPoint () const [protected]
Returns the top center point where the cursor is drawn
void QtMultiLineEdit::cursorPosition ( int * line, int * col ) const
This function is obsolete. It is provided to keep old source working. We strongly advise against using it in new code.
Use getCursorPosition() instead.
void QtMultiLineEdit::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 QtMultiLineEdit::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 QtMultiLineEdit::cursorWordBackward ( bool mark )
Moves the cursor one word to the left. If mark is TRUE, the text
is marked.
See also cursorWordForward().
void QtMultiLineEdit::cursorWordForward ( bool mark )
Moves the cursor one word to the right. If mark is TRUE, the text
is marked.
See also cursorWordBackward().
void QtMultiLineEdit::cut () [slot]
Copies the selected text to the clipboard and deletes the selected text.
int QtMultiLineEdit::defaultTabStop () [static]
Returns the distance between tab stops.
See also setDefaultTabStop().
void QtMultiLineEdit::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 QtMultiLineEdit::deselect () [slot]
Deselects all text (i.e. removes marking) and leaves the cursor at the
current position.
EchoMode QtMultiLineEdit::echoMode () const
Returns the currently set echo mode.
See also setEchoMode().
bool QtMultiLineEdit::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
QtMultiLineEdit (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 QtMultiLineEdit::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 QtMultiLineEdit::focusInEvent ( QFocusEvent * ) [virtual protected]
Starts the cursor blinking.
Reimplemented from QWidget.
void QtMultiLineEdit::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 QtMultiLineEdit::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 * QtMultiLineEdit::getString ( int line ) const [protected]
Returns a pointer to the text at line line.
int QtMultiLineEdit::hMargin () const
Returns the horizontal margin current set. The default is 3.
See also setHMargin().
bool QtMultiLineEdit::hasMarkedText () const [protected]
Returns TRUE if there is marked text.
void QtMultiLineEdit::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 QtMultiLineEdit::insert ( const QString & s ) [slot]
Inserts s at the current cursor position.
void QtMultiLineEdit::insert ( const QString & str, bool mark ) [virtual protected]
Inserts c at the current cursor position.
void QtMultiLineEdit::insertAt ( const QString & s, int line, int col, bool mark = FALSE ) [virtual]
Inserts s at line number line, after character number col
in the line.
If s 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 QtMultiLineEdit::insertChar ( QChar c ) [protected]
Inserts c at the current cursor position.
(this function is provided for backward compatibility -
it simply calls insert()).
void QtMultiLineEdit::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 QtMultiLineEdit::isEndOfParagraph ( int row ) const [protected]
Returns wether row is the last row in a paragraph.
This function is only interesting in word wrap mode, otherwise its
return value is always TRUE.
See also setWordWrap().
bool QtMultiLineEdit::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 QtMultiLineEdit::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::enabled.
bool QtMultiLineEdit::isUndoEnabled () const
Returns whether the multilineedit is currently undo enabled or not.
See also setUndoEnabled().
void QtMultiLineEdit::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
- Control-Z Undo the last operation
- Control-Y Redo the last operation
- Control - Left Arrow Move the cursor one word leftwards
- Control - Right Arrow Move the cursor one word rightwards
- Control - Up Arrow Move the cursor one word upwards
- Control - Down Arrow Move the cursor one word downwards
- Control - Home Arrow Move the cursor to the beginning of the text
- Control - End Arrow Move the cursor to the end of the text
In addition, the following key bindings are used on Windows:
- Shift - Delete Cut the marked text, copy to clipboard
- Shift - Insert Paste the clipboard text into line edit
- Control - Insert Copy the marked text to the 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
- Control-C Copy the marked text to the clipboard
Reimplemented from QWidget.
void QtMultiLineEdit::killLine () [virtual protected]
Deletes text from the current cursor position to the end of the line.
int QtMultiLineEdit::length () const
Returns the length of the current text.
See also setMaxLength().
int QtMultiLineEdit::lineLength ( int line ) const [protected]
Returns the number of characters at line number line.
QString QtMultiLineEdit::markedText () const [protected]
Returns a copy of the marked text.
int QtMultiLineEdit::maxLength () const
Returns the currently set text length limit, or -1 if there is
no limit (this is the default).
See also setMaxLength().
int QtMultiLineEdit::maxLineLength () const
Returns the currently set line length limit, or -1 if there is
no limit (this is the default).
See also setMaxLineLength().
int QtMultiLineEdit::maxLineWidth () const
Returns the width in pixels of the longest text line in this editor.
int QtMultiLineEdit::maxLines () const
Returns the currently set line limit, or -1 if there is
no limit (the default).
See also setMaxLines().
QSize QtMultiLineEdit::minimumSizeHint () const [virtual]
Returns a size sufficient for one character, and scroll bars.
Reimplemented from QWidget.
void QtMultiLineEdit::newLine () [virtual protected]
Makes a line break at the current cursor position.
int QtMultiLineEdit::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 QtMultiLineEdit::pageDown ( bool mark = FALSE ) [virtual protected]
Moves the cursor one page down. If mark is TRUE, the text
is marked.
void QtMultiLineEdit::pageUp ( bool mark = FALSE ) [virtual protected]
Moves the cursor one page up. If mark is TRUE, the text
is marked.
void QtMultiLineEdit::paintCell ( QPainter * painter, int row, int col ) [virtual protected]
Implements the basic drawing logic.
Reimplemented from QtTableView.
void QtMultiLineEdit::paste () [slot]
Copies plain text from the clipboard onto the current cursor position.
Any marked text is first deleted.
void QtMultiLineEdit::pasteSubType ( const QCString & subtype ) [slot]
Copies text in MIME subtype subtype from the clipboard onto the current
cursor position.
Any marked text is first deleted.
void QtMultiLineEdit::redo () [slot]
Redoes the last text operation.
void QtMultiLineEdit::redoAvailable ( bool yes ) [signal]
This signal is emitted when the availability of redo changes.
If yes is TRUE, then redo() will work until
redoAvailable( FALSE ) is next emitted.
void QtMultiLineEdit::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 QtMultiLineEdit::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 QtMultiLineEdit::selectAll () [slot]
Selects all text without moving the cursor.
void QtMultiLineEdit::setAlignment ( int flags )
Sets the alignment. Possible values are AlignLeft, Align(H)Center
and AlignRight.
See also alignment() and Qt::AlignmentFlags.
void QtMultiLineEdit::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().
Reimplemented from QtTableView.
void QtMultiLineEdit::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 QtMultiLineEdit::setDefaultTabStop ( int ex ) [static]
Sets the distance between tab stops for all QtMultiLineEdit instances
to ex, which is measured in multiples of the width of a lower case 'x'
in the widget's font. The initial value is 8.
Warning: This function does not cause a redraw. It is best to call
it before any QtMultiLineEdit widgets are shown.
See also defaultTabStop().
void QtMultiLineEdit::setEchoMode ( EchoMode em ) [virtual]
Sets the echo mode to em. The default is Normal.
The display is updated according.
See also
void QtMultiLineEdit::setEdited ( bool e )
Sets the edited flag of this line edit to e. The edited flag
is never read by QtMultiLineEdit, 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 QtMultiLineEdit::setFixedVisibleLines ( int lines ) [virtual]
Sets the fixed height of the QtMultiLineEdit so that lines text lines
are visible given the current font.
See also setMaxLines() and setFixedHeight().
void QtMultiLineEdit::setHMargin ( int m ) [virtual]
Sets the horizontal margin.
See also hMargin().
void QtMultiLineEdit::setMaxLength ( int m )
Sets the maximum text length to m. Use -1 for unlimited
(the default). Existing overlong text will be truncated.
See also maxLength().
void QtMultiLineEdit::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 QtMultiLineEdit::setMaxLines ( int m ) [virtual]
Sets the maximum number of lines to m. Use -1 for unlimited
(the default). Existing excess lines will be deleted.
Note that excess lines are deleted from the bottom of the
lines. If you want teletype behaviour with lines disappearing
from the top as the limit is exceed, you probably just want
to use removeLine(0) prior to adding an excess line.
See also maxLines() and numLines().
void QtMultiLineEdit::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 QtMultiLineEdit::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 isReadOnly() and QWidget::enabled.
void QtMultiLineEdit::setSelection ( int row_from, int col_from, int row_to, int col_to ) [virtual]
Marks the text starting at row_from, col_from and ending
at row_to, col_to.
void QtMultiLineEdit::setText ( const QString & s ) [virtual slot]
Sets the text to s, removing old text, if any.
void QtMultiLineEdit::setUndoDepth ( int depth )
Sets the maximum number of operations that can be stored on the undo stack.
See also undoDepth().
void QtMultiLineEdit::setUndoEnabled ( bool enable )
Sets undo enabled to enable.
See also isUndoEnabled().
void QtMultiLineEdit::setValidator ( const QValidator * v ) [virtual]
Not supported at this time.
void QtMultiLineEdit::setWordWrap ( WordWrap mode )
Sets the word wrap mode.
Per default, wrapping keeps words intact. To allow breaking within
words, set the wrap policy to Anywhere (see setWrapPolicy() ).
The default wrap mode is NoWrap.
See also wordWrap(), setWrapColumnOrWidth() and setWrapPolicy().
void QtMultiLineEdit::setWrapColumnOrWidth ( int value )
Sets the wrap column or wrap width, depending on the word wrap mode.
See also setWordWrap().
void QtMultiLineEdit::setWrapPolicy ( WrapPolicy policy )
Defines where text can be wrapped in word wrap mode.
The default is AtWhiteSpace.
See also setWordWrap() and wrapPolicy().
QString QtMultiLineEdit::stringShown ( int row ) const [protected]
Returns the string shown at line row, including
processing of the echoMode().
QString QtMultiLineEdit::text () const
Returns a copy of the whole text. If the multi line edit contains no
text, a
null string
is returned.
void QtMultiLineEdit::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 QtMultiLineEdit::textLine ( int line ) const
Returns the text at line number line (possibly the empty string),
or a null string if line is invalid.
int QtMultiLineEdit::textWidth ( int line ) [protected]
Returns the width in pixels of the text at line line.
int QtMultiLineEdit::textWidth ( const QString & s ) [protected]
Returns the width in pixels of the string s.
NOTE: only appropriate for whole lines.
void QtMultiLineEdit::undo () [slot]
Undoes the last text operation.
void QtMultiLineEdit::undoAvailable ( bool yes ) [signal]
This signal is emitted when the availability of undo changes.
If yes is TRUE, then undo() will work until
undoAvailable( FALSE ) is next emitted.
int QtMultiLineEdit::undoDepth () const
Returns the maximum number of operations that can be stored on the undo stack.
See also setUndoDepth().
const QValidator * QtMultiLineEdit::validator () const
Not supported at this time.
WordWrap QtMultiLineEdit::wordWrap () const
Returns the current word wrap mode.
See also setWordWrap().
int QtMultiLineEdit::wrapColumnOrWidth () const
Returns the wrap column or wrap width, depending on the word wrap
mode.
See also setWordWrap() and setWrapColumnOrWidth().
WrapPolicy QtMultiLineEdit::wrapPolicy () const
Returns the current word wrap policy.
See also setWrapPolicy().
Search the documentation, FAQ, qt-interest archive and more (uses
www.trolltech.com):
This file is part of the Qt toolkit,
copyright © 1995-2001
Trolltech, all rights reserved.
Copyright © 2001 Trolltech | Trademarks
| Qt version 3.0.0-beta1-beta1
|