85 lines
2.1 KiB
C++
Executable File
85 lines
2.1 KiB
C++
Executable File
/**
|
|
* @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 <LtsWidgets/lts_dialog.h>
|
|
#include <LtsSession/lts_session.h>
|
|
#include <Services/AudioVideoManagement/avm_ftc.h>
|
|
#include <AudioVideoManagement/logger.h>
|
|
#include <LtsUtilsGuiDds/request_helper.h>
|
|
|
|
|
|
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<AudioVideoManagement::Interface::Dtc> &dtc,
|
|
const std::shared_ptr<AudioVideoManagement::Interface::Ftc> &ftc,
|
|
const std::shared_ptr<InfrastructureManagement::Interface::Dtc> &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<AudioVideoManagement::Interface::Ftc> 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
|