diff --git a/src/blackgui/components/interpolationcomponent.cpp b/src/blackgui/components/interpolationcomponent.cpp index 39fe3805c..5eebc251a 100644 --- a/src/blackgui/components/interpolationcomponent.cpp +++ b/src/blackgui/components/interpolationcomponent.cpp @@ -10,6 +10,14 @@ #include "interpolationcomponent.h" #include "ui_interpolationcomponent.h" +#include "blackgui/guiapplication.h" +#include "blackgui/views/statusmessageview.h" +#include "blackcore/context/contextsimulator.h" + +using namespace BlackMisc; +using namespace BlackMisc::Aviation; +using namespace BlackGui::Views; + namespace BlackGui { namespace Components @@ -22,9 +30,21 @@ namespace BlackGui ui->tw_InterpolationSetup->setCurrentIndex(0); connect(ui->comp_InterpolationSetup, &CInterpolationSetupComponent::requestRenderingRestrictionsWidget, this, &CInterpolationComponent::requestRenderingRestrictionsWidget); + connect(ui->comp_CallsignCompleter, &CCallsignCompleter::validCallsignEntered, this, &CInterpolationComponent::displayInterpolationMessages); + connect(ui->pb_ReloadInterpolationMessages, &QPushButton::released, this, &CInterpolationComponent::displayInterpolationMessages); } CInterpolationComponent::~CInterpolationComponent() { } + + void CInterpolationComponent::displayInterpolationMessages() + { + if (!sGui || sGui->isShuttingDown() || !sGui->getIContextSimulator()) { return; } + const CCallsign cs = ui->comp_CallsignCompleter->getCallsign(); + if (!cs.isValid()) { return; } + + const CStatusMessageList messages = sGui->getIContextSimulator()->getInterpolationMessages(cs); + ui->tvp_InterpolationMessages->updateContainerMaybeAsync(messages); + } } // ns } // ns diff --git a/src/blackgui/components/interpolationcomponent.h b/src/blackgui/components/interpolationcomponent.h index 2b2fd7965..fefe854e9 100644 --- a/src/blackgui/components/interpolationcomponent.h +++ b/src/blackgui/components/interpolationcomponent.h @@ -12,6 +12,7 @@ #ifndef BLACKGUI_COMPONENTS_INTERPOLATIONCOMPONENT_H #define BLACKGUI_COMPONENTS_INTERPOLATIONCOMPONENT_H +#include "blackmisc/aviation/callsign.h" #include #include #include "blackgui/blackguiexport.h" @@ -39,6 +40,9 @@ namespace BlackGui private: QScopedPointer ui; + + //! Display log messages + void displayInterpolationMessages(); }; } // ns } // ns diff --git a/src/blackgui/components/interpolationcomponent.ui b/src/blackgui/components/interpolationcomponent.ui index 8df1d85b9..016e871e0 100644 --- a/src/blackgui/components/interpolationcomponent.ui +++ b/src/blackgui/components/interpolationcomponent.ui @@ -11,7 +11,7 @@ - Frame + Interpolation component @@ -71,7 +71,50 @@ 0 - + + + + + + + Interpolation log. + + + + 4 + + + 4 + + + 4 + + + 4 + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + false + + + + + + + reload + + @@ -92,6 +135,17 @@
blackgui/components/interpolationsetupcomponent.h
1 + + BlackGui::Components::CCallsignCompleter + QFrame +
blackgui/components/callsigncompleter.h
+ 1 +
+ + BlackGui::Views::CStatusMessageView + QTableView +
blackgui/views/statusmessageview.h
+
diff --git a/src/blackgui/views/statusmessageview.h b/src/blackgui/views/statusmessageview.h index 99bdbafc0..91660b09b 100644 --- a/src/blackgui/views/statusmessageview.h +++ b/src/blackgui/views/statusmessageview.h @@ -20,16 +20,13 @@ #include -class QWidget; - namespace BlackGui { namespace Filters { class CStatusMessageFilterDialog; } namespace Views { //! Status message view - class BLACKGUI_EXPORT CStatusMessageView : - public CViewBase + class BLACKGUI_EXPORT CStatusMessageView : public CViewBase { Q_OBJECT