Files
qt5-legatus-legacy/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection.h
T
2026-08-13 18:33:10 +02:00

112 lines
2.7 KiB
C++
Executable File

/**
* @RDE_HEADER@
* GUI Plugin for ParticipantManagement - Participant Edit
* $Id$
* $HeadURL$
* $Author$
* Created by Patric Karwat, SLSE, 2016-10-17
*/
#pragma once
#include <Services/ParticipantManagement/ppm_dtc.h>
#include <Plugins/ParticipantManagement/ppm_gui_combobox_plugin_interface.h>
#include <LtsWidgets/lts_frameless_dialog.h>
#include <LtsSession/lts_session.h>
#include <LtsUtilsGuiDds/request_helper.h>
#include <ParticipantSelection/ppmparticipantselectiongui_export.h>
class QTreeView;
namespace AdvancedSymbology
{
class ForeignDataInterface;
}
namespace Ui
{
class ParticipantSelection;
}
namespace NGL
{
class INGLLogger;
}
namespace LtsDataView
{
class SearchModel;
}
namespace ParticipantManagement
{
class ParticipantEditModel;
class ParticipantSelectionItem;
class ParticipantTreeEditHandler;
class ParticipantTreeFilterProxyModel;
class ParticipantTableFilterProxyModel;
class PPMPARTICIPANTSELECTIONGUI_EXPORT ParticipantSelection : public LtsWidgets::LtsFramelessDialog
{
Q_OBJECT
public:
explicit ParticipantSelection(LtsSession::LtsSession *session, QWidget *parent = nullptr);
~ParticipantSelection();
bool init();
void setParticipantSelected(int partyId, int participantId);
void setMultiSelectionEnabled(bool enabled);
private:
// void retranslate() override;
protected slots:
void onEnaDisa(); // enable/disable the widgets
void onPartyChanged();
void onChangesMade();
void onBeautifyTreeView();
private slots:
void onSwitchToTreeView();
void onSwitchToTableView();
void onFilterChanged(LtsDataView::SearchModel *from, LtsDataView::SearchModel *to);
void onSortTableView(int column, Qt::SortOrder order);
void onSelectionChangedInTree(const QItemSelection &selected, const QItemSelection &deselected);
void onSelectionChangedInTable(const QItemSelection &selected, const QItemSelection &deselected);
void onColumnWidthChanged(QTreeView *to, const int &column, const int &width);
void accept() override final;
signals:
void selectedParticipants(const QVector<int> &participantIds);
private:
ParticipantTreeEditHandler *m_pTreehandler{nullptr};
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_dtc;
std::shared_ptr<ParticipantManagement::ForeignGuiComboboxInterface> m_ppmGuiCbxIfc;
std::shared_ptr<AdvancedSymbology::ForeignDataInterface> m_asb;
ParticipantSelectionItem *m_newItemDlg{nullptr};
LtsSession::LtsSession *m_session{nullptr};
static int s_preselectedParty;
ParticipantEditModel *m_model{nullptr};
ParticipantTreeFilterProxyModel *m_proxyTree{nullptr};
ParticipantTableFilterProxyModel *m_proxyTable{nullptr};
Ui::ParticipantSelection *m_ui;
NGL::INGLLogger &m_logger;
};
} //ParticipantManagement