Newer
Older
import QtQuick 2.3
import QtQuick.Controls 1.2
import QtQuick.Layouts 1.2
import QGroundControl.ScreenTools 1.0
import QGroundControl.Vehicle 1.0
import QGroundControl.Controls 1.0
import QGroundControl.FactControls 1.0
import QGroundControl.Palette 1.0
Rectangle {
id: root
height: _currentItem ? valuesRect.y + valuesRect.height + (_margin * 2) : titleBar.y - titleBar.height + _margin
color: _currentItem ? qgcPal.missionItemEditor : qgcPal.windowShade
radius: _radius
property var rallyPoint ///< RallyPoint object associated with editor
property var controller ///< RallyPointController
property bool _currentItem: rallyPoint ? rallyPoint === controller.currentRallyPoint : false
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
74
75
76
77
78
79
80
81
82
83
84
property color _outerTextColor: _currentItem ? "black" : qgcPal.text
readonly property real _margin: ScreenTools.defaultFontPixelWidth / 2
readonly property real _radius: ScreenTools.defaultFontPixelWidth / 2
readonly property real _titleHeight: ScreenTools.defaultFontPixelHeight * 2
QGCPalette { id: qgcPal; colorGroupEnabled: true }
Item {
id: titleBar
anchors.margins: _margin
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
height: _titleHeight
MissionItemIndexLabel {
id: indicator
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
label: "R"
checked: true
}
QGCLabel {
anchors.leftMargin: _margin
anchors.left: indicator.right
anchors.verticalCenter: parent.verticalCenter
text: qsTr("Rally Point")
color: _outerTextColor
}
Image {
id: hamburger
anchors.rightMargin: _margin
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
width: ScreenTools.defaultFontPixelWidth * 2
height: width
sourceSize.height: height
source: "qrc:/qmlimages/Hamburger.svg"
MouseArea {
anchors.fill: parent
onClicked: hamburgerMenu.popup()
Menu {
id: hamburgerMenu
MenuItem {
text: qsTr("Delete")
onTriggered: controller.removePoint(rallyPoint)
}
}
}
}
} // Item - titleBar
Rectangle {
id: valuesRect
anchors.margins: _margin
anchors.left: parent.left
anchors.right: parent.right
anchors.top: titleBar.bottom
height: valuesGrid.height + (_margin * 2)
color: qgcPal.windowShadeDark
visible: _currentItem
radius: _radius
anchors.margins: _margin
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
rowSpacing: _margin
columnSpacing: _margin
rows: rallyPoint ? rallyPoint.textFieldFacts.length : 0
flow: GridLayout.TopToBottom
Repeater {
model: rallyPoint ? rallyPoint.textFieldFacts : 0
QGCLabel {
text: modelData.name + ":"
}
}
Repeater {
model: rallyPoint ? rallyPoint.textFieldFacts : 0
FactTextField {
Layout.fillWidth: true
showUnits: true
fact: modelData