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();
}

View File

@@ -24,6 +24,9 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
</widget>
</item>
<item>
@@ -43,7 +46,7 @@
<x>0</x>
<y>0</y>
<width>702</width>
<height>432</height>
<height>436</height>
</rect>
</property>
<attribute name="label">
@@ -106,7 +109,7 @@
<x>0</x>
<y>0</y>
<width>702</width>
<height>432</height>
<height>436</height>
</rect>
</property>
<attribute name="label">
@@ -138,11 +141,11 @@
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_genPlots">
<property name="text">
<string>Generate plots</string>
</property>
</widget>
<widget class="QPushButton" name="btn_genPlots">
<property name="text">
<string>Generate plots</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_exportCSV">

View File

@@ -63,7 +63,7 @@
</size>
</property>
<property name="currentIndex">
<number>2</number>
<number>0</number>
</property>
<widget class="QWidget" name="tabSelectedTrans">
<attribute name="title">