/** * @RDE_HEADER@ * Pairing of IED-objects * $Id$ * $HeadURL$ * $Author$ * Created by Philipp Dassow, SLEA, 2017-07-28 */ #include "gim_pairing_gui_plugin.h" #include "gim_pairing_edit_dialog.h" #include #include #include #include #include #include #include namespace GuezIedManagement { std::shared_ptr GuiPlugin::createGuiInterface(LtsSession::LtsSession *session) { return std::make_shared(session); } InterfaceImpl::InterfaceImpl(LtsSession::LtsSession *session) : GuiPluginBase::Interface(session, getLogger("PairingGuiPlugin")) , m_dtc(nullptr) , m_ftc(nullptr) , m_ppmDtc(nullptr) , m_ppmGuiCbxIfc(nullptr) {} QVector InterfaceImpl::getActions() { QVector ret; LtsUtils::ProjectSettings *ps = LtsUtils::ProjectSettings::getInstance(); const bool enableIED_Pairing = ps->value(QStringLiteral("gim"), QStringLiteral("enableIED_Pairing")).toBool(); if (!m_session->isReplayPartition() && enableIED_Pairing) { LtsWidgets::PluginData plData; plData.menuGroup = menuGroup(); plData.menuText = tr("IED Pairing"); plData.identifier = QLatin1String("gimPairingEdit"); plData.menuIcon = QIcon(QLatin1String("icon:ied_pairing.svg")), plData.createWidgetFunc = [this](QWidget *parent) { return LtsWidgets::initDialog(new PairingEditDialog(m_session, parent), m_session); }; plData.operatorRight = OperatorRights::PairingEdit; plData.exercisePart = LtsWidgets::ExercisePart::eExecution; ret.append(plData); } return ret; } bool InterfaceImpl::fetchInterfaces() { if (!m_session->getDtc(m_dtc)) return false; if (!m_session->getFtc(m_ftc)) return false; if (!m_session->getDtc(m_ppmDtc)) return false; if(!m_session->getForeignGuiInterface(m_ppmGuiCbxIfc)) return false; return true; } void InterfaceImpl::clearInterfaces() { m_ppmGuiCbxIfc = nullptr; m_ppmDtc = nullptr; m_ftc = nullptr; m_dtc = nullptr; } } // namespace GuezIedManagement