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
d7e3f781
Commit
d7e3f781
authored
Mar 07, 2019
by
Valentin Platzgummer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
original
parent
339cfeb5
Changes
25
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
5351 additions
and
2 deletions
+5351
-2
CameraCalc.qml
src/DroneDude/CameraCalc.qml
+306
-0
CameraSection.qml
src/DroneDude/CameraSection.qml
+128
-0
CorridorScanEditor.qml
src/DroneDude/CorridorScanEditor.qml
+184
-0
CorridorScanMapVisual.qml
src/DroneDude/CorridorScanMapVisual.qml
+125
-0
FWLandingPatternEditor.qml
src/DroneDude/FWLandingPatternEditor.qml
+233
-0
FWLandingPatternMapVisual.qml
src/DroneDude/FWLandingPatternMapVisual.qml
+302
-0
GeoFenceEditor.qml
src/DroneDude/GeoFenceEditor.qml
+309
-0
GeoFenceMapVisuals.qml
src/DroneDude/GeoFenceMapVisuals.qml
+162
-0
MissionItemEditor.qml
src/DroneDude/MissionItemEditor.qml
+222
-0
MissionItemMapVisual.qml
src/DroneDude/MissionItemMapVisual.qml
+47
-0
MissionItemStatus.qml
src/DroneDude/MissionItemStatus.qml
+106
-0
MissionSettingsEditor.qml
src/DroneDude/MissionSettingsEditor.qml
+239
-0
PlanToolBar.qml
src/DroneDude/PlanToolBar.qml
+377
-0
PlanView.qml
src/DroneDude/PlanView.qml
+1156
-0
RallyPointEditorHeader.qml
src/DroneDude/RallyPointEditorHeader.qml
+67
-0
RallyPointItemEditor.qml
src/DroneDude/RallyPointItemEditor.qml
+121
-0
RallyPointMapVisuals.qml
src/DroneDude/RallyPointMapVisuals.qml
+110
-0
SimpleItemEditor.qml
src/DroneDude/SimpleItemEditor.qml
+264
-0
SimpleItemMapVisual.qml
src/DroneDude/SimpleItemMapVisual.qml
+136
-0
StructureScanEditor.qml
src/DroneDude/StructureScanEditor.qml
+185
-0
StructureScanMapVisual.qml
src/DroneDude/StructureScanMapVisual.qml
+148
-0
SurveyItemEditor.qml
src/DroneDude/SurveyItemEditor.qml
+238
-0
SurveyMapVisual.qml
src/DroneDude/SurveyMapVisual.qml
+153
-0
TransectStyleComplexItemStats.qml
src/DroneDude/TransectStyleComplexItemStats.qml
+30
-0
MainWindowInner.qml
src/ui/MainWindowInner.qml
+3
-2
No files found.
src/DroneDude/CameraCalc.qml
0 → 100644
View file @
d7e3f781
This diff is collapsed.
Click to expand it.
src/DroneDude/CameraSection.qml
0 → 100644
View file @
d7e3f781
import
QtQuick
2.3
import
QtQuick
.
Controls
1.2
import
QtQuick
.
Layouts
1.2
import
QGroundControl
1.0
import
QGroundControl
.
ScreenTools
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
FactControls
1.0
import
QGroundControl
.
Palette
1.0
// Camera section for mission item editors
Column
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
property
alias
exclusiveGroup
:
cameraSectionHeader
.
exclusiveGroup
property
alias
showSpacer
:
cameraSectionHeader
.
showSpacer
property
alias
checked
:
cameraSectionHeader
.
checked
property
var
_camera
:
missionItem
.
cameraSection
property
real
_fieldWidth
:
ScreenTools
.
defaultFontPixelWidth
*
16
property
real
_margin
:
ScreenTools
.
defaultFontPixelWidth
/
2
SectionHeader
{
id
:
cameraSectionHeader
text
:
qsTr
(
"
Camera
"
)
checked
:
false
}
Column
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
visible
:
cameraSectionHeader
.
checked
FactComboBox
{
id
:
cameraActionCombo
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
fact
:
_camera
.
cameraAction
indexModel
:
false
}
RowLayout
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
ScreenTools
.
defaultFontPixelWidth
visible
:
_camera
.
cameraAction
.
rawValue
===
1
QGCLabel
{
text
:
qsTr
(
"
Time
"
)
Layout.fillWidth
:
true
}
FactTextField
{
fact
:
_camera
.
cameraPhotoIntervalTime
Layout.preferredWidth
:
_fieldWidth
}
}
RowLayout
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
ScreenTools
.
defaultFontPixelWidth
visible
:
_camera
.
cameraAction
.
rawValue
===
2
QGCLabel
{
text
:
qsTr
(
"
Distance
"
)
Layout.fillWidth
:
true
}
FactTextField
{
fact
:
_camera
.
cameraPhotoIntervalDistance
Layout.preferredWidth
:
_fieldWidth
}
}
RowLayout
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
ScreenTools
.
defaultFontPixelWidth
visible
:
_camera
.
cameraModeSupported
QGCCheckBox
{
id
:
modeCheckBox
text
:
qsTr
(
"
Mode
"
)
checked
:
_camera
.
specifyCameraMode
onClicked
:
_camera
.
specifyCameraMode
=
checked
}
FactComboBox
{
fact
:
_camera
.
cameraMode
indexModel
:
false
enabled
:
modeCheckBox
.
checked
Layout.fillWidth
:
true
}
}
GridLayout
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
columnSpacing
:
ScreenTools
.
defaultFontPixelWidth
/
2
rowSpacing
:
0
columns
:
3
Item
{
width
:
1
;
height
:
1
}
QGCLabel
{
text
:
qsTr
(
"
Pitch
"
)
}
QGCLabel
{
text
:
qsTr
(
"
Yaw
"
)
}
QGCCheckBox
{
id
:
gimbalCheckBox
text
:
qsTr
(
"
Gimbal
"
)
checked
:
_camera
.
specifyGimbal
onClicked
:
_camera
.
specifyGimbal
=
checked
Layout.fillWidth
:
true
}
FactTextField
{
fact
:
_camera
.
gimbalPitch
implicitWidth
:
ScreenTools
.
defaultFontPixelWidth
*
9
enabled
:
gimbalCheckBox
.
checked
}
FactTextField
{
fact
:
_camera
.
gimbalYaw
implicitWidth
:
ScreenTools
.
defaultFontPixelWidth
*
9
enabled
:
gimbalCheckBox
.
checked
}
}
}
}
src/DroneDude/CorridorScanEditor.qml
0 → 100644
View file @
d7e3f781
import
QtQuick
2.3
import
QtQuick
.
Controls
1.2
import
QtQuick
.
Controls
.
Styles
1.4
import
QtQuick
.
Dialogs
1.2
import
QtQuick
.
Extras
1.4
import
QtQuick
.
Layouts
1.2
import
QGroundControl
1.0
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
import
QGroundControl
.
FlightMap
1.0
Rectangle
{
id
:
_root
height
:
visible
?
(
editorColumn
.
height
+
(
_margin
*
2
))
:
0
width
:
availableWidth
color
:
qgcPal
.
windowShadeDark
radius
:
_radius
// The following properties must be available up the hierarchy chain
//property real availableWidth ///< Width for control
//property var missionItem ///< Mission Item for editor
property
real
_margin
:
ScreenTools
.
defaultFontPixelWidth
/
2
property
real
_fieldWidth
:
ScreenTools
.
defaultFontPixelWidth
*
10.5
property
var
_vehicle
:
QGroundControl
.
multiVehicleManager
.
activeVehicle
?
QGroundControl
.
multiVehicleManager
.
activeVehicle
:
QGroundControl
.
multiVehicleManager
.
offlineEditingVehicle
property
real
_cameraMinTriggerInterval
:
missionItem
.
cameraCalc
.
minTriggerInterval
.
rawValue
function
polygonCaptureStarted
()
{
missionItem
.
clearPolygon
()
}
function
polygonCaptureFinished
(
coordinates
)
{
for
(
var
i
=
0
;
i
<
coordinates
.
length
;
i
++
)
{
missionItem
.
addPolygonCoordinate
(
coordinates
[
i
])
}
}
function
polygonAdjustVertex
(
vertexIndex
,
vertexCoordinate
)
{
missionItem
.
adjustPolygonCoordinate
(
vertexIndex
,
vertexCoordinate
)
}
function
polygonAdjustStarted
()
{
}
function
polygonAdjustFinished
()
{
}
QGCPalette
{
id
:
qgcPal
;
colorGroupEnabled
:
true
}
Column
{
id
:
editorColumn
anchors.margins
:
_margin
anchors.top
:
parent
.
top
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
QGCLabel
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
text
:
qsTr
(
"
WARNING: Photo interval is below minimum interval (%1 secs) supported by camera.
"
).
arg
(
_cameraMinTriggerInterval
.
toFixed
(
1
))
wrapMode
:
Text
.
WordWrap
color
:
qgcPal
.
warningText
visible
:
missionItem
.
cameraShots
>
0
&&
_cameraMinTriggerInterval
!==
0
&&
_cameraMinTriggerInterval
>
missionItem
.
timeBetweenShots
}
CameraCalc
{
cameraCalc
:
missionItem
.
cameraCalc
vehicleFlightIsFrontal
:
true
distanceToSurfaceLabel
:
qsTr
(
"
Altitude
"
)
frontalDistanceLabel
:
qsTr
(
"
Trigger Distance
"
)
sideDistanceLabel
:
qsTr
(
"
Spacing
"
)
}
SectionHeader
{
id
:
corridorHeader
text
:
qsTr
(
"
Corridor
"
)
}
GridLayout
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
columnSpacing
:
_margin
rowSpacing
:
_margin
columns
:
2
visible
:
corridorHeader
.
checked
QGCLabel
{
text
:
qsTr
(
"
Width
"
)
}
FactTextField
{
fact
:
missionItem
.
corridorWidth
Layout.fillWidth
:
true
}
QGCLabel
{
text
:
qsTr
(
"
Turnaround dist
"
)
}
FactTextField
{
fact
:
missionItem
.
turnAroundDistance
Layout.fillWidth
:
true
}
FactCheckBox
{
text
:
qsTr
(
"
Take images in turnarounds
"
)
fact
:
missionItem
.
cameraTriggerInTurnAround
enabled
:
missionItem
.
hoverAndCaptureAllowed
?
!
missionItem
.
hoverAndCapture
.
rawValue
:
true
Layout.columnSpan
:
2
}
QGCCheckBox
{
id
:
relAlt
text
:
qsTr
(
"
Relative altitude
"
)
checked
:
missionItem
.
cameraCalc
.
distanceToSurfaceRelative
enabled
:
missionItem
.
cameraCalc
.
isManualCamera
&&
!
missionItem
.
followTerrain
visible
:
QGroundControl
.
corePlugin
.
options
.
showMissionAbsoluteAltitude
||
(
!
missionItem
.
cameraCalc
.
distanceToSurfaceRelative
&&
!
missionItem
.
followTerrain
)
Layout.alignment
:
Qt
.
AlignLeft
Layout.columnSpan
:
2
onClicked
:
missionItem
.
cameraCalc
.
distanceToSurfaceRelative
=
checked
Connections
{
target
:
missionItem
.
cameraCalc
onDistanceToSurfaceRelativeChanged
:
relAlt
.
checked
=
missionItem
.
cameraCalc
.
distanceToSurfaceRelative
}
}
}
QGCButton
{
text
:
qsTr
(
"
Rotate Entry Point
"
)
onClicked
:
missionItem
.
rotateEntryPoint
()
}
SectionHeader
{
id
:
terrainHeader
text
:
qsTr
(
"
Terrain
"
)
checked
:
missionItem
.
followTerrain
}
ColumnLayout
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
visible
:
terrainHeader
.
checked
QGCCheckBox
{
id
:
followsTerrainCheckBox
text
:
qsTr
(
"
Vehicle follows terrain
"
)
checked
:
missionItem
.
followTerrain
onClicked
:
missionItem
.
followTerrain
=
checked
}
GridLayout
{
Layout.fillWidth
:
true
columnSpacing
:
_margin
rowSpacing
:
_margin
columns
:
2
visible
:
followsTerrainCheckBox
.
checked
QGCLabel
{
text
:
qsTr
(
"
Tolerance
"
)
}
FactTextField
{
fact
:
missionItem
.
terrainAdjustTolerance
Layout.fillWidth
:
true
}
QGCLabel
{
text
:
qsTr
(
"
Max Climb Rate
"
)
}
FactTextField
{
fact
:
missionItem
.
terrainAdjustMaxClimbRate
Layout.fillWidth
:
true
}
QGCLabel
{
text
:
qsTr
(
"
Max Descent Rate
"
)
}
FactTextField
{
fact
:
missionItem
.
terrainAdjustMaxDescentRate
Layout.fillWidth
:
true
}
}
}
SectionHeader
{
id
:
statsHeader
text
:
qsTr
(
"
Statistics
"
)
}
TransectStyleComplexItemStats
{
}
}
// Column
}
// Rectangle
src/DroneDude/CorridorScanMapVisual.qml
0 → 100644
View file @
d7e3f781
/****************************************************************************
*
* (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.3
import
QtQuick
.
Controls
1.2
import
QtLocation
5.3
import
QtPositioning
5.3
import
QGroundControl
1.0
import
QGroundControl
.
Controls
1.0
/// Corridor Scan Complex Mission Item visuals
Item
{
id
:
_root
property
var
map
///< Map control to place item in
property
var
qgcView
///< QGCView to use for popping dialogs
property
var
_missionItem
:
object
property
var
_entryCoordinate
property
var
_exitCoordinate
property
var
_transectLines
signal
clicked
(
int
sequenceNumber
)
function
_addVisualElements
()
{
_entryCoordinate
=
entryPointComponent
.
createObject
(
map
)
_exitCoordinate
=
exitPointComponent
.
createObject
(
map
)
_transectLines
=
transectsComponent
.
createObject
(
map
)
map
.
addMapItem
(
_entryCoordinate
)
map
.
addMapItem
(
_exitCoordinate
)
map
.
addMapItem
(
_transectLines
)
}
function
_destroyVisualElements
()
{
_entryCoordinate
.
destroy
()
_exitCoordinate
.
destroy
()
_transectLines
.
destroy
()
}
Component.onCompleted
:
{
mapPolylineVisuals
.
addInitialPolyline
()
_addVisualElements
()
}
Component.onDestruction
:
{
_destroyVisualElements
()
}
QGCMapPolygonVisuals
{
qgcView
:
_root
.
qgcView
mapControl
:
map
mapPolygon
:
object
.
surveyAreaPolygon
interactive
:
false
interiorColor
:
"
green
"
interiorOpacity
:
0.25
}
QGCMapPolylineVisuals
{
id
:
mapPolylineVisuals
qgcView
:
_root
.
qgcView
mapControl
:
map
mapPolyline
:
object
.
corridorPolyline
interactive
:
_missionItem
.
isCurrentItem
lineWidth
:
3
lineColor
:
"
#be781c
"
}
// Entry point
Component
{
id
:
entryPointComponent
MapQuickItem
{
anchorPoint.x
:
sourceItem
.
anchorPointX
anchorPoint.y
:
sourceItem
.
anchorPointY
z
:
QGroundControl
.
zOrderMapItems
coordinate
:
_missionItem
.
coordinate
visible
:
_missionItem
.
coordinate
.
isValid
sourceItem
:
MissionItemIndexLabel
{
index
:
_missionItem
.
sequenceNumber
label
:
"
Entry
"
checked
:
_missionItem
.
isCurrentItem
onClicked
:
_root
.
clicked
(
_missionItem
.
sequenceNumber
)
}
}
}
// Exit point
Component
{
id
:
exitPointComponent
MapQuickItem
{
anchorPoint.x
:
sourceItem
.
anchorPointX
anchorPoint.y
:
sourceItem
.
anchorPointY
z
:
QGroundControl
.
zOrderMapItems
coordinate
:
_missionItem
.
exitCoordinate
visible
:
_missionItem
.
exitCoordinate
.
isValid
sourceItem
:
MissionItemIndexLabel
{
index
:
_missionItem
.
lastSequenceNumber
label
:
"
Exit
"
checked
:
_missionItem
.
isCurrentItem
onClicked
:
_root
.
clicked
(
_missionItem
.
sequenceNumber
)
}
}
}
// Transect lines
Component
{
id
:
transectsComponent
MapPolyline
{
line.color
:
"
white
"
line.width
:
2
path
:
_missionItem
.
visualTransectPoints
}
}
}
src/DroneDude/FWLandingPatternEditor.qml
0 → 100644
View file @
d7e3f781
/****************************************************************************
*
* (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.3
import
QtQuick
.
Controls
1.2
import
QtQuick
.
Dialogs
1.2
import
QtQuick
.
Layouts
1.2
import
QGroundControl
1.0
import
QGroundControl
.
ScreenTools
1.0
import
QGroundControl
.
Vehicle
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
FactSystem
1.0
import
QGroundControl
.
FactControls
1.0
import
QGroundControl
.
Palette
1.0
// Editor for Fixed Wing Landing Pattern complex mission item
Rectangle
{
id
:
_root
height
:
visible
?
((
editorColumn
.
visible
?
editorColumn
.
height
:
editorColumnNeedLandingPoint
.
height
)
+
(
_margin
*
2
))
:
0
width
:
availableWidth
color
:
qgcPal
.
windowShadeDark
radius
:
_radius
// The following properties must be available up the hierarchy chain
//property real availableWidth ///< Width for control
//property var missionItem ///< Mission Item for editor
property
real
_margin
:
ScreenTools
.
defaultFontPixelWidth
/
2
property
real
_spacer
:
ScreenTools
.
defaultFontPixelWidth
/
2
property
var
_activeVehicle
:
QGroundControl
.
multiVehicleManager
.
activeVehicle
property
string
_setToVehicleHeadingStr
:
qsTr
(
"
Set to vehicle heading
"
)
property
string
_setToVehicleLocationStr
:
qsTr
(
"
Set to vehicle location
"
)
ExclusiveGroup
{
id
:
distanceGlideGroup
}
Column
{
id
:
editorColumn
anchors.margins
:
_margin
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
visible
:
missionItem
.
landingCoordSet
SectionHeader
{
id
:
loiterPointSection
text
:
qsTr
(
"
Loiter point
"
)
}
Column
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
visible
:
loiterPointSection
.
checked
Item
{
width
:
1
;
height
:
_spacer
}
FactTextFieldGrid
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
factList
:
[
missionItem
.
loiterAltitude
,
missionItem
.
loiterRadius
]
factLabels
:
[
qsTr
(
"
Altitude
"
),
qsTr
(
"
Radius
"
)
]
}
Item
{
width
:
1
;
height
:
_spacer
}
QGCCheckBox
{
text
:
qsTr
(
"
Loiter clockwise
"
)
checked
:
missionItem
.
loiterClockwise
onClicked
:
missionItem
.
loiterClockwise
=
checked
}
QGCButton
{
text
:
_setToVehicleHeadingStr
visible
:
_activeVehicle
onClicked
:
missionItem
.
landingHeading
.
rawValue
=
_activeVehicle
.
heading
.
rawValue
}
}
SectionHeader
{
id
:
landingPointSection
text
:
qsTr
(
"
Landing point
"
)
}
Column
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
visible
:
landingPointSection
.
checked
Item
{
width
:
1
;
height
:
_spacer
}
GridLayout
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
columns
:
2
QGCLabel
{
text
:
qsTr
(
"
Heading
"
)
}
FactTextField
{
Layout.fillWidth
:
true
fact
:
missionItem
.
landingHeading
}
QGCLabel
{
text
:
qsTr
(
"
Altitude
"
)
}
FactTextField
{
Layout.fillWidth
:
true
fact
:
missionItem
.
landingAltitude
}
QGCRadioButton
{
id
:
specifyLandingDistance
text
:
qsTr
(
"
Landing Dist
"
)
checked
:
missionItem
.
valueSetIsDistance
.
rawValue
exclusiveGroup
:
distanceGlideGroup
onClicked
:
missionItem
.
valueSetIsDistance
.
rawValue
=
checked
Layout.fillWidth
:
true
}
FactTextField
{
fact
:
missionItem
.
landingDistance
enabled
:
specifyLandingDistance
.
checked
Layout.fillWidth
:
true
}
QGCRadioButton
{
id
:
specifyGlideSlope
text
:
qsTr
(
"
Glide Slope
"
)
checked
:
!
missionItem
.
valueSetIsDistance
.
rawValue
exclusiveGroup
:
distanceGlideGroup
onClicked
:
missionItem
.
valueSetIsDistance
.
rawValue
=
!
checked
Layout.fillWidth
:
true
}
FactTextField
{
fact
:
missionItem
.
glideSlope
enabled
:
specifyGlideSlope
.
checked
Layout.fillWidth
:
true
}
QGCButton
{
text
:
_setToVehicleLocationStr
visible
:
_activeVehicle
Layout.columnSpan
:
2
onClicked
:
missionItem
.
landingCoordinate
=
_activeVehicle
.
coordinate
}
}
}
Item
{
width
:
1
;
height
:
_spacer
}
QGCCheckBox
{
anchors.right
:
parent
.
right
text
:
qsTr
(
"
Altitudes relative to home
"
)
checked
:
missionItem
.
altitudesAreRelative
visible
:
QGroundControl
.
corePlugin
.
options
.
showMissionAbsoluteAltitude
||
!
missionItem
.
altitudesAreRelative
onClicked
:
missionItem
.
altitudesAreRelative
=
checked
}
SectionHeader
{
id
:
cameraSection
text
:
qsTr
(
"
Camera
"
)
}
Column
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
spacing
:
_margin
visible
:
cameraSection
.
checked
Item
{
width
:
1
;
height
:
_spacer
}
FactCheckBox
{
text
:
_stopTakingPhotos
.
shortDescription
fact
:
_stopTakingPhotos
property
Fact
_stopTakingPhotos
:
missionItem
.
stopTakingPhotos
}
FactCheckBox
{
text
:
_stopTakingVideo
.
shortDescription
fact
:
_stopTakingVideo
property
Fact
_stopTakingVideo
:
missionItem
.
stopTakingVideo
}
}
}
Column
{
id
:
editorColumnNeedLandingPoint
anchors.margins
:
_margin
anchors.top
:
parent
.
top
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
visible
:
!
missionItem
.
landingCoordSet
spacing
:
ScreenTools
.
defaultFontPixelHeight
QGCLabel
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
wrapMode
:
Text
.
WordWrap
horizontalAlignment
:
Text
.
AlignHCenter
text
:
qsTr
(
"
Click in map to set landing point.
"
)
}
QGCLabel
{
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
horizontalAlignment
:
Text
.
AlignHCenter
text
:
qsTr
(
"
- or -
"
)
visible
:
_activeVehicle
}
QGCButton
{
anchors.horizontalCenter
:
parent
.
horizontalCenter
text
:
_setToVehicleLocationStr
visible
:
_activeVehicle
onClicked
:
{
missionItem
.
landingCoordinate
=
_activeVehicle
.
coordinate
missionItem
.
landingHeading
.
rawValue
=
_activeVehicle
.
heading
.
rawValue
}
}
}
}
src/DroneDude/FWLandingPatternMapVisual.qml
0 → 100644
View file @
d7e3f781
/****************************************************************************
*
* (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.3
import
QtQuick
.
Controls
1.2
import
QtLocation
5.3
import
QtPositioning
5.3
import
QGroundControl
1.0
import
QGroundControl
.
ScreenTools
1.0
import
QGroundControl
.
Palette
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
FlightMap
1.0
/// Fixed Wing Landing Pattern map visuals
Item
{
id
:
_root
property
var
map
///< Map control to place item in
property
var
qgcView
///< QGCView to use for popping dialogs
signal
clicked
(
int
sequenceNumber
)
property
var
_missionItem
:
object
property
var
_itemVisuals
:
[
]
property
var
_mouseArea
property
var
_dragAreas
:
[
]
property
var
_flightPath
readonly
property
int
_flightPathIndex
:
0
readonly
property
int
_loiterPointIndex
:
1
readonly
property
int
_loiterRadiusIndex
:
2
readonly
property
int
_landingAreaIndex
:
3