diff --git a/src/ui/MainWindow.cc b/src/ui/MainWindow.cc index 0cd24dac764e3e7c3addd9635803a991a3c7decb..b38304e9f10a20cfdbe148110667758fe66f53b4 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 057390bc66b5ee83671bb97268413c65d2d9d548..c96d86f220715852724e081a162e52b369cfd205 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 b9f967414b1a09b127484a3113fdafbfa5056da8..49c27902d82da3085c6f171a5979af21b92d71cc 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