/** * @RDE_HEADER@ * * Select Topic data for editing/setting default display data * * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include #include 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 m_typeCodeInfos; QMap m_dialogs; Ui::TopicSelector *m_ui; TopicSortModel *m_dataSortModel; TopicSortModel *m_functionSortModel; TreeModel *m_treeSrcModelData; TreeModel *m_treeSrcModelFunction; };