59 lines
1.4 KiB
C++
59 lines
1.4 KiB
C++
#ifndef RESULT_H
|
|
#define RESULT_H
|
|
|
|
#include "database.h"
|
|
#include "resultmodel.h"
|
|
#include <QWidget>
|
|
#include <memory>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
using std::string;
|
|
using std::vector;
|
|
|
|
namespace Ui {
|
|
class Result;
|
|
}
|
|
|
|
struct Times {
|
|
int shell;
|
|
int dea;
|
|
};
|
|
|
|
class Result : public QWidget {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit Result(std::shared_ptr<DataBase> db, int rennid,
|
|
QWidget * parent = nullptr);
|
|
~Result();
|
|
public slots:
|
|
void closeWindow();
|
|
|
|
private:
|
|
vector<int> getFahrerIds(int rennid);
|
|
vector<int> getAutoIds(int rennid);
|
|
int getMinimum(int fahrerId, int bahnId, int rennId, int autoid,
|
|
int minZeit);
|
|
float getMean(int fahrerid, int bahnid, int rennid);
|
|
string getFahrerName(int id);
|
|
string getAutoName(int id);
|
|
string myRound(double, int);
|
|
template <typename T> double meanVal(vector<T> vec);
|
|
template <typename T> T myMin(vector<T> vec);
|
|
void plotCars(vector<string> carNames, vector<struct Times> times);
|
|
void plotDrivers(vector<string> driverNames, vector<struct Times> times);
|
|
double getMinRangeTime(vector<struct Times> times);
|
|
double getMaxRangeTime(vector<struct Times> times);
|
|
void drawPlots(int rennid);
|
|
|
|
Ui::Result * ui;
|
|
std::shared_ptr<ResultModel> model;
|
|
std::shared_ptr<DataBase> db;
|
|
int rennid;
|
|
int minimumTime;
|
|
QString renndatum;
|
|
};
|
|
|
|
#endif // RESULT_H
|