From 6fafaabbab704d4bee2e1153ca3c29bf9576c46c Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 9 Feb 2019 17:43:45 +0100 Subject: [PATCH] Ref T534, enable overlay messages for view/tree view --- src/blackgui/overlaymessagesframe.cpp | 6 +++++ src/blackgui/overlaymessagesframe.h | 26 ++++++++++++++++++++++ src/blackgui/views/atcstationtreeview.cpp | 2 +- src/blackgui/views/atcstationtreeview.h | 3 ++- src/blackgui/views/viewbase.h | 3 ++- src/blackgui/views/viewbasenontemplate.cpp | 2 +- 6 files changed, 38 insertions(+), 4 deletions(-) diff --git a/src/blackgui/overlaymessagesframe.cpp b/src/blackgui/overlaymessagesframe.cpp index 50982ecca..d627931bf 100644 --- a/src/blackgui/overlaymessagesframe.cpp +++ b/src/blackgui/overlaymessagesframe.cpp @@ -38,6 +38,12 @@ namespace BlackGui COverlayMessagesDockWidget::COverlayMessagesDockWidget(QWidget *parent) : COverlayMessagesBase(parent) { } + COverlayMessagesTableView::COverlayMessagesTableView(QWidget *parent) : COverlayMessagesBase(parent) + { } + + COverlayMessagesTreeView::COverlayMessagesTreeView(QWidget *parent) : COverlayMessagesBase(parent) + { } + } // ns diff --git a/src/blackgui/overlaymessagesframe.h b/src/blackgui/overlaymessagesframe.h index 26988ee9d..cc67cd2f7 100644 --- a/src/blackgui/overlaymessagesframe.h +++ b/src/blackgui/overlaymessagesframe.h @@ -26,6 +26,8 @@ #include #include #include +#include +#include #include #include #include @@ -409,6 +411,30 @@ namespace BlackGui explicit COverlayMessagesDockWidget(QWidget *parent = nullptr); }; + /*! + * Using this class provides a QTableView with the overlay functionality already integrated. + */ + class BLACKGUI_EXPORT COverlayMessagesTableView : public COverlayMessagesBase + { + Q_OBJECT + + public: + //! Constructor + explicit COverlayMessagesTableView(QWidget *parent = nullptr); + }; + + /*! + * Using this class provides a QTableView with the overlay functionality already integrated. + */ + class BLACKGUI_EXPORT COverlayMessagesTreeView : public COverlayMessagesBase + { + Q_OBJECT + + public: + //! Constructor + explicit COverlayMessagesTreeView(QWidget *parent = nullptr); + }; + } // ns #endif // guard diff --git a/src/blackgui/views/atcstationtreeview.cpp b/src/blackgui/views/atcstationtreeview.cpp index ff9e9be10..731355b7c 100644 --- a/src/blackgui/views/atcstationtreeview.cpp +++ b/src/blackgui/views/atcstationtreeview.cpp @@ -29,7 +29,7 @@ namespace BlackGui { namespace Views { - CAtcStationTreeView::CAtcStationTreeView(QWidget *parent) : QTreeView(parent) + CAtcStationTreeView::CAtcStationTreeView(QWidget *parent) : COverlayMessagesTreeView(parent) { this->setModel(new CAtcStationTreeModel(this)); this->setContextMenuPolicy(Qt::CustomContextMenu); diff --git a/src/blackgui/views/atcstationtreeview.h b/src/blackgui/views/atcstationtreeview.h index 82daa5a22..b3d7f9f84 100644 --- a/src/blackgui/views/atcstationtreeview.h +++ b/src/blackgui/views/atcstationtreeview.h @@ -12,6 +12,7 @@ #ifndef BLACKGUI_VIEWS_ATCSTATIONTREEVIEW_H #define BLACKGUI_VIEWS_ATCSTATIONTREEVIEW_H +#include "blackgui/overlaymessagesframe.h" #include "blackgui/blackguiexport.h" #include "blackmisc/aviation/atcstationlist.h" #include "blackmisc/aviation/comsystem.h" @@ -36,7 +37,7 @@ namespace BlackGui namespace Views { //! ATC stations view - class BLACKGUI_EXPORT CAtcStationTreeView : public QTreeView + class BLACKGUI_EXPORT CAtcStationTreeView : public COverlayMessagesTreeView { Q_OBJECT diff --git a/src/blackgui/views/viewbase.h b/src/blackgui/views/viewbase.h index 4a0935493..7cfca4500 100644 --- a/src/blackgui/views/viewbase.h +++ b/src/blackgui/views/viewbase.h @@ -17,6 +17,7 @@ #include "blackgui/models/selectionmodel.h" #include "blackgui/settings/guisettings.h" #include "blackgui/menus/menuaction.h" +#include "blackgui/overlaymessagesframe.h" #include "blackgui/blackguiexport.h" #include "blackmisc/namevariantpairlist.h" #include "blackmisc/directories.h" @@ -83,7 +84,7 @@ namespace BlackGui { //! Non templated base class, allows Q_OBJECT and signals / slots to be used class BLACKGUI_EXPORT CViewBaseNonTemplate : - public QTableView, + public COverlayMessagesTableView, public Components::CEnableForDockWidgetInfoArea { Q_OBJECT diff --git a/src/blackgui/views/viewbasenontemplate.cpp b/src/blackgui/views/viewbasenontemplate.cpp index 826319a23..d4ef347c7 100644 --- a/src/blackgui/views/viewbasenontemplate.cpp +++ b/src/blackgui/views/viewbasenontemplate.cpp @@ -39,7 +39,7 @@ namespace BlackGui { namespace Views { - CViewBaseNonTemplate::CViewBaseNonTemplate(QWidget *parent) : QTableView(parent) + CViewBaseNonTemplate::CViewBaseNonTemplate(QWidget *parent) : COverlayMessagesTableView(parent) { this->setContextMenuPolicy(Qt::CustomContextMenu); connect(this, &QWidget::customContextMenuRequested, this, &CViewBaseNonTemplate::customMenuRequested);