From 0c856c8f99a3983b15858aee2751718df475d2c0 Mon Sep 17 00:00:00 2001 From: pixhawk Date: Mon, 13 Sep 2010 10:45:51 +0200 Subject: [PATCH] Added support for 3D view, ready for integration --- src/ui/MainWindow.cc | 73 +++++++++++++++++++++++++++++++++------------------- src/ui/MainWindow.h | 5 ++-- src/ui/MainWindow.ui | 11 +++++--- 3 files changed, 57 insertions(+), 32 deletions(-) diff --git a/src/ui/MainWindow.cc b/src/ui/MainWindow.cc index 0cd24da..b38304e 100644 --- a/src/ui/MainWindow.cc +++ b/src/ui/MainWindow.cc @@ -131,6 +131,7 @@ void MainWindow::buildWidgets() mapWidget = new MapWidget(this); protocolWidget = new XMLCommProtocolWidget(this); dataplotWidget = new QGCDataPlot2D(this); + map3DWidget = new QWidget(this); // FIXME Lionel, insert visualizer here // Dock widgets controlDockWidget = new QDockWidget(tr("Control"), this); @@ -354,7 +355,7 @@ void MainWindow::connectActions() connect(ui.actionPilotView, SIGNAL(triggered()), this, SLOT(loadPilotView())); connect(ui.actionEngineerView, SIGNAL(triggered()), this, SLOT(loadEngineerView())); connect(ui.actionOperatorView, SIGNAL(triggered()), this, SLOT(loadOperatorView())); - connect(ui.actionSettingsView, SIGNAL(triggered()), this, SLOT(loadSettingsView())); + connect(ui.action3DView, SIGNAL(triggered()), this, SLOT(load3DView())); connect(ui.actionShow_full_view, SIGNAL(triggered()), this, SLOT(loadAllView())); connect(ui.actionShow_MAVLink_view, SIGNAL(triggered()), this, SLOT(loadMAVLinkView())); connect(ui.actionShow_data_analysis_view, SIGNAL(triggered()), this, SLOT(loadDataView())); @@ -869,36 +870,56 @@ void MainWindow::loadOperatorView() this->show(); } -void MainWindow::loadSettingsView() +void MainWindow::load3DView() { - clearView(); + clearView(); - // LINE CHART - if (linechartWidget) - { - QStackedWidget *centerStack = dynamic_cast(centralWidget()); - if (centerStack) - { - linechartWidget->setActive(true); - centerStack->setCurrentWidget(linechartWidget); - } - } + // 3D map + if (map3DWidget) + { + QStackedWidget *centerStack = dynamic_cast(centralWidget()); + if (centerStack) + { + //map3DWidget->setActive(true); + centerStack->setCurrentWidget(map3DWidget); + } + } - /* - // COMM XML - QDockWidget* container1 = new QDockWidget(tr("MAVLink XML to C Code Generator"), this); - container1->setWidget(protocol); - addDockWidget(Qt::LeftDockWidgetArea, container1);*/ + // UAS CONTROL + if (controlDockWidget) + { + addDockWidget(Qt::LeftDockWidgetArea, controlDockWidget); + controlDockWidget->show(); + } - // ONBOARD PARAMETERS - if (parametersDockWidget) - { - addDockWidget(Qt::RightDockWidgetArea, parametersDockWidget); - parametersDockWidget->show(); - } + // UAS LIST + if (listDockWidget) + { + addDockWidget(Qt::BottomDockWidgetArea, listDockWidget); + listDockWidget->show(); + } - this->show(); -} + // WAYPOINT LIST + if (waypointsDockWidget) + { + addDockWidget(Qt::BottomDockWidgetArea, waypointsDockWidget); + waypointsDockWidget->show(); + } + + // HORIZONTAL SITUATION INDICATOR + if (hsiDockWidget) + { + HSIDisplay* hsi = dynamic_cast( hsiDockWidget->widget() ); + if (hsi) + { + hsi->start(); + addDockWidget(Qt::LeftDockWidgetArea, hsiDockWidget); + hsiDockWidget->show(); + } + } + + this->show(); + } void MainWindow::loadEngineerView() { diff --git a/src/ui/MainWindow.h b/src/ui/MainWindow.h index 057390b..c96d86f 100644 --- a/src/ui/MainWindow.h +++ b/src/ui/MainWindow.h @@ -111,8 +111,8 @@ public slots: void loadEngineerView(); /** @brief Load view for operator */ void loadOperatorView(); - /** @brief Load view for general settings */ - void loadSettingsView(); + /** @brief Load 3D view */ + void load3DView(); /** @brief Load view with all widgets */ void loadAllView(); /** @brief Load MAVLink XML generator view */ @@ -160,6 +160,7 @@ protected: QPointer mapWidget; QPointer protocolWidget; QPointer dataplotWidget; + QPointer map3DWidget; // Dock widgets QPointer controlDockWidget; QPointer infoDockWidget; diff --git a/src/ui/MainWindow.ui b/src/ui/MainWindow.ui index b9f9674..49c2790 100644 --- a/src/ui/MainWindow.ui +++ b/src/ui/MainWindow.ui @@ -38,7 +38,7 @@ 0 0 1000 - 21 + 22 @@ -75,7 +75,7 @@ - + @@ -240,13 +240,16 @@ Shop the 2D map and system status - + :/images/categories/preferences-system.svg:/images/categories/preferences-system.svg - Show settings view + Show 3D view + + + Show 3D view