SetupPage.qml 2.52 KB
Newer Older
Don Gagne's avatar
Don Gagne committed
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
/****************************************************************************
 *
 *   (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
 *
 * QGroundControl is licensed according to the terms in the file
 * COPYING.md in the root of the source code directory.
 *
 ****************************************************************************/

import QtQuick          2.5
import QtQuick.Controls 1.2
import QtQuick.Dialogs  1.2

import QGroundControl               1.0
import QGroundControl.FactSystem    1.0
import QGroundControl.FactControls  1.0
import QGroundControl.Palette       1.0
import QGroundControl.Controls      1.0
import QGroundControl.ScreenTools   1.0
import QGroundControl.Controllers   1.0

/// Base view control for all Setup pages
QGCView {
    id:         setupView
    viewPanel:  setupPanel

27
    property alias  pageComponent:      pageLoader.sourceComponent
28 29
    property string pageName:           vehicleComponent ? vehicleComponent.name : ""
    property string pageDescription:    vehicleComponent ? vehicleComponent.description : ""
30 31
    property real   availableWidth:     width - pageLoader.x
    property real   availableHeight:    height - pageLoader.y
Don Gagne's avatar
Don Gagne committed
32 33 34 35 36 37 38 39 40 41 42

    property real _margins: ScreenTools.defaultFontPixelHeight / 2

    QGCPalette { id: qgcPal; colorGroupEnabled: setupPanel.enabled }

    QGCViewPanel {
        id:             setupPanel
        anchors.fill:   parent

        QGCFlickable {
            anchors.fill:   parent
43 44
            contentWidth:   pageLoader.x + pageLoader.item.width
            contentHeight:  pageLoader.y + pageLoader.item.height
Don Gagne's avatar
Don Gagne committed
45 46 47 48
            clip:           true

            Column {
                id:             headingColumn
49
                width:          setupPanel.width
Don Gagne's avatar
Don Gagne committed
50 51 52 53
                spacing:        _margins

                QGCLabel {
                    font.pointSize: ScreenTools.largeFontPointSize
54
                    text:           pageName + " " + qsTr("Setup")
Don Gagne's avatar
Don Gagne committed
55 56 57 58 59 60 61
                    visible:        !ScreenTools.isShortScreen
                }

                QGCLabel {
                    anchors.left:   parent.left
                    anchors.right:  parent.right
                    wrapMode:       Text.WordWrap
62
                    text:           pageDescription
Don Gagne's avatar
Don Gagne committed
63 64 65 66 67
                    visible:        !ScreenTools.isShortScreen
                }
            }

            Loader {
68
                id:                 pageLoader
Don Gagne's avatar
Don Gagne committed
69 70
                anchors.topMargin:  _margins
                anchors.top:        headingColumn.bottom
71

Don Gagne's avatar
Don Gagne committed
72 73 74 75
            }
        }
    }
}