/** * @RDE_HEADER@ * HMI Plugin for AudioVideoManagement - Menu Edit Overview Dialog * $Id$ * $HeadURL$ * $Author$ * Created by Patric Karwat, SLSE, 2016-10-05 */ #pragma once #include "avm_menu_view_model.h" #include #include #include #include #include #include namespace Ui { class MenuEditView; } namespace InfrastructureManagement { namespace Interface { class Dtc; } } namespace AudioVideoManagement { class StreamNameMapping; class MenuEditView : public LtsWidgets::LtsDialog, protected AudioVideoManagement::Interface::Ftc::ModifyMenuStructReplyHandler, protected AudioVideoManagement::Interface::Ftc::RemoveMenuStructReplyHandler { Q_OBJECT public: explicit MenuEditView(const QString &menuGroup, LtsSession::LtsSession *session, QWidget *parent = nullptr); ~MenuEditView(); bool init(const std::shared_ptr &dtc, const std::shared_ptr &ftc, const std::shared_ptr &ismDtc, StreamNameMapping *streamNameMapping, bool isAudio); private: void retranslate() override; void onSelectionChanged(); void onAddMenuStruct(); void onEditMenuStruct(); void onRemoveMenuStruct(); void onModifyMenuStructReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); } void onRemoveMenuStructReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); } void onPrint(); void tableColumnOrganiserSetting() override; private slots: void onExportButtonClicked(); void onImportButtonClicked(); private: QString m_menuGroup; MenuViewModel *m_model; bool m_isAudio; std::shared_ptr m_dtc; std::shared_ptr m_ftc; std::shared_ptr m_flmGui; std::shared_ptr m_ismDtc; StreamNameMapping *m_streamNameMapping{nullptr}; LtsSession::LtsSession *m_session; LtsUtils::RequestHelper *m_requestHelper; Ui::MenuEditView *m_ui; LOGGER_T m_logger; }; } // namespace AudioVideoManagement