/** * @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 #include 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 &ppmDtc, const std::shared_ptr &ppmFtc, const std::shared_ptr &asbIfc); void setTimePoint(qint64 tp); bool onReinitModel(int partyId, const QSet &checkedParticipants = QSet(), 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 m_checkedParticipantsTimepointModel; Qt::CheckState m_csTimePointModel; std::shared_ptr m_ppmFtc; }; } // namespace ParticipantManagement