/** * @RDE_HEADER@ * AudioVideoManagement - Menu Struct Edit Dialog * $Id$ * $HeadURL$ * $Author$ * Created by hjl, SLSE, 2016-10-17 */ #pragma once #include "avm_available_streams_model.h" #include "avm_used_streams_model.h" #include #include #include #include #include namespace Ui { class MenuEdit; } namespace InfrastructureManagement { namespace Interface { class Dtc; } } namespace AudioVideoManagement { class StreamNameMapping; class MenuEdit : public LtsWidgets::LtsDialog, protected AudioVideoManagement::Interface::Ftc::ModifyMenuStructReplyHandler { Q_OBJECT public: explicit MenuEdit(QWidget *parent = nullptr); ~MenuEdit(); bool init(LtsSession::LtsSession *session, const std::shared_ptr &dtc, const std::shared_ptr &ftc, const std::shared_ptr &ismDtc, StreamNameMapping *streamNameMapping, const MenuStruct &ms); //virtual functions from AudioVideoManagement::Interface::Ftc::ModifyMenuStructReplyHandler void onModifyMenuStructReply(const Core::FunctionReplyObject &replyObject) override { m_requestHelper->requestReply(replyObject); } public slots: void onRemove(); void onModelDataChanged(); void onStreamSelected(const QModelIndex &idx); private: void retranslate() override; bool apply() override final; std::shared_ptr m_ftc; Ui::MenuEdit *m_ui; AvailableStreamsModel *m_availStreamsModel; UsedStreamsModel *m_usedStreamsModel; bool m_isAudio; QString m_name; NGL::INGLLogger &m_logger; LtsUtils::RequestHelper *m_requestHelper; AudioVideoManagement::MenuStruct m_lastDdsMenuStruct; ///< last dds menu struct AudioVideoManagement::MenuStruct m_modifiedMenuStruct; ///< modified menu struct }; } //namespace AudioVideoManagement