-
Notifications
You must be signed in to change notification settings - Fork 0
/
qtpredickadvocatormaindialog.cpp
81 lines (67 loc) · 1.99 KB
/
qtpredickadvocatormaindialog.cpp
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include "qtpredickadvocatormaindialog.h"
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Weffc++"
#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
#include <cassert>
#include <cstdlib>
#include <string>
#include <vector>
#include "testtimer.h"
#include "trace.h"
#include "ui_qtpredickadvocatormaindialog.h"
#pragma GCC diagnostic pop
ribi::QtPreDickAdvocaTorMainDialog::QtPreDickAdvocaTorMainDialog(
const int seed,
QWidget *parent)
: QtHideAndShowDialog(parent),
ui(new Ui::QtPreDickAdvocaTorMainDialog),
m_dialog(seed)
{
ui->setupUi(this);
const int sz = m_dialog.GetTeamNames().size();
for (int i = 0; i!=sz; ++i)
{
const QString name = m_dialog.GetTeamNames()[i].c_str();
ui->box_left->addItem(name);
ui->box_right->addItem(name);
}
OnAnyChange();
}
ribi::QtPreDickAdvocaTorMainDialog::~QtPreDickAdvocaTorMainDialog() noexcept
{
delete ui;
}
void ribi::QtPreDickAdvocaTorMainDialog::OnAnyChange()
{
const int index1 = ui->box_left->currentIndex();
const int index2 = ui->box_right->currentIndex();
if (index1 < 0 || index2 < 0) return;
assert(index1 >= 0);
assert(index2 >= 0);
if (index1==index2)
{
ui->label1->setText("-");
ui->label2->setText("-");
}
else
{
assert(index1 < static_cast<int>(m_dialog.GetTeamScores().size()));
assert(index2 < static_cast<int>(m_dialog.GetTeamScores().size()));
assert(index2 < static_cast<int>(m_dialog.GetTeamScores()[index1].size()));
assert(index1 < static_cast<int>(m_dialog.GetTeamScores()[index2].size()));
const int score1 = m_dialog.GetTeamScores()[index1][index2];
const int score2 = m_dialog.GetTeamScores()[index2][index1];
QString s1; s1.setNum(score1);
QString s2; s2.setNum(score2);
ui->label1->setText(s1);
ui->label2->setText(s2);
}
}
void ribi::QtPreDickAdvocaTorMainDialog::on_box_left_currentIndexChanged(int)
{
OnAnyChange();
}
void ribi::QtPreDickAdvocaTorMainDialog::on_box_right_currentIndexChanged(int)
{
OnAnyChange();
}