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

48 lines
1.6 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Enhanced Participant Edit Model - show participant structure at specific time point
* $Id$
* $HeadURL$
* $Author$
* Created by Christian Ehrlicher, SLSE, 2018-02-15
*/
#pragma once
#include "participant_edit_model.h"
#include <ParticipantManagement/ppm_ftc.h>
#include <LtsUtilsGuiDds/request_helper.h>
class QTimer;
namespace ParticipantManagement
{
//----------------------------------------------------------------------------
class PPMCOMMON_EXPORT ParticipantTimePointModel : public ParticipantEditModel,
protected ParticipantManagement::Interface::Ftc::GetParticipantsReplyHandler
{
Q_OBJECT
public:
ParticipantTimePointModel(QObject *parent,
const std::shared_ptr<Interface::Dtc> &ppmDtc,
const std::shared_ptr<Interface::Ftc> &ppmFtc,
const std::shared_ptr<AdvancedSymbology::ForeignDataInterface> &asbIfc);
void setTimePoint(qint64 tp);
bool onReinitModel(int partyId, const QSet<int> &checkedParticipants = QSet<int>(), Qt::CheckState cs = Qt::Checked) override;
qint64 timePoint() const { return m_currentTimePoint; }
Q_SIGNALS:
void participantDataChanged();
protected:
void startRequest();
void onGetParticipantsReply(const GetParticipantsReply &reply) override final;
private:
QTimer *m_requestTimer;
qint64 m_currentTimePoint;
LtsUtils::RequestHelper m_requestHelper;
QSet<int> m_checkedParticipantsTimepointModel;
Qt::CheckState m_csTimePointModel;
std::shared_ptr<Interface::Ftc> m_ppmFtc;
};
} // namespace ParticipantManagement