81 lines
2.5 KiB
C++
Executable File
81 lines
2.5 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* ExerciseManangement - Exercise Overview Dialog
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Christian Ehrlicher, SLSE, 2016-02-29
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <LtsWidgets/lts_dialog.h>
|
|
#include <LtsUtilsGuiDds/request_helper.h>
|
|
#include <AssetManagement/asm_data_plugin_interface.h>
|
|
#include <Plugins/SituationMapPlugin/situation_map_gui_plugin_interface.h>
|
|
#include <LtsSession/lts_session.h>
|
|
#include <AssetManagement/logger.h>
|
|
#include <AssetManagement/asm_dtc.h>
|
|
#include <AssetManagement/asm_ftc.h>
|
|
|
|
#include "asm_training_area_model.h"
|
|
|
|
namespace Ui
|
|
{
|
|
class AsmTrainingAreaDialog;
|
|
}
|
|
namespace LtsUtils
|
|
{
|
|
class RequestHelper;
|
|
}
|
|
namespace AssetManagement
|
|
{
|
|
// --------------------------------------------------------
|
|
// AsmTrainingAreaDialog
|
|
// --------------------------------------------------------
|
|
class AsmTrainingAreaDialog : public LtsWidgets::LtsDialog
|
|
, protected Interface::Ftc::TrainingAreaModifyReplyHandler
|
|
, protected Interface::Ftc::TrainingAreaRemoveReplyHandler
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit AsmTrainingAreaDialog(const QString &menuGroup, QWidget *parent = nullptr);
|
|
~AsmTrainingAreaDialog();
|
|
|
|
bool init(LtsSession::LtsSessionDataDds *session,
|
|
const std::shared_ptr<SituationMap::ForeignGuiInterface> &sitMapGuiIfc);
|
|
QPolygonF getTrainingArea(int trainingAreaId);
|
|
QPolygonF getTrainingArea(const TrainingArea &ddsTrainingArea);
|
|
void showAllTrainingAreas();
|
|
void showPreviewObject();
|
|
void clearSelection();
|
|
|
|
private slots:
|
|
void enaDisa();
|
|
void onAddTrainingArea();
|
|
void onEditTrainingArea();
|
|
void onRemoveTrainingArea();
|
|
void onSelectionChanged();
|
|
|
|
private:
|
|
void retranslate() override;
|
|
void onTrainingAreaModifyReply(const Core::FunctionReplyObject &reply) override final { m_requestHelper->requestReply(reply); }
|
|
void onTrainingAreaRemoveReply(const Core::FunctionReplyObject &reply) override final { m_requestHelper->requestReply(reply); }
|
|
void tableColumnOrganiserSetting() override;
|
|
|
|
Ui::AsmTrainingAreaDialog *m_ui;
|
|
AsmTrainingAreaDialogModel *m_model{nullptr};
|
|
LtsSession::LtsSessionDataDds *m_session;
|
|
QString m_menuGroup;
|
|
std::shared_ptr<AssetManagement::Interface::Dtc> m_asmDtc;
|
|
std::shared_ptr<AssetManagement::Interface::Ftc> m_asmFtc;
|
|
LtsUtils::RequestHelper *m_requestHelper;
|
|
LOGGER_T m_logger;
|
|
QPolygonF m_previewPolygon;
|
|
std::shared_ptr<SituationMap::ForeignGuiInterface> m_sitMapGuiIfc;
|
|
QSet<int> m_viewedTaIds{};
|
|
|
|
};
|
|
}
|