@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
/****************************************************************************
|
||||
* |
||||
* (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. |
||||
* |
||||
****************************************************************************/ |
||||
|
||||
#include "BlankPlanCreator.h" |
||||
#include "PlanMasterController.h" |
||||
#include "MissionSettingsItem.h" |
||||
#include "FixedWingLandingComplexItem.h" |
||||
|
||||
BlankPlanCreator::BlankPlanCreator(PlanMasterController* planMasterController, QObject* parent) |
||||
: PlanCreator(planMasterController, tr("Blank"), QStringLiteral("/qmlimages/PlanCreator/BlankPlanCreator.png"), parent) |
||||
{ |
||||
|
||||
} |
||||
|
||||
void BlankPlanCreator::createPlan(const QGeoCoordinate& /*mapCenterCoord*/) |
||||
{ |
||||
_planMasterController->removeAll(); |
||||
} |
After Width: | Height: | Size: 726 KiB |
Before Width: | Height: | Size: 370 KiB After Width: | Height: | Size: 1012 KiB |
@ -1,38 +0,0 @@
@@ -1,38 +0,0 @@
|
||||
/****************************************************************************
|
||||
* |
||||
* (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. |
||||
* |
||||
****************************************************************************/ |
||||
|
||||
#include "CustomPlanCreator.h" |
||||
#include "PlanMasterController.h" |
||||
#include "MissionSettingsItem.h" |
||||
#include "FixedWingLandingComplexItem.h" |
||||
|
||||
CustomPlanCreator::CustomPlanCreator(PlanMasterController* planMasterController, QObject* parent) |
||||
: PlanCreator(planMasterController, tr("Custom"), QStringLiteral("/qmlimages/PlanCreator/CustomPlanCreator.png"), parent) |
||||
{ |
||||
|
||||
} |
||||
|
||||
void CustomPlanCreator::createPlan(const QGeoCoordinate& mapCenterCoord) |
||||
{ |
||||
_planMasterController->removeAll(); |
||||
VisualMissionItem* takeoffItem = _missionController->insertSimpleMissionItem(mapCenterCoord, -1); |
||||
takeoffItem->setWizardMode(true); |
||||
_missionController->insertSimpleMissionItem(mapCenterCoord.atDistanceAndAzimuth(50, 135), -1); |
||||
_missionController->insertSimpleMissionItem(mapCenterCoord.atDistanceAndAzimuth(50, -135),-1); |
||||
if (_planMasterController->managerVehicle()->fixedWing()) { |
||||
FixedWingLandingComplexItem* landingItem = qobject_cast<FixedWingLandingComplexItem*>(_missionController->insertComplexMissionItem(MissionController::patternFWLandingName, mapCenterCoord, -1)); |
||||
landingItem->setWizardMode(true); |
||||
landingItem->setLoiterDragAngleOnly(true); |
||||
} else { |
||||
MissionSettingsItem* settingsItem = _missionController->visualItems()->value<MissionSettingsItem*>(0); |
||||
settingsItem->setMissionEndRTL(true); |
||||
} |
||||
_missionController->setCurrentPlanViewIndex(takeoffItem->sequenceNumber(), true); |
||||
|
||||
} |
Before Width: | Height: | Size: 203 KiB |
Before Width: | Height: | Size: 494 KiB After Width: | Height: | Size: 670 KiB |
Before Width: | Height: | Size: 200 KiB After Width: | Height: | Size: 617 KiB |
@ -1,128 +0,0 @@
@@ -1,128 +0,0 @@
|
||||
/**************************************************************************** |
||||
* |
||||
* (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 2.4 |
||||
import QtQuick.Layouts 1.2 |
||||
|
||||
import QGroundControl 1.0 |
||||
import QGroundControl.ScreenTools 1.0 |
||||
import QGroundControl.Controls 1.0 |
||||
import QGroundControl.Palette 1.0 |
||||
|
||||
Item { |
||||
id: _root |
||||
|
||||
property var planMasterController |
||||
property var mapControl |
||||
|
||||
property real _radius: ScreenTools.defaultFontPixelWidth / 2 |
||||
property real _margins: ScreenTools.defaultFontPixelWidth |
||||
|
||||
function _mapCenter() { |
||||
var centerPoint = Qt.point(mapControl.centerViewport.left + (mapControl.centerViewport.width / 2), mapControl.centerViewport.top + (mapControl.centerViewport.height / 2)) |
||||
return mapControl.toCoordinate(centerPoint, false /* clipToViewPort */) |
||||
} |
||||
|
||||
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } |
||||
|
||||
Rectangle { |
||||
anchors.fill: parent |
||||
radius: _radius |
||||
color: "white" |
||||
opacity: 0.75 |
||||
} |
||||
|
||||
// Close Icon |
||||
QGCColoredImage { |
||||
anchors.margins: ScreenTools.defaultFontPixelWidth / 2 |
||||
anchors.top: parent.top |
||||
anchors.right: parent.right |
||||
width: ScreenTools.defaultFontPixelHeight |
||||
height: width |
||||
sourceSize.height: width |
||||
source: "/res/XDelete.svg" |
||||
fillMode: Image.PreserveAspectFit |
||||
mipmap: true |
||||
smooth: true |
||||
color: "black" |
||||
QGCMouseArea { |
||||
fillItem: parent |
||||
onClicked: _root.visible = false |
||||
} |
||||
} |
||||
|
||||
QGCLabel { |
||||
id: title |
||||
anchors.left: parent.left |
||||
anchors.right: parent.right |
||||
horizontalAlignment: Text.AlignHCenter |
||||
text: qsTr("Create Plan") |
||||
color: "black" |
||||
} |
||||
|
||||
QGCFlickable { |
||||
id: flickable |
||||
anchors.margins: _margins |
||||
anchors.top: title.bottom |
||||
anchors.bottom: parent.bottom |
||||
anchors.left: parent.left |
||||
anchors.right: parent.right |
||||
contentHeight: creatorFlow.height |
||||
contentWidth: creatorFlow.width |
||||
|
||||
Flow { |
||||
id: creatorFlow |
||||
width: flickable.width |
||||
spacing: _margins |
||||
|
||||
Repeater { |
||||
model: _planMasterController.planCreators |
||||
|
||||
Rectangle { |
||||
id: button |
||||
width: ScreenTools.defaultFontPixelHeight * 10 |
||||
height: width |
||||
color: button.pressed || button.highlighted ? qgcPal.buttonHighlight : qgcPal.button |
||||
|
||||
property bool highlighted: mouseArea.containsMouse |
||||
property bool pressed: mouseArea.pressed |
||||
|
||||
Image { |
||||
anchors.margins: _margins |
||||
anchors.left: parent.left |
||||
anchors.right: parent.right |
||||
anchors.verticalCenter: parent.verticalCenter |
||||
source: object.imageResource |
||||
fillMode: Image.PreserveAspectFit |
||||
mipmap: true |
||||
} |
||||
|
||||
QGCLabel { |
||||
anchors.margins: _margins |
||||
anchors.bottom: parent.bottom |
||||
anchors.left: parent.left |
||||
anchors.right: parent.right |
||||
horizontalAlignment: Text.AlignHCenter |
||||
text: object.name |
||||
color: button.pressed || button.highlighted ? qgcPal.buttonHighlightText : qgcPal.buttonText |
||||
} |
||||
|
||||
QGCMouseArea { |
||||
id: mouseArea |
||||
anchors.fill: parent |
||||
hoverEnabled: true |
||||
preventStealing: true |
||||
onClicked: { object.createPlan(_mapCenter()); _root.visible = false } |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |