aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quickcontrols/wearable/qml/Navigation/NavigationPage.qml
blob: f9fdd61b4759c2afb3a4dde98e03b8b2a419672c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

import QtQuick
import "../Style"
import "navigation.js" as NavigationData

Item {
    property alias routeListView: routeView

    Column {
        anchors.fill: parent
        anchors.margins: 2
        spacing: 2

        Rectangle {
            anchors.horizontalCenter: parent.horizontalCenter
            width: parent.width
            height: titleRow.height

            color: UIStyle.themeColorQtGray9

            Row {
                id: titleRow
                spacing: 10
                anchors.centerIn: parent

                Image {
                    anchors.verticalCenter: parent.verticalCenter
                    source: UIStyle.themeImagePath("images/navigation")
                    fillMode: Image.PreserveAspectCrop
                }
                Text {
                    anchors.verticalCenter: parent.verticalCenter
                    text: qsTr("Walking")
                    font.pixelSize: UIStyle.fontSizeM
                    font.letterSpacing: 2
                    color: UIStyle.themeColorQtGray2
                }
            }
        }

        ListModel {
            id: routeModel
        }

        ListView {
            id: routeView

            width: parent.width
            height: parent.height - titleRow.height - parent.spacing
            property var imageList: [UIStyle.themeImagePath("images/straight"),
                                     UIStyle.themeImagePath("images/leftturn"),
                                     UIStyle.themeImagePath("images/rightturn"),
                                     "images/uturn.png",
                                     "images/start.png",
                                     "images/end.png"]

            clip: true
            focus: true
            boundsBehavior: Flickable.StopAtBounds
            snapMode: ListView.SnapToItem
            model: routeModel
            delegate: RouteElement {
                width: routeView.width
                height: routeView.height
            }
        }
    }
    Component.onCompleted: {
        NavigationData.requestNavigationRoute(routeModel)
    }
}