/** * @RDE_HEADER@ * GUI Plugin for PresentationManagement * $Id$ * $HeadURL$ * $Author$ * * Created by Mike Wille, SLSE, 2017-03-15 */ #pragma once #include #include #include #include #include #include #include namespace PresentationManagement { class GuiPlugin final : public QObject, public GuiPluginBase::Plugin { Q_PLUGIN_METADATA(IID "gui:3:pre.edit") Q_INTERFACES(GuiPluginBase::Plugin) Q_OBJECT public: explicit GuiPlugin() = default; ~GuiPlugin() = default; QString pluginName() override { return ForeignPresentationGuiInterface::pluginName(); } std::shared_ptr createGuiInterface(LtsSession::LtsSession *session) override; bool availableInPartition(IDL::PartitionType partition) const override { return partition == IDL::PartitionType::Exercise; } }; class InterfaceImpl final : public QObject, public GuiPluginBase::Interface { Q_OBJECT public: explicit InterfaceImpl(LtsSession::LtsSession *session); QVector getActions() override; QString menuGroup() const override; bool fetchInterfaces() override; void clearInterfaces() override; bool availableInPartition(IDL::PartitionType partition) const override { return partition == IDL::PartitionType::Exercise; } private: LtsWidgets::LtsDialog *onShowPresentationDialog(QWidget *parent); LtsWidgets::LtsDialog *onEditPresentationDialog(QWidget *parent); LtsWidgets::LtsDialog *onAdminPresentationDialog(QWidget *parent); LtsWidgets::LtsDialog *onPresentationMobileDialog(QWidget *parent); std::shared_ptr m_dtc; std::shared_ptr m_ftc; std::shared_ptr m_opmDtc; std::shared_ptr m_avmDataIfc; std::shared_ptr m_asmDtc; }; } // namespace PresentationManagement