Commit 28fc38f6 authored by Don Gagne's avatar Don Gagne

Dock Widgets only support floating

This is in preparation for full Qml main window
parent 2ba8a0f3
...@@ -230,6 +230,7 @@ HEADERS += \ ...@@ -230,6 +230,7 @@ HEADERS += \
src/QGCApplication.h \ src/QGCApplication.h \
src/QGCComboBox.h \ src/QGCComboBox.h \
src/QGCConfig.h \ src/QGCConfig.h \
src/QGCDockWidget.h \
src/QGCFileDialog.h \ src/QGCFileDialog.h \
src/QGCGeo.h \ src/QGCGeo.h \
src/QGCLoggingCategory.h \ src/QGCLoggingCategory.h \
...@@ -289,7 +290,6 @@ HEADERS += \ ...@@ -289,7 +290,6 @@ HEADERS += \
src/comm/QGCHilLink.h \ src/comm/QGCHilLink.h \
src/comm/QGCJSBSimLink.h \ src/comm/QGCJSBSimLink.h \
src/comm/QGCXPlaneLink.h \ src/comm/QGCXPlaneLink.h \
src/QGCDockWidget.h \
src/ui/CameraView.h \ src/ui/CameraView.h \
src/ui/HILDockWidget.h \ src/ui/HILDockWidget.h \
src/ui/MultiVehicleDockWidget.h \ src/ui/MultiVehicleDockWidget.h \
...@@ -340,6 +340,7 @@ SOURCES += \ ...@@ -340,6 +340,7 @@ SOURCES += \
src/QGC.cc \ src/QGC.cc \
src/QGCApplication.cc \ src/QGCApplication.cc \
src/QGCComboBox.cc \ src/QGCComboBox.cc \
src/QGCDockWidget.cc \
src/QGCFileDialog.cc \ src/QGCFileDialog.cc \
src/QGCLoggingCategory.cc \ src/QGCLoggingCategory.cc \
src/QGCPalette.cc \ src/QGCPalette.cc \
...@@ -393,7 +394,6 @@ SOURCES += \ ...@@ -393,7 +394,6 @@ SOURCES += \
src/comm/QGCFlightGearLink.cc \ src/comm/QGCFlightGearLink.cc \
src/comm/QGCJSBSimLink.cc \ src/comm/QGCJSBSimLink.cc \
src/comm/QGCXPlaneLink.cc \ src/comm/QGCXPlaneLink.cc \
src/QGCDockWidget.cc \
src/ui/CameraView.cc \ src/ui/CameraView.cc \
src/ui/HILDockWidget.cc \ src/ui/HILDockWidget.cc \
src/ui/MultiVehicleDockWidget.cc \ src/ui/MultiVehicleDockWidget.cc \
......
...@@ -35,7 +35,7 @@ This file is part of the QGROUNDCONTROL project ...@@ -35,7 +35,7 @@ This file is part of the QGROUNDCONTROL project
const char* kMainFlightDisplayViewGroup = "FlightDisplayView"; const char* kMainFlightDisplayViewGroup = "FlightDisplayView";
FlightDisplayView::FlightDisplayView(QWidget *parent) FlightDisplayView::FlightDisplayView(QWidget *parent)
: QGCQmlWidgetHolder(parent) : QGCQmlWidgetHolder(QString(), NULL, parent)
{ {
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
setObjectName("FlightDisplayView"); setObjectName("FlightDisplayView");
......
...@@ -34,8 +34,8 @@ This file is part of the QGROUNDCONTROL project ...@@ -34,8 +34,8 @@ This file is part of the QGROUNDCONTROL project
const char* kMainFlightDisplayWidgetGroup = "FlightDisplayWidget"; const char* kMainFlightDisplayWidgetGroup = "FlightDisplayWidget";
FlightDisplayWidget::FlightDisplayWidget(QWidget *parent) FlightDisplayWidget::FlightDisplayWidget(const QString& title, QAction* action, QWidget *parent)
: QGCQmlWidgetHolder(parent) : QGCQmlWidgetHolder(title, action, parent)
{ {
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
setObjectName("FlightDisplayWidget"); setObjectName("FlightDisplayWidget");
...@@ -86,6 +86,8 @@ FlightDisplayWidget::FlightDisplayWidget(QWidget *parent) ...@@ -86,6 +86,8 @@ FlightDisplayWidget::FlightDisplayWidget(QWidget *parent)
setSource(QUrl::fromUserInput("qrc:/qml/FlightDisplayWidget.qml")); setSource(QUrl::fromUserInput("qrc:/qml/FlightDisplayWidget.qml"));
setVisible(true); setVisible(true);
loadSettings();
} }
FlightDisplayWidget::~FlightDisplayWidget() FlightDisplayWidget::~FlightDisplayWidget()
......
...@@ -30,7 +30,7 @@ class FlightDisplayWidget : public QGCQmlWidgetHolder ...@@ -30,7 +30,7 @@ class FlightDisplayWidget : public QGCQmlWidgetHolder
{ {
Q_OBJECT Q_OBJECT
public: public:
FlightDisplayWidget(QWidget* parent = NULL); FlightDisplayWidget(const QString& title, QAction* action, QWidget* parent = NULL);
~FlightDisplayWidget(); ~FlightDisplayWidget();
/// @brief Invokes the Flight Display Options menu /// @brief Invokes the Flight Display Options menu
......
...@@ -35,7 +35,7 @@ This file is part of the QGROUNDCONTROL project ...@@ -35,7 +35,7 @@ This file is part of the QGROUNDCONTROL project
const char* MissionEditor::_settingsGroup = "MissionEditor"; const char* MissionEditor::_settingsGroup = "MissionEditor";
MissionEditor::MissionEditor(QWidget *parent) MissionEditor::MissionEditor(QWidget *parent)
: QGCQmlWidgetHolder(parent) : QGCQmlWidgetHolder(QString(), NULL, parent)
, _missionItems(NULL) , _missionItems(NULL)
, _canEdit(true) , _canEdit(true)
{ {
......
...@@ -24,24 +24,51 @@ ...@@ -24,24 +24,51 @@
#include "QGCDockWidget.h" #include "QGCDockWidget.h"
#include <QCloseEvent> #include <QCloseEvent>
#include <QSettings>
QGCDockWidget::QGCDockWidget(const QString& title, QAction* action, QWidget *parent, Qt::WindowFlags flags) : const char* QGCDockWidget::_settingsGroup = "DockWidgets";
QDockWidget(title, parent, flags),
_action(action) QGCDockWidget::QGCDockWidget(const QString& title, QAction* action, QWidget* parent)
: QWidget(parent)
, _title(title)
, _action(action)
{ {
QDockWidget::DockWidgetFeatures features = QDockWidget::DockWidgetMovable; if (action) {
setWindowTitle(title);
if (action) { setWindowFlags(Qt::Tool);
features |= QDockWidget::DockWidgetClosable;
} loadSettings();
setFeatures(features); }
} }
// Instead of destroying the widget just hide it // Instead of destroying the widget just hide it
void QGCDockWidget::closeEvent(QCloseEvent* event) void QGCDockWidget::closeEvent(QCloseEvent* event)
{ {
Q_ASSERT(_action); if (_action) {
saveSettings();
event->ignore(); event->ignore();
_action->trigger(); _action->trigger();
}
}
void QGCDockWidget::loadSettings(void)
{
if (_action) {
QSettings settings;
settings.beginGroup(_settingsGroup);
if (settings.contains(_title)) {
restoreGeometry(settings.value(_title).toByteArray());
}
}
}
void QGCDockWidget::saveSettings(void)
{
if (_action) {
QSettings settings;
settings.beginGroup(_settingsGroup);
settings.setValue(_title, saveGeometry());
}
} }
...@@ -27,21 +27,22 @@ ...@@ -27,21 +27,22 @@
#include <QDockWidget> #include <QDockWidget>
#include <QAction> #include <QAction>
/// @file class QGCDockWidget : public QWidget {
/// @brief Subclass of QDockWidget so we can intercept the closeEvent.
///
/// @author Don Gagne <don@thegagnes.com>
class QGCDockWidget : public QDockWidget {
Q_OBJECT Q_OBJECT
public: public:
QGCDockWidget(const QString& title, QAction* action, QWidget *parent = 0, Qt::WindowFlags flags = 0); /// Pass in title = QString() and action = NULL when just using as a regular widget
QGCDockWidget(const QString& title, QAction* action, QWidget *parent = 0);
void loadSettings(void);
void saveSettings(void);
void closeEvent(QCloseEvent* event); void closeEvent(QCloseEvent* event);
private: protected:
QAction* _action; QString _title;
QAction* _action;
static const char* _settingsGroup;
}; };
......
...@@ -26,10 +26,14 @@ ...@@ -26,10 +26,14 @@
#include "QGCQmlWidgetHolder.h" #include "QGCQmlWidgetHolder.h"
QGCQmlWidgetHolder::QGCQmlWidgetHolder(QWidget *parent) : QGCQmlWidgetHolder::QGCQmlWidgetHolder(const QString& title, QAction* action, QWidget *parent) :
QWidget(parent) QGCDockWidget(title, action, parent)
{ {
_ui.setupUi(this); _ui.setupUi(this);
if (action) {
setWindowTitle(title);
}
setResizeMode(QQuickWidget::SizeRootObjectToView); setResizeMode(QQuickWidget::SizeRootObjectToView);
} }
......
...@@ -27,10 +27,10 @@ ...@@ -27,10 +27,10 @@
/// @file /// @file
/// @author Don Gagne <don@thegagnes.com> /// @author Don Gagne <don@thegagnes.com>
#include <QWidget> #include "QGCDockWidget.h"
#include "AutoPilotPlugin.h"
#include "ui_QGCQmlWidgetHolder.h" #include "ui_QGCQmlWidgetHolder.h"
#include "AutoPilotPlugin.h"
namespace Ui { namespace Ui {
class QGCQmlWidgetHolder; class QGCQmlWidgetHolder;
...@@ -38,12 +38,16 @@ class QGCQmlWidgetHolder; ...@@ -38,12 +38,16 @@ class QGCQmlWidgetHolder;
/// This is used to create widgets which are implemented in QML. /// This is used to create widgets which are implemented in QML.
class QGCQmlWidgetHolder : public QWidget class QGCQmlWidgetHolder : public QGCDockWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit QGCQmlWidgetHolder(QWidget *parent = 0); // This has a title and action since the base class is QGCDockWidget. In order to use this
// control as a normal QWidget, not a doc widget just pass in:
// title = QString()
// action = NULL
explicit QGCQmlWidgetHolder(const QString& title, QAction* action, QWidget *parent = 0);
~QGCQmlWidgetHolder(); ~QGCQmlWidgetHolder();
/// Sets the UAS into the widget which in turn will load facts into the context /// Sets the UAS into the widget which in turn will load facts into the context
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include "QmlTestWidget.h" #include "QmlTestWidget.h"
QmlTestWidget::QmlTestWidget(void) QmlTestWidget::QmlTestWidget(void)
: QGCQmlWidgetHolder(QString(), NULL, NULL)
{ {
setAttribute(Qt::WA_DeleteOnClose); setAttribute(Qt::WA_DeleteOnClose);
resize(900, 500); resize(900, 500);
......
...@@ -55,7 +55,7 @@ void ScreenToolsController::_updateCanvas() ...@@ -55,7 +55,7 @@ void ScreenToolsController::_updateCanvas()
double ScreenToolsController::getQmlDefaultFontPixelSize(void) double ScreenToolsController::getQmlDefaultFontPixelSize(void)
{ {
if (_qmlDefaultFontPixelSize == -1) { if (_qmlDefaultFontPixelSize == -1) {
QGCQmlWidgetHolder qmlWidgetHolder; QGCQmlWidgetHolder qmlWidgetHolder(QString(), NULL);
qmlWidgetHolder.setSource(QUrl::fromUserInput("qrc:/qml/ScreenToolsFontQuery.qml")); qmlWidgetHolder.setSource(QUrl::fromUserInput("qrc:/qml/ScreenToolsFontQuery.qml"));
} }
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
#include <QDebug> #include <QDebug>
SetupView::SetupView(QWidget* parent) : SetupView::SetupView(QWidget* parent) :
QGCQmlWidgetHolder(parent) QGCQmlWidgetHolder(QString(), NULL, parent)
{ {
setSource(QUrl::fromUserInput("qrc:/qml/SetupView.qml")); setSource(QUrl::fromUserInput("qrc:/qml/SetupView.qml"));
} }
......
...@@ -23,8 +23,12 @@ This file is part of the QGROUNDCONTROL project ...@@ -23,8 +23,12 @@ This file is part of the QGROUNDCONTROL project
#include "CustomCommandWidget.h" #include "CustomCommandWidget.h"
CustomCommandWidget::CustomCommandWidget(QWidget *parent) : CustomCommandWidget::CustomCommandWidget(const QString& title, QAction* action, QWidget *parent) :
QGCQmlWidgetHolder(parent) QGCQmlWidgetHolder(title, action, parent)
{ {
Q_UNUSED(title);
Q_UNUSED(action);
setSource(QUrl::fromUserInput("qrc:/qml/CustomCommandWidget.qml")); setSource(QUrl::fromUserInput("qrc:/qml/CustomCommandWidget.qml"));
loadSettings();
} }
...@@ -34,7 +34,7 @@ class CustomCommandWidget : public QGCQmlWidgetHolder ...@@ -34,7 +34,7 @@ class CustomCommandWidget : public QGCQmlWidgetHolder
Q_OBJECT Q_OBJECT
public: public:
CustomCommandWidget(QWidget *parent = 0); CustomCommandWidget(const QString& title, QAction* action, QWidget *parent = 0);
}; };
#endif #endif
...@@ -164,7 +164,7 @@ void RadioConfigTest::init(void) ...@@ -164,7 +164,7 @@ void RadioConfigTest::init(void)
Q_ASSERT(_autopilot); Q_ASSERT(_autopilot);
// This will instatiate the widget with an active uas with ready parameters // This will instatiate the widget with an active uas with ready parameters
_calWidget = new QGCQmlWidgetHolder(); _calWidget = new QGCQmlWidgetHolder(QString(), NULL);
_calWidget->resize(600, 600); _calWidget->resize(600, 600);
Q_CHECK_PTR(_calWidget); Q_CHECK_PTR(_calWidget);
_calWidget->setAutoPilot(_autopilot); _calWidget->setAutoPilot(_autopilot);
......
...@@ -24,10 +24,12 @@ ...@@ -24,10 +24,12 @@
#include "HILDockWidget.h" #include "HILDockWidget.h"
#include "QGCHilConfiguration.h" #include "QGCHilConfiguration.h"
HILDockWidget::HILDockWidget(QWidget *parent) HILDockWidget::HILDockWidget(const QString& title, QAction* action, QWidget *parent)
: MultiVehicleDockWidget(parent) : MultiVehicleDockWidget(title, action, parent)
{ {
init(); init();
loadSettings();
} }
HILDockWidget::~HILDockWidget() HILDockWidget::~HILDockWidget()
......
...@@ -31,7 +31,7 @@ class HILDockWidget : public MultiVehicleDockWidget ...@@ -31,7 +31,7 @@ class HILDockWidget : public MultiVehicleDockWidget
Q_OBJECT Q_OBJECT
public: public:
explicit HILDockWidget(QWidget *parent = 0); explicit HILDockWidget(const QString& title, QAction* action, QWidget *parent = 0);
~HILDockWidget(); ~HILDockWidget();
protected: protected:
......
This diff is collapsed.
...@@ -35,24 +35,26 @@ This file is part of the QGROUNDCONTROL project ...@@ -35,24 +35,26 @@ This file is part of the QGROUNDCONTROL project
#include <QStatusBar> #include <QStatusBar>
#include <QStackedWidget> #include <QStackedWidget>
#include <QSettings> #include <QSettings>
#include <qlist.h> #include <QList>
#include "ui_MainWindow.h" #include "ui_MainWindow.h"
#include "LinkManager.h" #include "LinkManager.h"
#include "LinkInterface.h" #include "LinkInterface.h"
#include "UASInterface.h" #include "UASInterface.h"
#include "CameraView.h" #include "CameraView.h"
#if (defined QGC_MOUSE_ENABLED_WIN) | (defined QGC_MOUSE_ENABLED_LINUX)
#include "Mouse6dofInput.h"
#endif // QGC_MOUSE_ENABLED_WIN
#include "MainToolBar.h" #include "MainToolBar.h"
#include "LogCompressor.h" #include "LogCompressor.h"
#include "FlightDisplayView.h" #include "FlightDisplayView.h"
#include "QGCMAVLinkInspector.h" #include "QGCMAVLinkInspector.h"
#include "QGCMAVLinkLogPlayer.h" #include "QGCMAVLinkLogPlayer.h"
#include "MAVLinkDecoder.h" #include "MAVLinkDecoder.h"
#include "Vehicle.h" #include "Vehicle.h"
#include "QGCDockWidget.h"
#if (defined QGC_MOUSE_ENABLED_WIN) | (defined QGC_MOUSE_ENABLED_LINUX)
#include "Mouse6dofInput.h"
#endif // QGC_MOUSE_ENABLED_WIN
class QGCFirmwareUpdate; class QGCFirmwareUpdate;
class QSplashScreen; class QSplashScreen;
...@@ -270,13 +272,12 @@ private: ...@@ -270,13 +272,12 @@ private:
static const char* _customCommandWidgetName; static const char* _customCommandWidgetName;
static const char* _filesDockWidgetName; static const char* _filesDockWidgetName;
static const char* _uasStatusDetailsDockWidgetName; static const char* _uasStatusDetailsDockWidgetName;
static const char* _mapViewDockWidgetName;
static const char* _pfdDockWidgetName; static const char* _pfdDockWidgetName;
static const char* _uasInfoViewDockWidgetName; static const char* _uasInfoViewDockWidgetName;
static const char* _hilDockWidgetName; static const char* _hilDockWidgetName;
QMap<QString, QDockWidget*> _mapName2DockWidget; QMap<QString, QGCDockWidget*> _mapName2DockWidget;
QMap<QDockWidget*, QAction*> _mapDockWidget2Action; QMap<QString, QAction*> _mapName2Action;
#endif #endif
void _buildPlanView(void); void _buildPlanView(void);
...@@ -290,11 +291,14 @@ private: ...@@ -290,11 +291,14 @@ private:
void _loadCurrentViewState(void); void _loadCurrentViewState(void);
#ifndef __mobile__ #ifndef __mobile__
void _createDockWidget(const QString& title, const QString& name, Qt::DockWidgetArea area, QWidget* innerWidget);
void _createInnerDockWidget(const QString& widgetName); void _createInnerDockWidget(const QString& widgetName);
void _buildCommonWidgets(void); void _buildCommonWidgets(void);
void _hideAllDockWidgets(void); void _hideAllDockWidgets(void);
void _showDockWidget(const QString &name, bool show); void _showDockWidget(const QString &name, bool show);
void _loadVisibleWidgetsSettings(void);
void _storeVisibleWidgetsSettings(void);
static const char* _visibleWidgetsKey;
#endif #endif
bool _autoReconnect; bool _autoReconnect;
......
...@@ -25,12 +25,14 @@ ...@@ -25,12 +25,14 @@
#include "ui_MultiVehicleDockWidget.h" #include "ui_MultiVehicleDockWidget.h"
#include "MultiVehicleManager.h" #include "MultiVehicleManager.h"
MultiVehicleDockWidget::MultiVehicleDockWidget(QWidget *parent) MultiVehicleDockWidget::MultiVehicleDockWidget(const QString& title, QAction* action, QWidget *parent)
: QWidget(parent) : QGCDockWidget(title, action, parent)
, _ui(new Ui::MultiVehicleDockWidget) , _ui(new Ui::MultiVehicleDockWidget)
{ {
_ui->setupUi(this); _ui->setupUi(this);
setWindowTitle(title);
connect(MultiVehicleManager::instance(), &MultiVehicleManager::activeVehicleChanged, this, &MultiVehicleDockWidget::_activeVehicleChanged); connect(MultiVehicleManager::instance(), &MultiVehicleManager::activeVehicleChanged, this, &MultiVehicleDockWidget::_activeVehicleChanged);
connect(MultiVehicleManager::instance(), &MultiVehicleManager::vehicleAdded, this, &MultiVehicleDockWidget::_vehicleAdded); connect(MultiVehicleManager::instance(), &MultiVehicleManager::vehicleAdded, this, &MultiVehicleDockWidget::_vehicleAdded);
connect(MultiVehicleManager::instance(), &MultiVehicleManager::vehicleRemoved, this, &MultiVehicleDockWidget::_vehicleRemoved); connect(MultiVehicleManager::instance(), &MultiVehicleManager::vehicleRemoved, this, &MultiVehicleDockWidget::_vehicleRemoved);
......
...@@ -24,9 +24,9 @@ ...@@ -24,9 +24,9 @@
#ifndef MultiVehicleDockWidget_H #ifndef MultiVehicleDockWidget_H
#define MultiVehicleDockWidget_H #define MultiVehicleDockWidget_H
#include <QWidget>
#include <QMap> #include <QMap>
#include "QGCDockWidget.h"
#include "Vehicle.h" #include "Vehicle.h"
namespace Ui namespace Ui
...@@ -37,12 +37,12 @@ namespace Ui ...@@ -37,12 +37,12 @@ namespace Ui
/// Provides a base class for a dock widget which automatically handles /// Provides a base class for a dock widget which automatically handles
/// Vehicles coming and going. It does this by using a stacked widget which /// Vehicles coming and going. It does this by using a stacked widget which
/// holds individual Vehicle specific widgets. /// holds individual Vehicle specific widgets.
class MultiVehicleDockWidget : public QWidget class MultiVehicleDockWidget : public QGCDockWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit MultiVehicleDockWidget(QWidget *parent = 0); explicit MultiVehicleDockWidget(const QString& title, QAction* action, QWidget *parent = 0);
~MultiVehicleDockWidget(); ~MultiVehicleDockWidget();
/// Must be called in the derived class contructor to initialize the base class /// Must be called in the derived class contructor to initialize the base class
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
</sizepolicy> </sizepolicy>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>HIL Config</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout" rowstretch="1,100,1" columnstretch="40,0"> <layout class="QGridLayout" name="gridLayout" rowstretch="1,100,1" columnstretch="40,0">
<item row="0" column="0"> <item row="0" column="0">
......
...@@ -12,8 +12,8 @@ ...@@ -12,8 +12,8 @@
const float QGCMAVLinkInspector::updateHzLowpass = 0.2f; const float QGCMAVLinkInspector::updateHzLowpass = 0.2f;
const unsigned int QGCMAVLinkInspector::updateInterval = 1000U; const unsigned int QGCMAVLinkInspector::updateInterval = 1000U;
QGCMAVLinkInspector::QGCMAVLinkInspector(MAVLinkProtocol* protocol, QWidget *parent) : QGCMAVLinkInspector::QGCMAVLinkInspector(const QString& title, QAction* action, MAVLinkProtocol* protocol, QWidget *parent) :
QWidget(parent), QGCDockWidget(title, action, parent),
_protocol(protocol), _protocol(protocol),
selectedSystemID(0), selectedSystemID(0),
selectedComponentID(0), selectedComponentID(0),
...@@ -58,6 +58,8 @@ QGCMAVLinkInspector::QGCMAVLinkInspector(MAVLinkProtocol* protocol, QWidget *par ...@@ -58,6 +58,8 @@ QGCMAVLinkInspector::QGCMAVLinkInspector(MAVLinkProtocol* protocol, QWidget *par
// Attach the UI's refresh rate to a timer. // Attach the UI's refresh rate to a timer.
connect(&updateTimer, SIGNAL(timeout()), this, SLOT(refreshView())); connect(&updateTimer, SIGNAL(timeout()), this, SLOT(refreshView()));
updateTimer.start(updateInterval); updateTimer.start(updateInterval);
loadSettings();
} }
void QGCMAVLinkInspector::_vehicleAdded(Vehicle* vehicle) void QGCMAVLinkInspector::_vehicleAdded(Vehicle* vehicle)
......
#ifndef QGCMAVLINKINSPECTOR_H #ifndef QGCMAVLINKINSPECTOR_H
#define QGCMAVLINKINSPECTOR_H #define QGCMAVLINKINSPECTOR_H
#include <QWidget>
#include <QMap> #include <QMap>
#include <QTimer> #include <QTimer>
#include "QGCDockWidget.h"
#include "MAVLinkProtocol.h" #include "MAVLinkProtocol.h"
#include "Vehicle.h" #include "Vehicle.h"
...@@ -15,12 +15,12 @@ namespace Ui { ...@@ -15,12 +15,12 @@ namespace Ui {
class QTreeWidgetItem; class QTreeWidgetItem;
class UASInterface; class UASInterface;
class QGCMAVLinkInspector : public QWidget class QGCMAVLinkInspector : public QGCDockWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit QGCMAVLinkInspector(MAVLinkProtocol* protocol, QWidget *parent = 0); explicit QGCMAVLinkInspector(const QString& title, QAction* action, MAVLinkProtocol* protocol, QWidget *parent = 0);
~QGCMAVLinkInspector(); ~QGCMAVLinkInspector();
public slots: public slots:
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>MAVLink Inspector</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout" columnstretch="2,8,2,8,3"> <layout class="QGridLayout" name="gridLayout" columnstretch="2,8,2,8,3">
<property name="leftMargin"> <property name="leftMargin">
......
#include "QGCTabbedInfoView.h" #include "QGCTabbedInfoView.h"
QGCTabbedInfoView::QGCTabbedInfoView(QWidget *parent) : QWidget(parent) QGCTabbedInfoView::QGCTabbedInfoView(const QString& title, QAction* action, QWidget *parent)
: QGCDockWidget(title, action, parent)
{ {
ui.setupUi(this); ui.setupUi(this);
messageView = new UASMessageViewWidget(this); messageView = new UASMessageViewWidget(this);
...@@ -11,6 +12,8 @@ QGCTabbedInfoView::QGCTabbedInfoView(QWidget *parent) : QWidget(parent) ...@@ -11,6 +12,8 @@ QGCTabbedInfoView::QGCTabbedInfoView(QWidget *parent) : QWidget(parent)
//ui.tabWidget->addTab(actionsWidget,"Actions"); //ui.tabWidget->addTab(actionsWidget,"Actions");
//ui.tabWidget->addTab(rawView,"Status"); //ui.tabWidget->addTab(rawView,"Status");
ui.tabWidget->addTab(messageView,"Messages"); ui.tabWidget->addTab(messageView,"Messages");
loadSettings();
} }
void QGCTabbedInfoView::addSource(MAVLinkDecoder *decoder) void QGCTabbedInfoView::addSource(MAVLinkDecoder *decoder)
{ {
......
#ifndef QGCTABBEDINFOVIEW_H #ifndef QGCTABBEDINFOVIEW_H
#define QGCTABBEDINFOVIEW_H #define QGCTABBEDINFOVIEW_H
#include <QWidget> #include "QGCDockWidget.h"
#include "ui_QGCTabbedInfoView.h"
#include "MAVLinkDecoder.h" #include "MAVLinkDecoder.h"
#include "UASMessageView.h" #include "UASMessageView.h"
#include "UASQuickView.h" #include "UASQuickView.h"
#include "UASRawStatusView.h" #include "UASRawStatusView.h"
class QGCTabbedInfoView : public QWidget
#include "ui_QGCTabbedInfoView.h"
class QGCTabbedInfoView : public QGCDockWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit QGCTabbedInfoView(QWidget *parent = 0); explicit QGCTabbedInfoView(const QString& title, QAction* action, QWidget *parent = 0);
~QGCTabbedInfoView(); ~QGCTabbedInfoView();
void addSource(MAVLinkDecoder *decoder); void addSource(MAVLinkDecoder *decoder);
private: private:
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Info View</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
#include "MultiVehicleManager.h" #include "MultiVehicleManager.h"
#include "QGCUASFileView.h" #include "QGCUASFileView.h"
QGCUASFileViewMulti::QGCUASFileViewMulti(QWidget *parent) : QGCUASFileViewMulti::QGCUASFileViewMulti(const QString& title, QAction* action, QWidget *parent) :
QWidget(parent), QGCDockWidget(title, action, parent),
ui(new Ui::QGCUASFileViewMulti) ui(new Ui::QGCUASFileViewMulti)
{ {
ui->setupUi(this); ui->setupUi(this);
...@@ -18,6 +18,8 @@ QGCUASFileViewMulti::QGCUASFileViewMulti(QWidget *parent) : ...@@ -18,6 +18,8 @@ QGCUASFileViewMulti::QGCUASFileViewMulti(QWidget *parent) :
_vehicleAdded(MultiVehicleManager::instance()->activeVehicle()); _vehicleAdded(MultiVehicleManager::instance()->activeVehicle());
_activeVehicleChanged(MultiVehicleManager::instance()->activeVehicle()); _activeVehicleChanged(MultiVehicleManager::instance()->activeVehicle());
} }
loadSettings();
} }
void QGCUASFileViewMulti::_vehicleRemoved(Vehicle* vehicle) void QGCUASFileViewMulti::_vehicleRemoved(Vehicle* vehicle)
......
#ifndef QGCUASFILEVIEWMULTI_H #ifndef QGCUASFILEVIEWMULTI_H
#define QGCUASFILEVIEWMULTI_H #define QGCUASFILEVIEWMULTI_H
#include <QWidget>
#include <QMap> #include <QMap>
#include "QGCDockWidget.h"
#include "QGCUASFileView.h" #include "QGCUASFileView.h"
#include "UAS.h" #include "UAS.h"
...@@ -12,12 +12,12 @@ namespace Ui ...@@ -12,12 +12,12 @@ namespace Ui
class QGCUASFileViewMulti; class QGCUASFileViewMulti;
} }
class QGCUASFileViewMulti : public QWidget class QGCUASFileViewMulti : public QGCDockWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit QGCUASFileViewMulti(QWidget *parent = 0); explicit QGCUASFileViewMulti(const QString& title, QAction* action, QWidget *parent = 0);
~QGCUASFileViewMulti(); ~QGCUASFileViewMulti();
protected: protected:
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Onboard Files</string>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<property name="margin"> <property name="margin">
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Status Details</string>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true"/> <string notr="true"/>
......
...@@ -41,7 +41,7 @@ This file is part of the QGROUNDCONTROL project ...@@ -41,7 +41,7 @@ This file is part of the QGROUNDCONTROL project
#include "UAS.h" #include "UAS.h"
MainToolBar::MainToolBar(QWidget* parent) MainToolBar::MainToolBar(QWidget* parent)
: QGCQmlWidgetHolder(parent) : QGCQmlWidgetHolder(QString(), NULL, parent)
, _vehicle(NULL) , _vehicle(NULL)
, _mav(NULL) , _mav(NULL)
, _toolBar(NULL) , _toolBar(NULL)
......
...@@ -43,7 +43,8 @@ This file is part of the PIXHAWK project ...@@ -43,7 +43,8 @@ This file is part of the PIXHAWK project
#include "QGC.h" #include "QGC.h"
#include "UAS.h" #include "UAS.h"
UASInfoWidget::UASInfoWidget(QWidget *parent, QString name) : QWidget(parent) UASInfoWidget::UASInfoWidget(const QString& title, QAction* action, QWidget *parent, QString name)
: QGCDockWidget(title, action, parent)
{ {
ui.setupUi(this); ui.setupUi(this);
this->name = name; this->name = name;
...@@ -72,6 +73,8 @@ UASInfoWidget::UASInfoWidget(QWidget *parent, QString name) : QWidget(parent) ...@@ -72,6 +73,8 @@ UASInfoWidget::UASInfoWidget(QWidget *parent, QString name) : QWidget(parent)
updateTimer->start(updateInterval); updateTimer->start(updateInterval);
this->setVisible(false); this->setVisible(false);
loadSettings();
} }
UASInfoWidget::~UASInfoWidget() UASInfoWidget::~UASInfoWidget()
......
...@@ -32,10 +32,10 @@ This file is part of the QGROUNDCONTROL project ...@@ -32,10 +32,10 @@ This file is part of the QGROUNDCONTROL project
#ifndef _UASINFOWIDGET_H_ #ifndef _UASINFOWIDGET_H_
#define _UASINFOWIDGET_H_ #define _UASINFOWIDGET_H_
#include <QWidget>
#include <QTimer> #include <QTimer>
#include <QMap> #include <QMap>
#include "QGCDockWidget.h"
#include "UASInterface.h" #include "UASInterface.h"
#include "ui_UASInfo.h" #include "ui_UASInfo.h"
#include "Vehicle.h" #include "Vehicle.h"
...@@ -44,11 +44,11 @@ This file is part of the QGROUNDCONTROL project ...@@ -44,11 +44,11 @@ This file is part of the QGROUNDCONTROL project
* @brief Info indicator for the currently active UAS * @brief Info indicator for the currently active UAS
* *
**/ **/
class UASInfoWidget : public QWidget class UASInfoWidget : public QGCDockWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
UASInfoWidget(QWidget *parent = 0, QString name = ""); UASInfoWidget(const QString& title, QAction* action, QWidget *parent = 0, QString name = "");
~UASInfoWidget(); ~UASInfoWidget();
public slots: public slots:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment