Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
94abe381
Commit
94abe381
authored
Jun 17, 2016
by
Nate Weibley
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Defer loading and binding of mission editing QML components, fix editor view syncs
parent
cfc67361
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
102 additions
and
115 deletions
+102
-115
MissionEditor.qml
src/MissionEditor/MissionEditor.qml
+4
-11
MissionItemStatus.qml
src/MissionEditor/MissionItemStatus.qml
+1
-10
SimpleItemEditor.qml
src/MissionEditor/SimpleItemEditor.qml
+97
-94
No files found.
src/MissionEditor/MissionEditor.qml
View file @
94abe381
...
...
@@ -46,8 +46,9 @@ QGCView {
readonly
property
int
_addMissionItemsButtonAutoOffTimeout
:
10000
readonly
property
var
_defaultVehicleCoordinate
:
QtPositioning
.
coordinate
(
37.803784
,
-
122.462276
)
property
var
_visualItems
:
controller
.
visualItems
property
var
_visualItems
:
controller
.
visualItems
property
var
_currentMissionItem
property
int
_currentMissionIndex
:
0
property
bool
_firstVehiclePosition
:
true
property
var
activeVehiclePosition
:
_activeVehicle
?
_activeVehicle
.
coordinate
:
QtPositioning
.
coordinate
()
property
bool
_lightWidgetBorders
:
editorMap
.
isSatelliteMap
...
...
@@ -168,6 +169,7 @@ QGCView {
if
(
visualItem
.
sequenceNumber
==
sequenceNumber
)
{
_currentMissionItem
=
visualItem
_currentMissionItem
.
isCurrentItem
=
true
_currentMissionIndex
=
i
}
else
{
visualItem
.
isCurrentItem
=
false
}
...
...
@@ -485,6 +487,7 @@ QGCView {
model
:
controller
.
visualItems
cacheBuffer
:
height
*
2
clip
:
true
currentIndex
:
_currentMissionIndex
highlightMoveDuration
:
250
delegate
:
MissionItemEditor
{
...
...
@@ -506,16 +509,6 @@ QGCView {
}
onMoveHomeToMapCenter
:
controller
.
visualItems
.
get
(
0
).
coordinate
=
editorMap
.
center
Connections
{
target
:
object
onIsCurrentItemChanged
:
{
if
(
object
.
isCurrentItem
)
{
editorListView
.
currentIndex
=
index
}
}
}
}
}
// ListView
}
// Item - Mission Item editor
...
...
src/MissionEditor/MissionItemStatus.qml
View file @
94abe381
...
...
@@ -87,6 +87,7 @@ Rectangle {
visible
:
_expanded
width
:
parent
.
width
-
valueGrid
.
width
-
(
_margins
*
2
)
clip
:
true
currentIndex
:
_currentMissionIndex
delegate
:
Item
{
height
:
statusListView
.
height
...
...
@@ -107,16 +108,6 @@ Rectangle {
label
:
object
.
abbreviation
visible
:
object
.
relativeAltitude
?
true
:
(
object
.
homePosition
||
graphAbsolute
)
}
Connections
{
target
:
object
onIsCurrentItemChanged
:
{
if
(
object
.
isCurrentItem
)
{
statusListView
.
currentIndex
=
index
}
}
}
}
}
}
...
...
src/MissionEditor/SimpleItemEditor.qml
View file @
94abe381
import
QtQuick
2.
2
import
QtQuick
2.
5
import
QtQuick
.
Controls
1.2
import
QtQuick
.
Controls
.
Styles
1.2
import
QtQuick
.
Dialogs
1.2
...
...
@@ -13,112 +13,115 @@ import QGroundControl.Palette 1.0
Rectangle
{
id
:
valuesRect
width
:
availableWidth
height
:
visible
?
valuesItem
.
height
:
0
height
:
deferedload
.
status
==
Loader
.
Ready
?
(
visible
?
deferedload
.
item
.
height
:
0
)
:
0
color
:
qgcPal
.
windowShadeDark
visible
:
missionItem
.
isCurrentItem
radius
:
_radius
// The following properties must be available up the hierachy chain
//property real availableWidth ///< Width for control
//property var missionItem ///< Mission Item for editor
Item
{
id
:
valuesItem
anchors.margins
:
_margin
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
anchors.top
:
parent
.
top
height
:
valuesColumn
.
height
+
(
_margin
*
2
)
Column
{
id
:
valuesColumn
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
anchors.top
:
parent
.
top
spacing
:
_margin
QGCLabel
{
width
:
parent
.
width
wrapMode
:
Text
.
WordWrap
font.pointSize
:
ScreenTools
.
smallFontPointSize
text
:
missionItem
.
sequenceNumber
==
0
?
qsTr
(
"
Planned home position. Actual home position set by Vehicle.
"
)
:
(
missionItem
.
rawEdit
?
qsTr
(
"
Provides advanced access to all commands/parameters. Be very careful!
"
)
:
missionItem
.
commandDescription
)
}
Repeater
{
model
:
missionItem
.
comboboxFacts
Item
{
width
:
valuesColumn
.
width
height
:
comboBoxFact
.
height
Loader
{
id
:
deferedload
active
:
valuesRect
.
visible
asynchronous
:
true
anchors.margins
:
_margin
anchors.left
:
valuesRect
.
left
anchors.right
:
valuesRect
.
right
anchors.top
:
valuesRect
.
top
sourceComponent
:
Component
{
Item
{
id
:
valuesItem
height
:
valuesColumn
.
height
+
(
_margin
*
2
)
Column
{
id
:
valuesColumn
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
anchors.top
:
parent
.
top
spacing
:
_margin
QGCLabel
{
id
:
comboBoxLabel
anchors.baseline
:
comboBoxFact
.
baseline
text
:
object
.
name
visible
:
object
.
name
!=
""
width
:
parent
.
width
wrapMode
:
Text
.
WordWrap
font.pointSize
:
ScreenTools
.
smallFontPointSize
text
:
missionItem
.
sequenceNumber
==
0
?
qsTr
(
"
Planned home position. Actual home position set by Vehicle.
"
)
:
(
missionItem
.
rawEdit
?
qsTr
(
"
Provides advanced access to all commands/parameters. Be very careful!
"
)
:
missionItem
.
commandDescription
)
}
FactComboBox
{
id
:
comboBoxFact
anchors.right
:
parent
.
right
width
:
comboBoxLabel
.
visible
?
_editFieldWidth
:
parent
.
width
indexModel
:
false
model
:
object
.
enumStrings
fact
:
object
Repeater
{
model
:
missionItem
.
comboboxFacts
Item
{
width
:
valuesColumn
.
width
height
:
comboBoxFact
.
height
QGCLabel
{
id
:
comboBoxLabel
anchors.baseline
:
comboBoxFact
.
baseline
text
:
object
.
name
visible
:
object
.
name
!=
""
}
FactComboBox
{
id
:
comboBoxFact
anchors.right
:
parent
.
right
width
:
comboBoxLabel
.
visible
?
_editFieldWidth
:
parent
.
width
indexModel
:
false
model
:
object
.
enumStrings
fact
:
object
}
}
}
}
}
Repeater
{
model
:
missionItem
.
textFieldFacts
Item
{
width
:
valuesColumn
.
width
height
:
textField
.
height
QGCLabel
{
id
:
textFieldLabel
anchors.baseline
:
textField
.
baseline
text
:
object
.
name
Repeater
{
model
:
missionItem
.
textFieldFacts
Item
{
width
:
valuesColumn
.
width
height
:
textField
.
height
QGCLabel
{
id
:
textFieldLabel
anchors.baseline
:
textField
.
baseline
text
:
object
.
name
}
FactTextField
{
id
:
textField
anchors.right
:
parent
.
right
width
:
_editFieldWidth
showUnits
:
true
fact
:
object
visible
:
!
_root
.
readOnly
}
FactLabel
{
anchors.baseline
:
textFieldLabel
.
baseline
anchors.right
:
parent
.
right
fact
:
object
visible
:
_root
.
readOnly
}
}
}
FactTextField
{
id
:
textField
anchors.right
:
parent
.
right
width
:
_editFieldWidth
showUnits
:
tru
e
fact
:
object
visible
:
!
_root
.
readOnly
Repeater
{
model
:
missionItem
.
checkboxFacts
FactCheckBox
{
text
:
object
.
nam
e
fact
:
object
}
}
FactLabel
{
anchors.baseline
:
textFieldLabel
.
baseline
anchors.right
:
parent
.
right
fact
:
object
visible
:
_root
.
readOnly
QGCButton
{
text
:
qsTr
(
"
Move Home to map center
"
)
visible
:
missionItem
.
homePosition
onClicked
:
editorRoot
.
moveHomeToMapCenter
()
anchors.horizontalCenter
:
parent
.
horizontalCenter
}
}
}
Repeater
{
model
:
missionItem
.
checkboxFacts
FactCheckBox
{
text
:
object
.
name
fact
:
object
}
}
QGCButton
{
text
:
qsTr
(
"
Move Home to map center
"
)
visible
:
missionItem
.
homePosition
onClicked
:
editorRoot
.
moveHomeToMapCenter
()
anchors.horizontalCenter
:
parent
.
horizontalCenter
}
}
// Column
}
// Item
}
// Column
}
// Item
}
// Component
}
// Loader
}
// Rectangle
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment