-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathiterationinfodialog.cpp
72 lines (64 loc) · 2.44 KB
/
iterationinfodialog.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
/*!
* \file iterationinfodialog.cpp
* \author Simon Coakley
* \date 2012
* \copyright Copyright (c) 2012 University of Sheffield
* \brief Implementation of iteration info dialog
*/
#include <QDebug>
#include "./iterationinfodialog.h"
#include "./ui_iterationinfodialog.h"
IterationInfoDialog::IterationInfoDialog(QHash<QString, int> * atc,
Dimension * ad, QWidget *parent)
: QDialog(parent),
ui(new Ui::IterationInfoDialog) {
ui->setupUi(this);
agentTypeCounts = atc;
agentDimension = ad;
ui->tableWidget->setColumnCount(2);
QStringList headers;
headers.append("type");
headers.append("value");
ui->tableWidget->setHorizontalHeaderLabels(headers);
ui->tableWidget->verticalHeader()->hide();
QHeaderView *headerView = ui->tableWidget->horizontalHeader();
headerView->setResizeMode(QHeaderView::Stretch);
}
IterationInfoDialog::~IterationInfoDialog() {
delete ui;
}
void IterationInfoDialog::closeEvent(QCloseEvent *event) {
emit(iterationInfoDialog_closed());
QDialog::closeEvent(event);
}
void IterationInfoDialog::addRow(QString type, QString value) {
int row = ui->tableWidget->rowCount();
ui->tableWidget->insertRow(row);
QTableWidgetItem *newItem = new QTableWidgetItem(type);
newItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
ui->tableWidget->setItem(row, 0, newItem);
newItem = new QTableWidgetItem(value);
newItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
ui->tableWidget->setItem(row, 1, newItem);
}
void IterationInfoDialog::update_info() {
/* Remove all rows */
while (ui->tableWidget->rowCount() > 0)
ui->tableWidget->removeRow(0);
/* Update info */
QHash<QString, int>::iterator i;
for (i = agentTypeCounts->begin(); i != agentTypeCounts->end(); ++i) {
addRow(QString("Agent total: %1").arg(i.key()),
QString::number(i.value()));
}
/* Add agent dimensions */
addRow("X-axis Miniumum", QString::number(agentDimension->xmin));
addRow("X-axis Maxiumum", QString::number(agentDimension->xmax));
addRow("Y-axis Miniumum", QString::number(agentDimension->ymin));
addRow("Y-axis Maxiumum", QString::number(agentDimension->ymax));
addRow("Z-axis Miniumum", QString::number(agentDimension->zmin));
addRow("Z-axis Maxiumum", QString::number(agentDimension->zmax));
}
void IterationInfoDialog::on_buttonBox_accepted() {
close();
}