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

42 lines
1.2 KiB
C++
Executable File

/**
* @RDE_HEADER@
* HMI Plugin for AudioVideoManagement - Menu Edit Dialog Model
* $Id$
* $HeadURL$
* $Author$
* Created by Patric Karwat, SLSE, 2016-10.05
*/
#pragma once
#include <AudioVideoManagement/avm_dtc.h>
#include <AudioVideoManagement/logger.h>
#include <LtsWidgets/lts_abstract_table_model.h>
namespace AudioVideoManagement
{
// --------------------------------------------------------
// MenuViewModel
// --------------------------------------------------------
class MenuViewModel final : public LtsWidgets::LtsAbstractTableModel<AudioVideoManagement::MenuStruct>
{
Q_OBJECT
public:
explicit MenuViewModel(QObject *parent = nullptr);
bool initModel(const std::shared_ptr<AudioVideoManagement::Interface::Dtc> &dtc, bool isAudio);
QVariant data(const QModelIndex &, int) const override final;
QByteArray modelToJson(int row) const;
QVector<AudioVideoManagement::MenuStruct> jsonToMenuStructs(const QByteArray &content) const;
protected:
bool isFiltered(const MenuStruct &data, DataModification modType) const override final;
private:
bool m_isAudio;
std::shared_ptr<AudioVideoManagement::Interface::Dtc> m_dtc;
LOGGER_T m_logger;
};
} //namespace AudioVideoManagement