Files
Rennbahn/windowrace.h
2018-12-28 14:24:36 +01:00

89 lines
2.0 KiB
C++

#ifndef WINDOWRACE_H
#define WINDOWRACE_H
#include "ampel.h"
#include "countdown.h"
#include "counter.h"
#include "database.h"
#include "hardwaresetup.h"
#include "timemodel.h"
#include "windowrennliste.h"
#include <QMainWindow>
#include <QMessageBox>
#include <memory>
#include <string>
#include <vector>
using std::string;
namespace Ui {
class WindowRace;
}
class WindowRace : public QMainWindow {
Q_OBJECT
public:
explicit WindowRace(std::shared_ptr<DataBase> db,
QWidget * parent = nullptr);
~WindowRace();
void setWindowRennliste(std::shared_ptr<WindowRennliste> ptrInstance);
void setDriverAndCar(vector<QString> vec);
void setDriverAndCarId(vector<QString> vec);
private:
int shellDriverId;
int deaDriverId;
int deaCarId;
int shellCarId;
void closeEvent(QCloseEvent * event);
bool started;
std::shared_ptr<Countdown> countdown;
std::shared_ptr<HardwareSetup> Hardware;
Ui::WindowRace * ui;
Counter counterShell;
Counter counterDea;
bool firstTimeShell;
bool firstTimeDea;
QVector<QVector<int>> VecShell;
QVector<QVector<int>> VecDea;
TimeModel * timeModelShell;
TimeModel * timeModelDea;
long getMinimum(std::vector<long> a);
QString timeWrapper(long zahl);
long countdownValue; // in sec
std::shared_ptr<Ampel> startAmpelThread;
int ampelCounter;
bool paused;
std::shared_ptr<DataBase> db;
bool finished;
std::shared_ptr<WindowRennliste> wRennliste;
bool wRennlisteSeted;
int fahrzeit;
int renn_id;
int minimumTime;
QVector<int> minSecTime;
// sector top times
int theoreticalMinShell;
int deltaShell;
int theoreticalMinDea;
int deltaDea;
public slots:
void stopClicked();
void prepareNextRace();
void breakCounter();
void countdownUpdate();
void go();
void ampelSlot();
void laufcheck();
void deaSlot(int, int);
void shellSlot(int, int);
void ReturnPress();
};
#endif // WINDOWRACE_H