Files
qt5-legatus-legacy/Lts/Tools/DdsView/topicselector.h
T
2026-08-13 18:33:10 +02:00

61 lines
1.2 KiB
C++
Executable File

/**
* @RDE_HEADER@
*
* Select Topic data for editing/setting default display data
*
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include <nglwidgets/ngldialog.h>
#include <QMap>
#include <dds/dds.hpp>
class QTableWidgetItem;
namespace Ui
{
class TopicSelector;
}
class TypeCodeSelectorDlg;
class TopicSortModel;
class TreeModel;
class TopicSelector : public NGLDialog
{
Q_OBJECT
public:
enum class Usage
{
SampleSkeletons,
TypeCodeInfos
};
explicit TopicSelector(Usage usage, QWidget *parent = nullptr);
~TopicSelector();
private slots:
void onAdd();
void onEdit();
void onOk();
void onCancel();
void onTypeCodeInfosChanged(const QString &typeCode, const QStringList &infoList);
void onSubDialogFinished();
signals:
void data(const dds::core::xtypes::DynamicData &d, const QString &topicName);
void typeCodeInfosChanged();
private:
QMap<QString, QStringList> m_typeCodeInfos;
QMap<std::string, TypeCodeSelectorDlg *> m_dialogs;
Ui::TopicSelector *m_ui;
TopicSortModel *m_dataSortModel;
TopicSortModel *m_functionSortModel;
TreeModel *m_treeSrcModelData;
TreeModel *m_treeSrcModelFunction;
};