96 lines
2.4 KiB
C++
Executable File
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
|