#ifndef SCSTWREMOTETIMER_H #define SCSTWREMOTETIMER_H #include #include class ScStwRemoteTimer : public ScStwTimer { Q_OBJECT public: ScStwRemoteTimer(QObject *parent = nullptr); friend class ScStwRemoteRace; private: ScStwTimer::ReadyState readyState; public slots: /*! * \brief Function to get the current ready status of a timer * \return The current ready status */ virtual ScStwTimer::ReadyState getReadyState(); protected slots: /*! * \brief Function to dircetly change the start time * * Only works when directControlEnabled is set to true! * * \param startTime the time to change to * \return false when directControlEnabled is set to false and the startTime was therefore not modified, true otherwise */ void setStartTime(double startTime); /*! * \brief Function to dircetly change the stop time * * Only works when directControlEnabled is set to true! * * \param stopTime the time to change to * \return false when directControlEnabled is set to false and the stopTime was therefore not modified, true otherwise */ void setStopTime(double stopTime); /*! * \brief Function to dircetly change the rection time * * Only works when directControlEnabled is set to true! * * \param reactionTime the time to change to * \return false when directControlEnabled is set to false and the reactionTime was therefore not modified, true otherwise */ void setReactionTime(double rectionTime); /*! * \brief Function to dircetly change the letter * * Only works when directControlEnabled is set to true! * * \param newLetter the letter to change to * \return false when directControlEnabled is set to false and the letter was therefore not modified, true otherwise */ void setLetter(QString newLetter); void setReadyState(ScStwTimer::ReadyState); /*! * \brief Function to change the state of the timer * * Doing this will emit the ScStwTimer::stateChanged() signal (only if the new state differs from the current one) * * \param newState The new state */ void setState(TimerState newState); }; #endif // SCSTWREMOTETIMER_H