61 lines
1.2 KiB
C++
Executable File
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;
|
|
};
|