/** * @RDE_HEADER@ * Handle situation display in thp * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include "thp_situation_building_base.h" namespace SituationReplay { class HandlerSituationReplaySqlite; } namespace SituationMap { class BaseUrl; struct OperatorMapSettings; } namespace FilterManagement { class AesDisplayFilter; class SymbolAppearanceSettings; class BuildingComponentSettings; } namespace Ui { class SituationWidget; } namespace THP { class SitMapPluginProvider; class SituatationFilterAes; class SituatationFilterSymbolAppearance; class SituatationFilterCollapseExpand; class SituatationFilterTypes; class SituationFilterBuildingComponent; class MySitMapIinit; class SituationWidget : public SituationBuildingBase { Q_OBJECT public: explicit SituationWidget(QWidget *parent = nullptr); ~SituationWidget(); bool init(const QString &homePath, int exerciseId); SituationReplay::MainHandlerSqlite *replayHandler() { return m_replayHandler; } SitMapPluginProvider *pluginProvider() { return m_pluginProvider; } QImage grabFrameBuffer() const; QString centerPointString() const; QRectF extentMgrs() const; // mgrs protected: bool showSituationInternal() override; bool applyFilterFromReplayConfigFile(); void keyPressEvent(QKeyEvent *event) override; void loadLayerMappings(const QString &homePath); QVector fixupUrls(const QVector &in, const QString &homePath); bool restoreOperatorMapSettingsOverlays(const SituationMap::OperatorMapSettings &oms); private Q_SLOTS: void applyCurentFilter(const SituationReplay::FilterInformation &filter) override; void applyNewOverlay(int overlayId) override; void removeOverlay(int overlayId) override; void onFilterAes(); void onFilterSymbolAppearance(); void onFilterCollapseExpand(); void onFilterTypes(); void onFilterBuildingComponent(); void updateZoomSlider() override; void onInitDone() override; void emitPartitionTimeChanged(qint64 curTime) override; void onMgrsGrid(); void onRotate(int degrees); void onFileContentAvailable(const FileManagement::Database::FlmFileContent &data) override; private: QVector> m_layerMapping; SitMapPluginProvider *m_pluginProvider{nullptr}; MySitMapIinit *m_situationMapInit{nullptr}; SituatationFilterAes *m_filterAesDialog{nullptr}; SituatationFilterSymbolAppearance *m_filterSymbolAppearanceDialog{nullptr}; SituatationFilterCollapseExpand *m_filterCollapseExpandDialog{nullptr}; SituatationFilterTypes *m_filterTypesDialog{nullptr}; SituationFilterBuildingComponent *m_filterBuildingComponentDialog{nullptr}; std::shared_ptr m_aesDisplayFilter; std::shared_ptr m_symbolAppaearanceSettings; std::shared_ptr m_buildingComponentSettings; }; } // namespace THP