/** * @RDE_HEADER@ * GUI Plugin for ExerciseManangement * $Id$ * $HeadURL$ * $Author$ * Created by Mike Wille, SLSE, 2016-03-30 */ #include "scm_edit_gui_plugin.h" #include "scm_dialog.h" #include #include #include namespace ServiceManagement { std::shared_ptr GuiPlugin::createGuiInterface(LtsSession::LtsSession *session) { return std::make_shared(session); } InterfaceImpl::InterfaceImpl(LtsSession::LtsSession *session) : GuiPluginBase::Interface(session, getLogger("Plugins.Gui.Scm.Edit")) , m_dtcExm(nullptr) , m_dtc(nullptr) , m_ftc(nullptr) {} bool InterfaceImpl::fetchInterfaces() { if (!m_session->getDtc(m_dtc)) return false; if (!m_session->getFtc(m_ftc)) return false; if (!m_session->getDtc(m_dtcExm)) return false; return true; } void InterfaceImpl::clearInterfaces() { m_ftc = nullptr; m_dtc = nullptr; } QString InterfaceImpl::menuGroup() const { return tr("Services"); } QVector InterfaceImpl::getActions() { QVector ret; LtsWidgets::PluginData plData; plData.menuGroup = menuGroup(); plData.menuText = tr("Service Management"); plData.menuIcon = QIcon(QLatin1String("icon:service.svg")); plData.identifier = QLatin1String("scmServiceEdit"); plData.operatorRight = OperatorRights::ServicesEdit; plData.exercisePart = LtsWidgets::ExercisePart::eSpecial; plData.createWidgetFunc = [this](QWidget * parent) { m_dtc->enableGroupInformation(); m_dtc->enableServiceInformation(); m_ftc->enableRestartService(); m_ftc->enableStopGroup(); m_ftc->enableStartGroup(); m_ftc->enableRestartGroup(); return LtsWidgets::initDialog(new ServiceManagementDialog(parent), m_dtc, m_ftc, m_dtcExm); }; ret.append(plData); return ret; } } // namespace ServiceManagement