Files
qt5-legatus-legacy/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_demand_situation.h
T
2026-08-13 18:33:10 +02:00

96 lines
2.4 KiB
C++
Executable File

/**
* @RDE_HEADER@
* HMI Plugin for Observer Controller - Demand Situation Dialog
* $Id$
* $HeadURL$
* $Author$
* Created by Patric Karwat, SLSE, 2018-03-27
*/
#pragma once
#include <LtsWidgets/lts_dialog.h>
#include <LtsSession/lts_session.h>
#include <OcSituationClient/logger.h>
#include <Plugins/OcSituationClient/osc_data_plugin_interface.h>
#include <LtsUtilsGuiDds/request_helper.h>
#include <Plugins/ParticipantManagement/ppm_data_plugin_interface.h>
#include <ParticipantManagement/Gui/Common/participant_edit_model.h>
#include <Plugins/ParticipantManagement/ppm_gui_combobox_plugin_interface.h>
#include <Plugins/SituationMapPlugin/situation_map_gui_plugin_interface.h>
namespace Ui
{
class DemandSituation;
}
namespace SituationMap
{
class ForeignGuiInterface;
}
namespace LtsUtils
{
class OperatorSettings;
}
namespace LtsWidgets
{
class LtsColumnFilterProxyModel;
}
namespace OcSituationClient
{
class DemandSituation : public LtsWidgets::LtsDialog,
private OcSituationClient::Interface::Ftc::SendDemandSituationReplyHandler
{
Q_OBJECT
public:
explicit DemandSituation(LtsSession::LtsSession *session, QWidget *parent = nullptr);
~DemandSituation();
bool init(const std::shared_ptr<Interface::Ftc> &ftc);
void onSendDemandSituationReply(const Core::FunctionReplyObject &replyObject) override;
Q_SIGNALS:
void demandSituationStopped();
private Q_SLOTS:
void onSlotSelectionChanged();
void onGetPosition();
void onCoordinate(const QPointF &coord, double radius);
void onClearCoordinate();
private:
void retranslate() override;
bool apply() override;
void dialogCanceled () override;
void repaintSitmapCircle();
void discardSitmapCircle();
private:
LtsSession::LtsSession *m_session;
LtsUtils::RequestHelper *m_requestHelper;
int m_selectedEqNr;
bool m_filterActive{false};
std::vector<int> m_partys;
std::vector<int> m_typesClass;
QString m_ocDemandGroupString;
QString m_ocDemandFilterGroupString;
LtsUtils::OperatorSettings *m_opSettings;
ParticipantManagement::ParticipantEditModel *m_model;
LtsWidgets::LtsColumnFilterProxyModel *m_proxyModel;
std::shared_ptr<OcSituationClient::Interface::Ftc> m_ftc;
std::shared_ptr<ParticipantManagement::ForeignGuiComboboxInterface> m_ppmCbxGui;
std::shared_ptr<SituationMap::ForeignGuiInterface> m_sitMapGuiIfc;
Ui::DemandSituation *m_ui;
LOGGER_T m_logger;
};
} // namespace OcSituationClient