Skip to content
Snippets Groups Projects
Commit b6a6fe96 authored by DonLakeFlyer's avatar DonLakeFlyer
Browse files

Remove unused code
parent dd1cc241
No related branches found
No related tags found
No related merge requests found
/****************************************************************************
*
* (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 "MultiVehicleDockWidget.h"
#include "ui_MultiVehicleDockWidget.h"
#include "MultiVehicleManager.h"
#include "QGCApplication.h"
MultiVehicleDockWidget::MultiVehicleDockWidget(const QString& title, QAction* action, QWidget *parent)
: QGCDockWidget(title, action, parent)
, _ui(new Ui::MultiVehicleDockWidget)
{
_ui->setupUi(this);
setWindowTitle(title);
connect(qgcApp()->toolbox()->multiVehicleManager(), &MultiVehicleManager::activeVehicleChanged, this, &MultiVehicleDockWidget::_activeVehicleChanged);
connect(qgcApp()->toolbox()->multiVehicleManager(), &MultiVehicleManager::vehicleAdded, this, &MultiVehicleDockWidget::_vehicleAdded);
connect(qgcApp()->toolbox()->multiVehicleManager(), &MultiVehicleManager::vehicleRemoved, this, &MultiVehicleDockWidget::_vehicleRemoved);
}
void MultiVehicleDockWidget::init(void)
{
QmlObjectListModel* vehicles = qgcApp()->toolbox()->multiVehicleManager()->vehicles();
for (int i=0; i<vehicles->count(); i++) {
_vehicleAdded(qobject_cast<Vehicle*>(vehicles->get(i)));
}
if (qgcApp()->toolbox()->multiVehicleManager()->activeVehicle()) {
_activeVehicleChanged(qgcApp()->toolbox()->multiVehicleManager()->activeVehicle());
}
}
MultiVehicleDockWidget::~MultiVehicleDockWidget()
{
delete _ui;
}
void MultiVehicleDockWidget::_vehicleRemoved(Vehicle* vehicle)
{
int id = vehicle->id();
if (_vehicleWidgets.contains(id)) {
_vehicleWidgets[id]->deleteLater();
_vehicleWidgets.remove(id);
}
}
void MultiVehicleDockWidget::_vehicleAdded(Vehicle* vehicle)
{
int id = vehicle->id();
if (!_vehicleWidgets.contains(id)) {
QWidget* vehicleWidget = _newVehicleWidget(vehicle, _ui->stackedWidget);
_vehicleWidgets[id] = vehicleWidget;
_ui->stackedWidget->addWidget(vehicleWidget);
}
}
void MultiVehicleDockWidget::_activeVehicleChanged(Vehicle* vehicle)
{
if (vehicle) {
int id = vehicle->id();
if (!_vehicleWidgets.contains(id)) {
_vehicleAdded(vehicle);
}
QWidget* vehicleWidget = _vehicleWidgets[id];
_ui->stackedWidget->setCurrentWidget(vehicleWidget);
}
}
/****************************************************************************
*
* (c) 2009-2018 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.
*
****************************************************************************/
#pragma once
#include <QMap>
#include "QGCDockWidget.h"
#include "Vehicle.h"
namespace Ui
{
class MultiVehicleDockWidget;
}
/// Provides a base class for a dock widget which automatically handles
/// Vehicles coming and going. It does this by using a stacked widget which
/// holds individual Vehicle specific widgets.
class MultiVehicleDockWidget : public QGCDockWidget
{
Q_OBJECT
public:
explicit MultiVehicleDockWidget(const QString& title, QAction* action, QWidget *parent = 0);
~MultiVehicleDockWidget();
/// Must be called in the derived class contructor to initialize the base class
void init(void);
protected:
/// Derived class must implement this to create the QWidget for the
/// specified Vehicle.
virtual QWidget* _newVehicleWidget(Vehicle* vehicle, QWidget* parent) = 0;
private slots:
void _vehicleAdded(Vehicle* vehicle);
void _vehicleRemoved(Vehicle* vehicle);
void _activeVehicleChanged(Vehicle* vehicle);
private:
QMap<int, QWidget*> _vehicleWidgets;
Ui::MultiVehicleDockWidget* _ui;
};
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MultiVehicleDockWidget</class>
<widget class="QWidget" name="MultiVehicleDockWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>200</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QStackedWidget" name="stackedWidget"/>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment