- *
- * 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.Controls.Styles 1.4
-import QtQuick.Dialogs 1.2
-
-import QGroundControl 1.0
-import QGroundControl.Palette 1.0
-import QGroundControl.Controls 1.0
-import QGroundControl.Controllers 1.0
-import QGroundControl.ScreenTools 1.0
-
-Item {
-
- property var _activeVehicle: QGroundControl.multiVehicleManager.parameterReadyVehicleAvailable ? QGroundControl.multiVehicleManager.activeVehicle : null
- property real _margins: ScreenTools.defaultFontPixelHeight
- property string _noVehicleText: qsTr("No vehicle connected")
- property string _assignQmlFile: "" +
- "You can create your own commands and parameter editing user interface in this widget. " +
- "You do this by providing your own Qml file. " +
- "This support is a work in progress and the details may change somewhat in the future. " +
- "By using this feature you are connecting directly to the internals of QGroundControl. " +
- "Doing so incorrectly may cause instability both in QGroundControl and/or your vehicle. " +
- "So make sure to test your changes thoroughly before using them in flight.
" +
- "Click 'Load Custom Qml file' to provide your custom qml file.
" +
- "Click 'Reset' to reset to none.
" +
- "Example usage: https://docs.qgroundcontrol.com/en/app_menu/custom_command_widget.html
"
-
- QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
-
- CustomCommandWidgetController {
- id: controller
- onCustomQmlFileChanged: _updateLoader()
- }
-
- Component.onCompleted: _updateLoader()
-
- on_ActiveVehicleChanged: _updateLoader()
-
- function _updateLoader() {
- loader.sourceComponent = undefined
- loader.visible = false
- textOutput.text = _noVehicleText
- if (_activeVehicle) {
- if (controller.customQmlFile === "") {
- textOutput.text = _assignQmlFile
- } else {
- loader.source = controller.customQmlFile
- }
- }
- }
-
- Item {
- anchors.fill: parent
-
- Rectangle {
- anchors.fill: parent
- color: qgcPal.window
-
- Loader {
- id: loader
- anchors.margins: _margins
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.top: parent.top
- anchors.bottom: buttonRow.top
- visible: false
-
- onStatusChanged: {
- if (loader.status == Loader.Error) {
- textOutput.text = sourceComponent.errorString()
- } else if (loader.status == Loader.Ready) {
- loader.visible = true
- }
- }
- }
- QGCFlickable {
- id: container
- anchors.fill: loader
- contentHeight: textOutput.height
- flickableDirection: QGCFlickable.VerticalFlick
- visible: !loader.visible
- QGCLabel {
- id: textOutput
- width: container.width
- wrapMode: Text.WordWrap
- textFormat: Text.RichText
- onLinkActivated: Qt.openUrlExternally(link)
- }
- }
- Row {
- id: buttonRow
- spacing: ScreenTools.defaultFontPixelWidth
- anchors.margins: _margins
- anchors.bottom: parent.bottom
- anchors.horizontalCenter: parent.horizontalCenter
-
- QGCButton {
- text: qsTr("Load Custom Qml file...")
- width: ScreenTools.defaultFontPixelWidth * 22
- onClicked: controller.selectQmlFile()
- }
-
- QGCButton {
- text: qsTr("Reset")
- width: ScreenTools.defaultFontPixelWidth * 22
- onClicked: controller.clearQmlFile()
- }
- }
-
- }
- }
-}
diff --git a/src/ViewWidgets/CustomCommandWidgetController.h b/src/ViewWidgets/CustomCommandWidgetController.h
deleted file mode 100644
index afcbdb8..0000000
--- a/src/ViewWidgets/CustomCommandWidgetController.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/****************************************************************************
- *
- * (c) 2009-2018 QGROUNDCONTROL PROJECT
- *
- * QGroundControl is licensed according to the terms in the file
- * COPYING.md in the root of the source code directory.
- *
- ****************************************************************************/
-
-
-#pragma once
-
-#include
-
-#include "AutoPilotPlugin.h"
-#include "FactPanelController.h"
-
-class CustomCommandWidgetController : public FactPanelController
-{
- Q_OBJECT
-
-public:
- CustomCommandWidgetController(void);
-
- Q_PROPERTY(QString customQmlFile MEMBER _customQmlFile NOTIFY customQmlFileChanged)
-
- Q_INVOKABLE void sendCommand (int commandId, QVariant componentId, QVariant confirm, QVariant param1, QVariant param2, QVariant param3, QVariant param4, QVariant param5, QVariant param6, QVariant param7);
- Q_INVOKABLE void selectQmlFile (void);
- Q_INVOKABLE void clearQmlFile (void);
-
-signals:
- void customQmlFileChanged (const QString& customQmlFile);
-
-private:
- Vehicle* _vehicle;
- QString _customQmlFile;
- static const char* _settingsKey;
-};
-
diff --git a/src/ViewWidgets/ViewWidget.qml b/src/ViewWidgets/ViewWidget.qml
deleted file mode 100644
index 0eef437..0000000
--- a/src/ViewWidgets/ViewWidget.qml
+++ /dev/null
@@ -1,85 +0,0 @@
-import QtQuick 2.3
-import QtQuick.Controls 1.2
-import QtQuick.Controls.Styles 1.4
-
-import QGroundControl 1.0
-import QGroundControl.Controls 1.0
-import QGroundControl.Controllers 1.0
-import QGroundControl.Palette 1.0
-
-Rectangle {
- property Component connectedComponent: __componentConnected
- property Component disconnectedComponent: __componentDisconnected
-
- QGCPalette { id: __qgcPal; colorGroupEnabled: enabled }
- ViewWidgetController { id: __controller }
-
- color: __qgcPal.window
-
- Component.onCompleted: __controller.checkForVehicle()
-
- Connections {
- target: __controller
-
- onPluginConnected: {
- pageLoader.autopilot = autopilot
- pageLoader.sourceComponent = connectedComponent
- }
-
- onPluginDisconnected: {
- pageLoader.sourceComponent = null
- pageLoader.sourceComponent = disconnectedComponent
- pageLoader.autopilot = null
- }
- }
-
- Loader {
- id: pageLoader
-
- anchors.fill: parent
-
- property var autopilot
-
- sourceComponent: __componentDisconnected
- }
-
- Component {
- id: __componentConnected
-
- Rectangle {
- QGCPalette { id: __qgcPal; colorGroupEnabled: enabled }
-
- anchors.fill: parent
- color: __qgcPal.window
-
- QGCLabel {
- anchors.fill: parent
-
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
-
- text: qsTr("missing connected implementation")
- }
- }
- }
-
- Component {
- id: __componentDisconnected
-
- Rectangle {
- QGCPalette { id: __qgcPal; colorGroupEnabled: enabled }
-
- anchors.fill: parent
- color: __qgcPal.window
-
- QGCLabel {
- anchors.fill: parent
-
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
-
- text: qsTr("no vehicle connected")
- }
- }
- }
-}
diff --git a/src/ViewWidgets/ViewWidgetController.cc b/src/ViewWidgets/ViewWidgetController.cc
deleted file mode 100644
index 3a3ba13..0000000
--- a/src/ViewWidgets/ViewWidgetController.cc
+++ /dev/null
@@ -1,43 +0,0 @@
-/****************************************************************************
- *
- * (c) 2009-2016 QGROUNDCONTROL PROJECT
- *
- * QGroundControl is licensed according to the terms in the file
- * COPYING.md in the root of the source code directory.
- *
- ****************************************************************************/
-
-
-#include "ViewWidgetController.h"
-#include "MultiVehicleManager.h"
-#include "UAS.h"
-#include "QGCApplication.h"
-
-ViewWidgetController::ViewWidgetController(void) :
- _autopilot(NULL),
- _uas(NULL)
-{
- connect(qgcApp()->toolbox()->multiVehicleManager(), &MultiVehicleManager::parameterReadyVehicleAvailableChanged, this, &ViewWidgetController::_vehicleAvailable);
-}
-
-void ViewWidgetController::_vehicleAvailable(bool available)
-{
- if (_uas) {
- _uas = NULL;
- _autopilot = NULL;
- emit pluginDisconnected();
- }
-
- if (available) {
- Vehicle* vehicle = qgcApp()->toolbox()->multiVehicleManager()->activeVehicle();
-
- _uas = vehicle->uas();
- _autopilot = vehicle->autopilotPlugin();
- emit pluginConnected(QVariant::fromValue(_autopilot));
- }
-}
-
-void ViewWidgetController::checkForVehicle(void)
-{
- _vehicleAvailable(qgcApp()->toolbox()->multiVehicleManager()->activeVehicle());
-}
diff --git a/src/ViewWidgets/ViewWidgetController.h b/src/ViewWidgets/ViewWidgetController.h
deleted file mode 100644
index 5c5c4cc..0000000
--- a/src/ViewWidgets/ViewWidgetController.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/****************************************************************************
- *
- * (c) 2009-2018 QGROUNDCONTROL PROJECT
- *
- * QGroundControl is licensed according to the terms in the file
- * COPYING.md in the root of the source code directory.
- *
- ****************************************************************************/
-
-
-#pragma once
-
-#include
-
-#include "UASInterface.h"
-#include "AutoPilotPlugin.h"
-#include "Vehicle.h"
-
-class ViewWidgetController : public QObject
-{
- Q_OBJECT
-
-public:
- ViewWidgetController(void);
-
- Q_INVOKABLE void checkForVehicle(void);
-
-signals:
- void pluginConnected(QVariant autopilot);
- void pluginDisconnected(void);
-
-private slots:
- void _vehicleAvailable(bool available);
-
-private:
- AutoPilotPlugin* _autopilot;
- UASInterface* _uas;
-};
-