|
|
|
@ -399,7 +399,7 @@ void MainWindow::buildCustomWidget()
@@ -399,7 +399,7 @@ void MainWindow::buildCustomWidget()
|
|
|
|
|
switch (view) |
|
|
|
|
{ |
|
|
|
|
case VIEW_ENGINEER: |
|
|
|
|
dock = createDockWidget(dataView,tool,tool->getTitle(),tool->objectName(),(VIEW_SECTIONS)view,location); |
|
|
|
|
dock = createDockWidget(engineeringView,tool,tool->getTitle(),tool->objectName(),(VIEW_SECTIONS)view,location); |
|
|
|
|
break; |
|
|
|
|
case VIEW_FLIGHT: |
|
|
|
|
dock = createDockWidget(pilotView,tool,tool->getTitle(),tool->objectName(),(VIEW_SECTIONS)view,location); |
|
|
|
@ -410,6 +410,9 @@ void MainWindow::buildCustomWidget()
@@ -410,6 +410,9 @@ void MainWindow::buildCustomWidget()
|
|
|
|
|
case VIEW_MISSION: |
|
|
|
|
dock = createDockWidget(plannerView,tool,tool->getTitle(),tool->objectName(),(VIEW_SECTIONS)view,location); |
|
|
|
|
break; |
|
|
|
|
case VIEW_MAVLINK: |
|
|
|
|
dock = createDockWidget(mavlinkView,tool,tool->getTitle(),tool->objectName(),(VIEW_SECTIONS)view,location); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
dock = createDockWidget(centerStack->currentWidget(),tool,tool->getTitle(),tool->objectName(),(VIEW_SECTIONS)view,location); |
|
|
|
|
break; |
|
|
|
@ -469,15 +472,15 @@ void MainWindow::buildCommonWidgets()
@@ -469,15 +472,15 @@ void MainWindow::buildCommonWidgets()
|
|
|
|
|
{ |
|
|
|
|
engineeringView = new SubMainWindow(this); |
|
|
|
|
engineeringView->setObjectName("VIEW_ENGINEER"); |
|
|
|
|
engineeringView->setCentralWidget(new XMLCommProtocolWidget(this)); |
|
|
|
|
addCentralWidget(engineeringView,"Mavlink Generator"); |
|
|
|
|
engineeringView->setCentralWidget(new QGCDataPlot2D(this)); |
|
|
|
|
addCentralWidget(engineeringView,tr("Logfile Plot")); |
|
|
|
|
} |
|
|
|
|
if (!dataView) |
|
|
|
|
if (!mavlinkView) |
|
|
|
|
{ |
|
|
|
|
dataView = new SubMainWindow(this); |
|
|
|
|
dataView->setObjectName("VIEW_DATA"); |
|
|
|
|
dataView->setCentralWidget(new QGCDataPlot2D(this)); |
|
|
|
|
addCentralWidget(dataView,tr("Logfile Plot")); |
|
|
|
|
mavlinkView = new SubMainWindow(this); |
|
|
|
|
mavlinkView->setObjectName("VIEW_MAVLINK"); |
|
|
|
|
mavlinkView->setCentralWidget(new XMLCommProtocolWidget(this)); |
|
|
|
|
addCentralWidget(mavlinkView,tr("Mavlink Generator")); |
|
|
|
|
} |
|
|
|
|
if (!simView) |
|
|
|
|
{ |
|
|
|
@ -879,17 +882,14 @@ void MainWindow::showHILConfigurationWidget(UASInterface* uas)
@@ -879,17 +882,14 @@ void MainWindow::showHILConfigurationWidget(UASInterface* uas)
|
|
|
|
|
if (mav && !hilDocks.contains(mav->getUASID())) |
|
|
|
|
{ |
|
|
|
|
QGCHilConfiguration* hconf = new QGCHilConfiguration(mav, this); |
|
|
|
|
QString hilDockName = tr("HIL Config (%1)").arg(uas->getUASName()); |
|
|
|
|
QDockWidget* hilDock = new QDockWidget(hilDockName, this); |
|
|
|
|
hilDock->setWidget(hconf); |
|
|
|
|
hilDock->setObjectName(QString("HIL_CONFIG_%1").arg(uas->getUASID())); |
|
|
|
|
//addTool(hilDock, hilDockName, Qt::LeftDockWidgetArea);
|
|
|
|
|
QString hilDockName = tr("HIL Config %1").arg(uas->getUASName()); |
|
|
|
|
QDockWidget* hilDock = createDockWidget(simView, hconf,hilDockName, hilDockName.toUpper().replace(" ", "_"),VIEW_SIMULATION,Qt::LeftDockWidgetArea); |
|
|
|
|
hilDocks.insert(mav->getUASID(), hilDock); |
|
|
|
|
|
|
|
|
|
if (currentView != VIEW_SIMULATION) |
|
|
|
|
hilDock->hide(); |
|
|
|
|
else |
|
|
|
|
hilDock->show(); |
|
|
|
|
// if (currentView != VIEW_SIMULATION)
|
|
|
|
|
// hilDock->hide();
|
|
|
|
|
// else
|
|
|
|
|
// hilDock->show();
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -963,7 +963,7 @@ void MainWindow::loadCustomWidget(const QString& fileName, int view)
@@ -963,7 +963,7 @@ void MainWindow::loadCustomWidget(const QString& fileName, int view)
|
|
|
|
|
switch ((VIEW_SECTIONS)view) |
|
|
|
|
{ |
|
|
|
|
case VIEW_ENGINEER: |
|
|
|
|
createDockWidget(dataView,tool,tool->getTitle(),tool->objectName()+"DOCK",(VIEW_SECTIONS)view,Qt::LeftDockWidgetArea); |
|
|
|
|
createDockWidget(engineeringView,tool,tool->getTitle(),tool->objectName()+"DOCK",(VIEW_SECTIONS)view,Qt::LeftDockWidgetArea); |
|
|
|
|
break; |
|
|
|
|
case VIEW_FLIGHT: |
|
|
|
|
createDockWidget(pilotView,tool,tool->getTitle(),tool->objectName()+"DOCK",(VIEW_SECTIONS)view,Qt::LeftDockWidgetArea); |
|
|
|
@ -1008,7 +1008,7 @@ void MainWindow::loadCustomWidget(const QString& fileName, bool singleinstance)
@@ -1008,7 +1008,7 @@ void MainWindow::loadCustomWidget(const QString& fileName, bool singleinstance)
|
|
|
|
|
switch (view) |
|
|
|
|
{ |
|
|
|
|
case VIEW_ENGINEER: |
|
|
|
|
createDockWidget(dataView,tool,tool->getTitle(),tool->objectName()+"DOCK",(VIEW_SECTIONS)view,Qt::LeftDockWidgetArea); |
|
|
|
|
createDockWidget(engineeringView,tool,tool->getTitle(),tool->objectName()+"DOCK",(VIEW_SECTIONS)view,Qt::LeftDockWidgetArea); |
|
|
|
|
break; |
|
|
|
|
case VIEW_FLIGHT: |
|
|
|
|
createDockWidget(pilotView,tool,tool->getTitle(),tool->objectName()+"DOCK",(VIEW_SECTIONS)view,Qt::LeftDockWidgetArea); |
|
|
|
@ -1748,9 +1748,9 @@ void MainWindow::UASCreated(UASInterface* uas)
@@ -1748,9 +1748,9 @@ void MainWindow::UASCreated(UASInterface* uas)
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
linechartWidget->addSource(mavlinkDecoder); |
|
|
|
|
if (dataView->centralWidget() != linechartWidget) |
|
|
|
|
if (engineeringView->centralWidget() != linechartWidget) |
|
|
|
|
{ |
|
|
|
|
dataView->setCentralWidget(linechartWidget); |
|
|
|
|
engineeringView->setCentralWidget(linechartWidget); |
|
|
|
|
linechartWidget->show(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1881,7 +1881,7 @@ void MainWindow::loadViewState()
@@ -1881,7 +1881,7 @@ void MainWindow::loadViewState()
|
|
|
|
|
// Restore center stack state
|
|
|
|
|
int index = settings.value(getWindowStateKey()+"CENTER_WIDGET", -1).toInt(); |
|
|
|
|
// The offline plot view is usually the consequence of a logging run, always show the realtime view first
|
|
|
|
|
if (centerStack->indexOf(dataView) == index) |
|
|
|
|
if (centerStack->indexOf(engineeringView) == index) |
|
|
|
|
{ |
|
|
|
|
// Rewrite to realtime plot
|
|
|
|
|
//index = centerStack->indexOf(linechartWidget);
|
|
|
|
@ -1904,13 +1904,13 @@ void MainWindow::loadViewState()
@@ -1904,13 +1904,13 @@ void MainWindow::loadViewState()
|
|
|
|
|
centerStack->setCurrentWidget(configView); |
|
|
|
|
break; |
|
|
|
|
case VIEW_ENGINEER: |
|
|
|
|
centerStack->setCurrentWidget(dataView); |
|
|
|
|
centerStack->setCurrentWidget(engineeringView); |
|
|
|
|
break; |
|
|
|
|
case VIEW_FLIGHT: |
|
|
|
|
centerStack->setCurrentWidget(pilotView); |
|
|
|
|
break; |
|
|
|
|
case VIEW_MAVLINK: |
|
|
|
|
centerStack->setCurrentWidget(engineeringView); |
|
|
|
|
centerStack->setCurrentWidget(mavlinkView); |
|
|
|
|
break; |
|
|
|
|
case VIEW_FIRMWAREUPDATE: |
|
|
|
|
centerStack->setCurrentWidget(firmwareUpdateWidget); |
|
|
|
@ -2078,25 +2078,25 @@ void MainWindow::loadFirmwareUpdateView()
@@ -2078,25 +2078,25 @@ void MainWindow::loadFirmwareUpdateView()
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void MainWindow::loadDataView(QString fileName) |
|
|
|
|
{ |
|
|
|
|
// Plot is now selected, now load data from file
|
|
|
|
|
if (dataView) |
|
|
|
|
{ |
|
|
|
|
//dataView->setCentralWidget(new QGCDataPlot2D(this));
|
|
|
|
|
QGCDataPlot2D *plot = qobject_cast<QGCDataPlot2D*>(dataView->centralWidget()); |
|
|
|
|
if (plot) |
|
|
|
|
{ |
|
|
|
|
plot->loadFile(fileName); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
/*QStackedWidget *centerStack = dynamic_cast<QStackedWidget*>(centralWidget());
|
|
|
|
|
if (centerStack) |
|
|
|
|
{ |
|
|
|
|
centerStack->setCurrentWidget(dataView); |
|
|
|
|
dataplotWidget->loadFile(fileName); |
|
|
|
|
}*/ |
|
|
|
|
} |
|
|
|
|
//void MainWindow::loadDataView(QString fileName)
|
|
|
|
|
//{
|
|
|
|
|
// // Plot is now selected, now load data from file
|
|
|
|
|
// if (dataView)
|
|
|
|
|
// {
|
|
|
|
|
// //dataView->setCentralWidget(new QGCDataPlot2D(this));
|
|
|
|
|
// QGCDataPlot2D *plot = qobject_cast<QGCDataPlot2D*>(dataView->centralWidget());
|
|
|
|
|
// if (plot)
|
|
|
|
|
// {
|
|
|
|
|
// plot->loadFile(fileName);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// /*QStackedWidget *centerStack = dynamic_cast<QStackedWidget*>(centralWidget());
|
|
|
|
|
// if (centerStack)
|
|
|
|
|
// {
|
|
|
|
|
// centerStack->setCurrentWidget(dataView);
|
|
|
|
|
// dataplotWidget->loadFile(fileName);
|
|
|
|
|
// }*/
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
QList<QAction*> MainWindow::listLinkMenuActions(void) |
|
|
|
|