48 lines
1.6 KiB
C++
Executable File
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
|