aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml')
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml69
1 files changed, 69 insertions, 0 deletions
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml
new file mode 100644
index 0000000000..6789eac28b
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml
@@ -0,0 +1,69 @@
+import QtQuick 1.0
+import "../shared" 1.0
+
+Item {
+ id:lineedit
+ property alias text: textInp.text
+
+ width: textInp.width + 11
+ height: 13 + 11
+
+ Rectangle {
+ color: 'lightsteelblue'
+ anchors.fill: parent
+ }
+ clip: true
+ Component.onCompleted: textInp.cursorPosition = 0;
+ TestTextInput {
+ id:textInp
+ cursorDelegate: Item {
+ Rectangle {
+ visible: parent.parent.focus
+ color: "#009BCE"
+ height: 13
+ width: 2
+ y: 1
+ }
+ }
+ property int leftMargin: 6
+ property int rightMargin: 6
+ x: leftMargin
+ y: 5
+ //Below function implements all scrolling logic
+ onCursorPositionChanged: {
+ if(cursorRectangle.x < leftMargin - textInp.x){//Cursor went off the front
+ textInp.x = leftMargin - Math.max(0, cursorRectangle.x);
+ }else if(cursorRectangle.x > parent.width - leftMargin - rightMargin - textInp.x){//Cusor went off the end
+ textInp.x = leftMargin - Math.max(0, cursorRectangle.x - (parent.width - leftMargin - rightMargin));
+ }
+ }
+
+ autoScroll: false //It is preferable to implement your own scrolling
+ text:""
+ horizontalAlignment: TextInput.AlignLeft
+ font.pixelSize:15
+ selectionColor: 'steelblue'
+ }
+ MouseArea {
+ //Implements all line edit mouse handling
+ id: mainMouseArea
+ anchors.fill: parent;
+ function translateX(x){
+ return x - textInp.x
+ }
+ onPressed: {
+ textInp.focus = true;
+ textInp.cursorPosition = textInp.positionAt(translateX(mouse.x));
+ }
+ onPositionChanged: {
+ textInp.moveCursorSelection(textInp.positionAt(translateX(mouse.x)));
+ }
+ onReleased: {
+ }
+ onDoubleClicked: {
+ textInp.selectAll()
+ }
+ z: textInp.z + 1
+ }
+
+}