/** * @RDE_HEADER@ * Gui Plugin for ExerciseManangement * $Id$ * $HeadURL$ * $Author$ * * Created by Mike Wille, SLSE, 2017-02-10 */ #pragma once #include #include // forward decls for dtc/ftc #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Timeline { class GuiPlugin final : public QObject, public GuiPluginBase::Plugin { Q_PLUGIN_METADATA(IID "gui:3:tln.view") Q_INTERFACES(GuiPluginBase::Plugin) Q_OBJECT public: explicit GuiPlugin() = default; ~GuiPlugin() = default; QString pluginName() override { return QLatin1String("TimelineGuiPlugin"); } std::shared_ptr createGuiInterface(LtsSession::LtsSession *session) override; bool availableInPartition(IDL::PartitionType partition) const override { return partition == IDL::PartitionType::Exercise || partition == IDL::PartitionType::Replay; } }; class InterfaceImpl final : public QObject, public GuiPluginBase::Interface { Q_OBJECT public: explicit InterfaceImpl(LtsSession::LtsSession *session); QVector getActions() override; QString menuGroup() const override; bool availableInPartition(IDL::PartitionType partition) const override { return partition == IDL::PartitionType::Exercise || partition == IDL::PartitionType::Replay; } bool fetchInterfaces() override; void clearInterfaces() override; private: LtsWidgets::LtsDialog *onShowTimelineViewDialog(bool isMain); // dtc's std::shared_ptr m_coreDtc; std::shared_ptr m_exmDtc; std::shared_ptr m_mrkDtc; std::shared_ptr m_ppmDtc; std::shared_ptr m_pdmDtc; //std::shared_ptr m_ismDtc; std::shared_ptr m_avmDataIfc; // foreign gui's std::shared_ptr m_eemForeign; std::shared_ptr m_flmIfc; std::shared_ptr m_ppmInfoIfc; std::shared_ptr m_avmIfc; std::shared_ptr m_mrkIfc; std::shared_ptr m_srmDataIfc; std::shared_ptr m_fltParticipantIfc; std::shared_ptr m_fltAesIfc; std::shared_ptr m_fltBuildingComponentIfc; }; } // namespace Timeline