131 lines
3.4 KiB
C++
Executable File
131 lines
3.4 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 <Services/ParticipantManagement/ppm_ftc.h>
|
|
#include <Plugins/ParticipantManagement/ppm_gui_combobox_plugin_interface.h>
|
|
#include <LtsWidgets/lts_dialog.h>
|
|
#include <LtsSession/lts_session.h>
|
|
#include <LtsUtilsGuiDds/request_helper.h>
|
|
|
|
|
|
class QTreeView;
|
|
|
|
namespace AdvancedSymbology
|
|
{
|
|
class ForeignDataInterface;
|
|
}
|
|
|
|
namespace Ui
|
|
{
|
|
class ParticipantEdit;
|
|
}
|
|
|
|
namespace NGL
|
|
{
|
|
class INGLLogger;
|
|
}
|
|
|
|
namespace LtsDataView
|
|
{
|
|
class SearchModel;
|
|
}
|
|
|
|
|
|
namespace ParticipantManagement
|
|
{
|
|
|
|
class FiringUnitValidator;
|
|
class ParticipantEditModel;
|
|
class ParticipantEditItem;
|
|
class ParticipantTreeEditHandler;
|
|
class ParticipantTreeFilterProxyModel;
|
|
class ParticipantTableFilterProxyModel;
|
|
|
|
class ParticipantEdit : public LtsWidgets::LtsDialog
|
|
{
|
|
Q_OBJECT
|
|
using BaseClass = LtsWidgets::LtsDialog;
|
|
|
|
public:
|
|
ParticipantEdit(LtsSession::LtsSession *session, bool asSupportService, QWidget *parent = nullptr);
|
|
~ParticipantEdit();
|
|
|
|
bool init(const std::shared_ptr<ParticipantManagement::Interface::Dtc> &dtc,
|
|
const std::shared_ptr<ParticipantManagement::Interface::Ftc> &ftc,
|
|
const std::shared_ptr<ParticipantManagement::ForeignGuiComboboxInterface> &ppmGuiCbxIfc,
|
|
const std::shared_ptr<AdvancedSymbology::ForeignDataInterface> &asbIfc);
|
|
|
|
private:
|
|
void retranslate() override;
|
|
bool apply() override;
|
|
void showIsSimulated();
|
|
|
|
void lock() override;
|
|
void unlock() override;
|
|
|
|
|
|
protected slots:
|
|
void onEnaDisa(); // enable/disable the widgets
|
|
void onAddItem();
|
|
void onEditItem();
|
|
void onPartyChanged();
|
|
void onPrint();
|
|
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);
|
|
|
|
|
|
private:
|
|
void tableColumnOrganiserSetting() override;
|
|
|
|
bool m_asSupportService;
|
|
QAction *m_actionRemove;
|
|
QAction *m_actionEdit;
|
|
|
|
ParticipantTreeEditHandler *m_pTreehandler{nullptr};
|
|
|
|
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_dtc;
|
|
std::shared_ptr<ParticipantManagement::Interface::Ftc> m_ftc;
|
|
std::shared_ptr<ParticipantManagement::ForeignGuiComboboxInterface> m_ppmGuiCbxIfc;
|
|
std::shared_ptr<AdvancedSymbology::ForeignDataInterface> m_asb;
|
|
|
|
ParticipantEditItem *m_newItemDlg{nullptr};
|
|
LtsSession::LtsSession *m_session{nullptr};
|
|
|
|
static int s_preselectedParty;
|
|
|
|
ParticipantEditModel *m_model{nullptr};
|
|
ParticipantTreeFilterProxyModel *m_proxyTree{nullptr};
|
|
ParticipantTableFilterProxyModel *m_proxyTable{nullptr};
|
|
|
|
QPushButton *m_pbTreeView{nullptr};
|
|
QPushButton *m_pbTableView{nullptr};
|
|
QPushButton *m_pbTreeViewDummy{nullptr};
|
|
QPushButton *m_pbTableViewDummy{nullptr};
|
|
|
|
FiringUnitValidator *m_firingUnitValidator{nullptr};
|
|
|
|
Ui::ParticipantEdit *m_ui;
|
|
NGL::INGLLogger &m_logger;
|
|
};
|
|
|
|
} //ParticipantManagement
|