91 lines
2.5 KiB
C++
Executable File
91 lines
2.5 KiB
C++
Executable File
/**
|
|
* @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 <Services/AudioVideoManagement/avm_dtc.h>
|
|
#include <Services/AudioVideoManagement/avm_ftc.h>
|
|
#include <LtsWidgets/lts_dialog.h>
|
|
#include <LtsSession/lts_session.h>
|
|
#include <LtsUtilsGuiDds/request_helper.h>
|
|
#include <Plugins/FileManagement/flm_explorer_gui_plugin_interface.h>
|
|
|
|
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<AudioVideoManagement::Interface::Dtc> &dtc,
|
|
const std::shared_ptr<AudioVideoManagement::Interface::Ftc> &ftc,
|
|
const std::shared_ptr<InfrastructureManagement::Interface::Dtc> &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<AudioVideoManagement::Interface::Dtc> m_dtc;
|
|
std::shared_ptr<AudioVideoManagement::Interface::Ftc> m_ftc;
|
|
std::shared_ptr<FileManagement::ForeignGuiInterface> m_flmGui;
|
|
std::shared_ptr<InfrastructureManagement::Interface::Dtc> m_ismDtc;
|
|
StreamNameMapping *m_streamNameMapping{nullptr};
|
|
LtsSession::LtsSession *m_session;
|
|
LtsUtils::RequestHelper *m_requestHelper;
|
|
Ui::MenuEditView *m_ui;
|
|
|
|
LOGGER_T m_logger;
|
|
|
|
};
|
|
|
|
} // namespace AudioVideoManagement
|