Fix checkboxes in metrics window.

This commit is contained in:
Lukas Steiner
2020-11-25 15:02:08 +01:00
parent 21afa61a6b
commit 2e652deaf4
3 changed files with 39 additions and 24 deletions

View File

@@ -143,20 +143,25 @@ void EvaluationTool::runTests()
ui->traceTestTreeWidget->clear();
ui->testLight->setGray();
if (traceFilesModel->rowCount() == 0)
return;
bool allTestsPassed = true;
bool boxesChecked = false;
for (int row = 0; row < traceFilesModel->rowCount(); ++row) {
for (int row = 0; row < traceFilesModel->rowCount(); ++row)
{
TraceFileItem *item = static_cast<TraceFileItem *>(traceFilesModel->item(row));
TraceTestResults traceTestResult = pythonCaller.runTestsOnTrace(
item->getPath());
if (!traceTestResult.hasPassedAllTests())
allTestsPassed = false;
ui->traceTestTreeWidget->addTraceTestResult(traceTestResult);
if (item->checkState() == Qt::Checked)
{
boxesChecked = true;
TraceTestResults traceTestResult = pythonCaller.runTestsOnTrace(item->getPath());
if (!traceTestResult.hasPassedAllTests())
allTestsPassed = false;
ui->traceTestTreeWidget->addTraceTestResult(traceTestResult);
}
}
if (!boxesChecked)
return;
ui->traceTestTreeWidget->expandAll();
if (allTestsPassed)
@@ -186,10 +191,13 @@ void EvaluationTool::calculateMetrics(vector<long> selectedMetrics)
ui->traceMetricTreeWidget->clear();
for (int row = 0; row < traceFilesModel->rowCount(); ++row) {
TraceFileItem *item = static_cast<TraceFileItem *>(traceFilesModel->item(row));
TraceCalculatedMetrics result = pythonCaller.calculateMetricsOnTrace(
item->getPath(), selectedMetrics);
calculatedMetrics.push_back(result);
ui->traceMetricTreeWidget->addTraceMetricResults(result);
if (item->checkState() == Qt::Checked)
{
TraceCalculatedMetrics result = pythonCaller.calculateMetricsOnTrace(
item->getPath(), selectedMetrics);
calculatedMetrics.push_back(result);
ui->traceMetricTreeWidget->addTraceMetricResults(result);
}
}
ui->traceMetricTreeWidget->expandAll();
}
@@ -203,7 +211,7 @@ EvaluationTool::TraceFileItem::TraceFileItem(const QString &path)
{
this->path = path;
setText(QFileInfo(this->path).baseName());
setCheckable( false );
setCheckable(true);
setCheckState(Qt::Checked);
setEditable(false);
}
@@ -238,11 +246,15 @@ void EvaluationTool::genPlots()
if (traceFilesModel->rowCount() == 0)
return;
for (int row = 0; row < traceFilesModel->rowCount(); ++row) {
for (int row = 0; row < traceFilesModel->rowCount(); ++row)
{
TraceFileItem *item = static_cast<TraceFileItem *>(traceFilesModel->item(row));
ui->traceMetricTreeWidget->addTracePlotResults(QFileInfo(
if (item->checkState() == Qt::Checked)
{
ui->traceMetricTreeWidget->addTracePlotResults(QFileInfo(
item->getPath()).baseName(),
pythonCaller.generatePlotsOnTrace(item->getPath()));
}
}
ui->traceMetricTreeWidget->expandAll();
}