75 lines
2.0 KiB
C++
Executable File
75 lines
2.0 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* HMI Plugin for ParticipantManagement - TlnInfoTableDialog
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Astrid Mueller, SGAS, 2017-07-10
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
//Lts
|
|
#include <LtsWidgets/lts_dialog.h>
|
|
#include <LtsSession/lts_session.h>
|
|
|
|
//ParticipantManagement
|
|
#include <ParticipantManagement/logger.h>
|
|
#include <participant_info_table_model.h>
|
|
|
|
//DDS
|
|
#include <ParticipantManagement/ppm_dtc.h>
|
|
#include <ParticipantManagement/ppm_participant_info_gui_plugin_interface.h>
|
|
|
|
//Qt
|
|
class QSortFilterProxyModel;
|
|
class QItemSelection;
|
|
namespace Ui
|
|
{
|
|
class ParticipantInfoTableDialog;
|
|
}
|
|
|
|
namespace ParticipantManagement
|
|
{
|
|
|
|
class InfoTableConfigureDialog;
|
|
// --------------------------------------------------------
|
|
// ParticipantInfoTableDialog
|
|
// --------------------------------------------------------
|
|
class ParticipantInfoTableDialog : public LtsWidgets::LtsDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit ParticipantInfoTableDialog(const QString &menuGroup, QWidget *parent = nullptr);
|
|
~ParticipantInfoTableDialog();
|
|
|
|
bool init(LtsSession::LtsSession *session,
|
|
const std::shared_ptr<Interface::Dtc> &dtc);
|
|
|
|
private slots:
|
|
void onColumnContextMenu(const QPoint &position);
|
|
void onAddClicked();
|
|
void onRemoveClicked();
|
|
void onSelectionChanged(const QItemSelection &selected,
|
|
const QItemSelection &deselected);
|
|
void onShowTlnInfo(const QModelIndex &idx);
|
|
void onAddParticipants(const QSet<int> &participantIds);
|
|
|
|
private:
|
|
void retranslate() override;
|
|
|
|
QString m_menuGroup;
|
|
|
|
LtsSession::LtsSession *m_session;
|
|
std::shared_ptr<Interface::Dtc> m_dtc;
|
|
std::shared_ptr<ForeignParticipantInfoGuiInterface> m_ppmGuiIfc;
|
|
|
|
Ui::ParticipantInfoTableDialog *m_ui;
|
|
LOGGER_T m_logger;
|
|
ParticipantInfoTableModel *m_infoTableModel;
|
|
QSortFilterProxyModel *m_sortFilterProxyModel;
|
|
QVector<int> m_visibleColumns;
|
|
};
|
|
} // namespace ParticipantManagement
|