aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/items/qquicktextedit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/items/qquicktextedit.cpp')
-rw-r--r--src/declarative/items/qquicktextedit.cpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/declarative/items/qquicktextedit.cpp b/src/declarative/items/qquicktextedit.cpp
index c5b2f5750b..1a467c5393 100644
--- a/src/declarative/items/qquicktextedit.cpp
+++ b/src/declarative/items/qquicktextedit.cpp
@@ -1975,4 +1975,64 @@ void QQuickTextEdit::q_canPasteChanged()
emit canPasteChanged();
}
+/*!
+ \qmlmethod string QtQuick2::TextEdit::getText(int start, int end)
+
+ Returns the section of text that is between the \a start and \a end positions.
+
+ The returned text does not include any rich text formatting.
+*/
+
+QString QQuickTextEdit::getText(int start, int end) const
+{
+ Q_D(const QQuickTextEdit);
+ start = qBound(0, start, d->document->characterCount() - 1);
+ end = qBound(0, end, d->document->characterCount() - 1);
+ QTextCursor cursor(d->document);
+ cursor.setPosition(start, QTextCursor::MoveAnchor);
+ cursor.setPosition(end, QTextCursor::KeepAnchor);
+ return cursor.selectedText();
+}
+
+/*!
+ \qmlmethod void QtQuick2::TextEdit::insert(int position, string text)
+
+ Inserts \a text into the TextEdit at position.
+*/
+void QQuickTextEdit::insert(int position, const QString &text)
+{
+ Q_D(QQuickTextEdit);
+ if (position < 0 || position >= d->document->characterCount())
+ return;
+ QTextCursor cursor(d->document);
+ cursor.setPosition(position);
+ d->richText = d->richText || (d->format == AutoText && Qt::mightBeRichText(text));
+ if (d->richText) {
+#ifndef QT_NO_TEXTHTMLPARSER
+ cursor.insertHtml(text);
+#else
+ cursor.insertText(text);
+#endif
+ } else {
+ cursor.insertText(text);
+ }
+}
+
+/*!
+ \qmlmethod string QtQuick2::TextEdit::getText(int start, int end)
+
+ Removes the section of text that is between the \a start and \a end positions from the TextEdit.
+*/
+
+void QQuickTextEdit::remove(int start, int end)
+{
+ Q_D(QQuickTextEdit);
+ start = qBound(0, start, d->document->characterCount() - 1);
+ end = qBound(0, end, d->document->characterCount() - 1);
+ QTextCursor cursor(d->document);
+ cursor.setPosition(start, QTextCursor::MoveAnchor);
+ cursor.setPosition(end, QTextCursor::KeepAnchor);
+ cursor.removeSelectedText();
+}
+
QT_END_NAMESPACE