90 lines
2.2 KiB
C++
Executable File
90 lines
2.2 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Pairing of IED-objects
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Philipp Dassow, SLEA, 2017-07-28
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <GuezIedManagement/gim_dtc.h>
|
|
#include <GuezIedManagement/gim_ftc.h>
|
|
#include <GuezIedManagement/logger.h>
|
|
#include <ParticipantManagement/ppm_dtc.h>
|
|
#include <Plugins/ParticipantManagement/ppm_gui_combobox_plugin_interface.h>
|
|
#include <LtsSession/lts_session.h>
|
|
#include <LtsWidgets/lts_dialog.h>
|
|
#include <LtsUtilsGuiDds/request_helper.h>
|
|
|
|
namespace ParticipantManagement
|
|
{
|
|
class ParticipantEditModel;
|
|
}
|
|
|
|
namespace Ui
|
|
{
|
|
class IedPairingEditDialog;
|
|
}
|
|
namespace LtsSession
|
|
{
|
|
class LtsSession;
|
|
}
|
|
|
|
namespace GuezIedManagement
|
|
{
|
|
|
|
class PairingEditDialog : public LtsWidgets::LtsDialog
|
|
, protected GuezIedManagement::Interface::Ftc::PairIedReplyHandler
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit PairingEditDialog(LtsSession::LtsSession * session, QWidget *parent = nullptr);
|
|
bool init (LtsSession::LtsSessionDataDds *session);
|
|
|
|
~PairingEditDialog();
|
|
|
|
void onPairIedReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); }
|
|
|
|
private slots:
|
|
void onIedSelected(int idx);
|
|
void onPairingStateSelected(int idx);
|
|
void onIedChanged(const Ied &data, DataModification modType);
|
|
void onParticipantSelected(const QModelIndex &idx);
|
|
void onReInitModel();
|
|
void onPrint();
|
|
|
|
private:
|
|
void retranslate() override;
|
|
bool apply() override final;
|
|
|
|
bool applyPairingStateCheck();
|
|
bool applyParticipantSelectionCheck();
|
|
bool checkSelectedParticipantType();
|
|
|
|
void fillIedCbx();
|
|
void fillPairingState();
|
|
void fillPartyCbx();
|
|
void fillAllCbx();
|
|
|
|
void enDisableUiElements();
|
|
|
|
LtsSession::LtsSession *m_session;
|
|
Ui::IedPairingEditDialog *m_ui;
|
|
LtsSession::LtsSessionDataDds *m_sessionData;
|
|
|
|
std::shared_ptr<Interface::Dtc> m_dtc;
|
|
std::shared_ptr<Interface::Ftc> m_ftc;
|
|
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_ppmDtc;
|
|
std::shared_ptr<ParticipantManagement::ForeignGuiComboboxInterface> m_ppmGuiCbxIfc;
|
|
|
|
ParticipantManagement::ParticipantEditModel *m_participantModel;
|
|
|
|
LtsUtils::RequestHelper *m_requestHelper;
|
|
LOGGER_T m_logger;
|
|
};
|
|
|
|
} // namespace GuezIedManagement
|