forked from Project-LemonLime/Project_LemonLime
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjudgingdialog.h
More file actions
58 lines (48 loc) · 1.35 KB
/
judgingdialog.h
File metadata and controls
58 lines (48 loc) · 1.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
* SPDX-FileCopyrightText: 2011-2018 Project Lemon, Zhipeng Jia
* SPDX-FileCopyrightText: 2018-2019 Project LemonPlus, Dust1404
* SPDX-FileCopyrightText: 2019-2022 Project LemonLime
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
*/
#pragma once
//
#include "base/LemonType.hpp"
#include <QDialog>
#include <QTextCursor>
class Contest;
namespace Ui {
class JudgingDialog;
}
class JudgingDialog : public QDialog {
Q_OBJECT
public:
explicit JudgingDialog(QWidget *parent = nullptr);
~JudgingDialog();
void setContest(Contest *);
void judge(const QList<std::pair<QString, QVector<int>>> &);
void judgeAll();
void reject();
private slots:
void stopJudgingSlot();
static void skipJudging();
void sendNotify(QString, QString);
private:
Ui::JudgingDialog *ui;
Contest *curContest{};
QTextCursor *cursor;
bool stopJudging{};
public slots:
void dialogAlert(const QString &);
void singleCaseFinished(QString, int, int, int, int, int, int, long long);
void singleSubtaskDependenceFinished(int, int, int);
void taskJudgingStarted(const QString &);
void taskJudgedDisplay(const QString &, const QList<QList<int>> &, const int);
void contestantJudgingStart(const QString &);
void contestantJudgingFinished();
void contestantJudgedDisplay(const QString &, const int, const int);
void compileError(int, int);
signals:
void stopJudgingSignal();
};