diff options
author | Juha Vuolle <juha.vuolle@nokia.com> | 2011-11-30 06:52:56 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-30 07:40:32 +0100 |
commit | 85fe7240f3d0611bd0db10f4c7cee484574560b3 (patch) | |
tree | f73c1cc88fb42dc206c55fe7b0db4a81ee2b8c85 /tests/applications | |
parent | f2a56642f6765d99d1b893a095b94f57f24c9643 (diff) | |
download | qtlocation-85fe7240f3d0611bd0db10f4c7cee484574560b3.tar.gz |
MapMouseArea support part 1/3.
MapMouseArea refactor into a MouseArea. Works now with Map element,
and somewhat OK with map items, but full map item support will
follow in subsequent commits.
Change-Id: I2921f2a54c26f755c1d18929fdfb912e8ad52611
Reviewed-by: David Laing <david.laing@nokia.com>
Diffstat (limited to 'tests/applications')
-rw-r--r-- | tests/applications/declarative_map/map3d.qml | 101 | ||||
-rw-r--r-- | tests/applications/declarative_map/map3d_mousetest.qml | 36 |
2 files changed, 103 insertions, 34 deletions
diff --git a/tests/applications/declarative_map/map3d.qml b/tests/applications/declarative_map/map3d.qml index b43ab06a..8082ab88 100644 --- a/tests/applications/declarative_map/map3d.qml +++ b/tests/applications/declarative_map/map3d.qml @@ -214,11 +214,16 @@ Item { Map { id: map property bool disableFlickOnStarted: false + x: 0 + y: 0 MapMouseArea { id: mapMouseArea onDoubleClicked: console.log('mapmousearea got doubleclicked') anchors.fill: parent - onClicked: console.log('coordinate: ' + mouse.coordinate.latitude + ' to screen pos: ' + map.toScreenPosition(mouse.coordinate).x + ' ' + map.toScreenPosition(mouse.coordinate).y) + onClicked: console.log('coordinate lat: ' + mapMouseArea.mouseToCoordinate(mouse).latitude + + 'coordinate lon: ' + mapMouseArea.mouseToCoordinate(mouse).longitude + + ' to screen pos: ' + map.toScreenPosition(mapMouseAreaUpperPurple.mouseToCoordinate(mouse)).x + + ' ' + map.toScreenPosition(mapMouseAreaUpperPurple.mouseToCoordinate(mouse)).y) } /* MapItem { @@ -251,6 +256,70 @@ Item { } } + Coordinate {id: londonCoordinate; latitude: 51.5; longitude: -0.11} + MapScreenItem { + MapMouseArea { + id: mapMouseAreaUpperPurple + z: 100 + objectName: 'mapMouseAreaUpperPurple' + width: rectangleSourceItem.width + height: rectangleSourceItem.height + x: rectangleSourceItem.x + y: rectangleSourceItem.y + onClicked: { + console.log('..... map mouse clicked() area upper coordinate: ' + mapMouseAreaUpperPurple.mouseToCoordinate(mouse).latitude + ' to screen pos: ' + map.toScreenPosition(mapMouseAreaUpperPurple.mouseToCoordinate(mouse)).x + ' ' + map.toScreenPosition(mapMouseAreaUpperPurple.mouseToCoordinate(mouse)).y) + rectangleSourceItem.width -= 5 + rectangleSourceItem.height -= 5 + } + onPressed: { + console.log('..... map mouse pressed() area upper coordinate: ' + mapMouseAreaUpperPurple.mouseToCoordinate(mouse).latitude + ' to screen pos: ' + map.toScreenPosition(mapMouseAreaUpperPurple.mouseToCoordinate(mouse)).x + ' ' + map.toScreenPosition(mapMouseAreaUpperPurple.mouseToCoordinate(mouse)).y) + } + onReleased: { + console.log('..... map mouse released() area upper coordinate: ' + mapMouseAreaUpperPurple.mouseToCoordinate(mouse).latitude + ' to screen pos: ' + map.toScreenPosition(mapMouseAreaUpperPurple.mouseToCoordinate(mouse)).x + ' ' + map.toScreenPosition(mapMouseAreaUpperPurple.mouseToCoordinate(mouse)).y) + } + onDoubleClicked: { + console.log('..... map mouse doubleClicked() area upper coordinate: ' + mapMouseAreaUpperPurple.mouseToCoordinate(mouse).latitude + ' to screen pos: ' + map.toScreenPosition(mapMouseAreaUpperPurple.mouseToCoordinate(mouse)).x + ' ' + map.toScreenPosition(mapMouseAreaUpperPurple.mouseToCoordinate(mouse)).y) + } + onPositionChanged: { + console.log('..... map mouse positionChanged() area upper coordinate: ' + mapMouseAreaUpperPurple.mouseToCoordinate(mouse).latitude + ' to screen pos: ' + map.toScreenPosition(mapMouseAreaUpperPurple.mouseToCoordinate(mouse)).x + ' ' + map.toScreenPosition(mapMouseAreaUpperPurple.mouseToCoordinate(mouse)).y) + } + onPressAndHold: { + console.log('..... map mouse pressAndHold() area upper coordinate: ' + mapMouseAreaUpperPurple.mouseToCoordinate(mouse).latitude + ' to screen pos: ' + map.toScreenPosition(mapMouseAreaUpperPurple.mouseToCoordinate(mouse)).x + ' ' + map.toScreenPosition(mapMouseAreaUpperPurple.mouseToCoordinate(mouse)).y) + } + onEntered: { + console.log('..... map mouse entered()') + } + onExited: { + console.log('..... map mouse exited()') + } + } + z: 2 + objectName: "mousetestrectangleupper" + coordinate: londonCoordinate + sourceItem: Rectangle { + id: rectangleSourceItem + width: 80 + height: 80 + color: 'purple' + } + } + + + MapScreenItem { + z: 1 + objectName: "mousetestrectanglelower" + coordinate: londonCoordinate + sourceItem: Rectangle { + width: 160 + height: 160 + color: 'yellow' + } + } + + + + + /* MapScreenItem { objectName: "blinky screen item 2" coordinate: brisbaneCoordinate @@ -269,7 +338,23 @@ Item { } } } + */ + + /* + MapItem { + objectName: 'blinky static item' + zoomLevel: 7 // at which map's zoom level the width and height are '1-to-1' + coordinate: brisbaneCoordinate + sourceItem: AnimatedImage { + width: 80 + height: 80 + playing: true + source: "blinky.gif" + } + } + */ + /* MapItemView { id: theObjectView model: testModel @@ -306,6 +391,7 @@ Item { } } } + */ // From location.test plugin PinchGenerator { @@ -377,8 +463,6 @@ Item { } plugin : Plugin {name : "nokia"} // commented features are checked to work at least somehow - x: 0 - y: 0 //anchors.left: parent.left //anchors.bottom: parent.bottom //anchors.leftMargin: 70 @@ -398,16 +482,11 @@ Item { // Flicking flick.enabled: true - flick.onFlickStarted: { - if (map.disableFlickOnStarted) - map.flick.enabled = false - else - map.flick.enabled = true - } - //flick.onFlickEnded: {console.log ('flick ended signal F Stop ------------------ ') } + //flick.onFlickStarted: {console.log ('flick started signal F Start ++++++++++++++++++ ') } + //flick.onFlickEnded: {console.log ('flick ended signal F Stop ------------------ ') } //flick.onMovementStarted: {console.log('movement started signal M Start ++++++++++++++++++ ') } - //flick.onMovementEnded: {console.log ('movement ended signal M Stop ------------------ ') } + //flick.onMovementEnded: {console.log ('movement ended signal M Stop ------------------ ') } onWheel: { console.log('map wheel event, rotation in degrees: ' + delta/8); diff --git a/tests/applications/declarative_map/map3d_mousetest.qml b/tests/applications/declarative_map/map3d_mousetest.qml index 4ec0429d..21f16cbb 100644 --- a/tests/applications/declarative_map/map3d_mousetest.qml +++ b/tests/applications/declarative_map/map3d_mousetest.qml @@ -310,15 +310,6 @@ Item { pinch.activeGestures: MapPinch.NoGesture pinch.enabled: true - pinch.maximumZoomLevel: 20 // biggest zoomlevel allowed - pinch.minimumZoomLevel: 1 // smallest zoomlevel allowed - pinch.maximumZoomLevelChange: 1.0 // maximum zoomlevel changes per pinch - pinch.maximumRotation: 0 // unlimited - pinch.minimumRotation: 0 // unlimited - pinch.rotationSpeed: 1.0 // default ~follows angle between fingers - pinch.maximumTilt: 90 - pinch.minimumTilt: 0 - pinch.maximumTiltChange: 35 // Flicking flick.enabled: true @@ -366,12 +357,13 @@ Item { x: 0; y: 0; width: map.width; height: map.height / 2 - Text { text: ' upper MapMouseArea'} + Text { font.pixelSize: 20; text: '\n\n\n\n\n\n upper MapMouseArea, z value: ' + mouseAreaOfMap.z} } MapMouseArea { id: mouseAreaOfMap objectName: 'map mouse area' + z: 5 x: 0; y: 0; width: map.width; height: map.height / 2; @@ -402,8 +394,6 @@ Item { console.log('oooQML: button: ' + mouse.button); console.log('oooQML: modifiers: ' + mouse.modifiers); console.log('oooQML: wasHeld: ' + mouse.wasHeld); - console.log('oooQML: latitude: ' + mouse.latitude); - console.log('oooQML: longitude: ' + mouse.longitude); console.log('oooQML: x: ' + mouse.x); console.log('oooQML: y: ' + mouse.y); console.log('oooQML: mouse area x,y, width, height: ' + mouseAreaOfMap.x + ' ' + mouseAreaOfMap.y + ' ' + mouseAreaOfMap.width + ' ' + mouseAreaOfMap.height) @@ -442,7 +432,7 @@ Item { x: 0; y: map.height/2; width: map.width; height: map.height/2; - Text { text: ' lower MapMouseArea'} + Text { font.pixelSize: 20; text: ' lower MapMouseArea, z value: ' + mouseAreaOfMap2.z} } MapMouseArea { @@ -452,6 +442,8 @@ Item { width: map.width; height: map.height/2; + hoverEnabled: true + onAcceptedButtonsChanged: { console.log('oooQML: in QML MapMouseArea2 acceptedButtonsChanged: ' + mouseAreaOfMap2.acceptedButtons + ' ' + acceptedButtons) } @@ -462,6 +454,9 @@ Item { console.log('oooQML: in QML MapMouseArea2 pressed: ' + mouse.x + ' y:' + mouse.y + ' pressed: ' + pressed + ' mouseX: ' + mouseAreaOfMap2.mouseX + ' mouseY: ' + mouseAreaOfMap2.mouseY) + console.log('oooQML: and the geo coordinate for that is, lat: ' + + mouseAreaOfMap2.mouseToCoordinate(mouse).latitude + ' + lon : ' + + mouseAreaOfMap2.mouseToCoordinate(mouse).longitude) } onPressedChanged: { console.log('oooQML: in QML MapMouseArea2 pressedChanged, pressedButtons: ' + mouseAreaOfMap2.pressedButtons) @@ -478,8 +473,6 @@ Item { console.log('oooQML: button: ' + mouse.button); console.log('oooQML: modifiers: ' + mouse.modifiers); console.log('oooQML: wasHeld: ' + mouse.wasHeld); - console.log('oooQML: latitude: ' + mouse.latitude); - console.log('oooQML: longitude: ' + mouse.longitude); console.log('oooQML: x: ' + mouse.x); console.log('oooQML: y: ' + mouse.y); console.log('oooQML: mouse area x,y, width, height: ' + mouseAreaOfMap2.x + ' ' + mouseAreaOfMap2.y + ' ' + mouseAreaOfMap2.width + ' ' + mouseAreaOfMap2.height) @@ -519,12 +512,13 @@ Item { x: map.width/2; y: 0; width: map.width/2; height: map.height; - Text { text: 'overlapping MapMouseArea'} + Text { font.pixelSize: 20; text: '\n\n\n\n\n overlapping MapMouseArea (3), Z value: ' + mouseAreaOfMap3.z} } MapMouseArea { id: mouseAreaOfMap3 objectName: 'map mouse area 3' + z: 4 x: map.width/2; y: 0; width: map.width/2; height: map.height; @@ -539,6 +533,8 @@ Item { console.log('oooQML: in QML MapMouseArea3 pressed: ' + mouse.x + ' y:' + mouse.y + ' pressed: ' + pressed + ' mouseX: ' + mouseAreaOfMap3.mouseX + ' mouseY: ' + mouseAreaOfMap3.mouseY) + + console.log('oooQML: in QML MapMouseArea3, the x mapped: ' + map.mapFromItem(mouseAreaOfMap3, mouse.x, mouse.y).x + ' the y mapped: ' + map.mapFromItem(mouseAreaOfMap3, mouse.x, mouse.y).y) } onPressedChanged: { console.log('oooQML: in QML MapMouseArea3 pressedChanged, pressedButtons: ' + mouseAreaOfMap3.pressedButtons) @@ -555,8 +551,6 @@ Item { console.log('oooQML: button: ' + mouse.button); console.log('oooQML: modifiers: ' + mouse.modifiers); console.log('oooQML: wasHeld: ' + mouse.wasHeld); - console.log('oooQML: latitude: ' + mouse.latitude); - console.log('oooQML: longitude: ' + mouse.longitude); console.log('oooQML: x: ' + mouse.x); console.log('oooQML: y: ' + mouse.y); console.log('oooQML: mouse area x,y, width, height: ' + mouseAreaOfMap3.x + ' ' + mouseAreaOfMap3.y + ' ' + mouseAreaOfMap3.width + ' ' + mouseAreaOfMap3.height) @@ -623,7 +617,7 @@ Item { console.log('oooQML: in QML Reference MouseArea upper enabledChanged: ' + referenceMouseAreaUpper.enabled) } onPressed: { - console.log('oooQML: in QML Reference MouseArea upper pressed: ' + mouse.x + ' y:' + mouse.y + ' pressed: ' + pressed) + console.log('oooQML: in QML Reference MouseArea upper pressed, x: ' + mouse.x + ' y:' + mouse.y + ' pressed: ' + pressed) } onPressedChanged: { console.log('oooQML: in QML Reference MouseArea upper pressedChanged ' + ' pressed button: ' + referenceMouseAreaUpper.pressedButtons) @@ -637,8 +631,6 @@ Item { console.log('oooQML: button: ' + mouse.button); console.log('oooQML: modifiers: ' + mouse.modifiers); console.log('oooQML: wasHeld: ' + mouse.wasHeld); - console.log('oooQML: latitude: ' + mouse.latitude); - console.log('oooQML: longitude: ' + mouse.longitude); console.log('oooQML: x: ' + mouse.x); console.log('oooQML: y: ' + mouse.y); console.log('oooQML: in QML Reference MouseArea upper doubleclicked---------------------------------------- end dump ') @@ -738,8 +730,6 @@ Item { console.log('oooQML: button: ' + mouse.button); console.log('oooQML: modifiers: ' + mouse.modifiers); console.log('oooQML: wasHeld: ' + mouse.wasHeld); - console.log('oooQML: latitude: ' + mouse.latitude); - console.log('oooQML: longitude: ' + mouse.longitude); console.log('oooQML: x: ' + mouse.x); console.log('oooQML: y: ' + mouse.y); console.log('oooQML: in QML Reference MouseArea doubleclicked---------------------------------------- end dump ') |