@ -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 @@ |
|||||||
/****************************************************************************
|
|
||||||
* |
|
||||||
* (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 @@ |
|||||||
/**************************************************************************** |
|
||||||
* |
|
||||||
* (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 } |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|