Files
qt5-legatus-legacy/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/avm_menu_edit.h
T
2026-08-13 18:33:10 +02:00

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