summaryrefslogtreecommitdiff
path: root/plugins/autotest/testresultmodel.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/autotest/testresultmodel.h')
-rw-r--r--plugins/autotest/testresultmodel.h42
1 files changed, 23 insertions, 19 deletions
diff --git a/plugins/autotest/testresultmodel.h b/plugins/autotest/testresultmodel.h
index 97f3a3a53c..5a108aa45c 100644
--- a/plugins/autotest/testresultmodel.h
+++ b/plugins/autotest/testresultmodel.h
@@ -27,43 +27,47 @@
#include <QFont>
#include <QSet>
+#include <utils/treemodel.h>
+
namespace Autotest {
namespace Internal {
-class TestResultModel : public QAbstractItemModel
+class TestResultItem : public Utils::TreeItem
+{
+public:
+ explicit TestResultItem(TestResult *testResult);
+ ~TestResultItem();
+ QVariant data(int column, int role) const;
+ const TestResult *testResult() const { return m_testResult; }
+ void updateDescription(const QString &description);
+ void updateResult();
+
+private:
+ TestResult *m_testResult;
+};
+
+class TestResultModel : public Utils::TreeModel
{
- Q_OBJECT
public:
explicit TestResultModel(QObject *parent = 0);
- ~TestResultModel();
- QModelIndex index(int row, int column, const QModelIndex &parent) const;
- QModelIndex parent(const QModelIndex &) const;
- int rowCount(const QModelIndex &parent) const;
- int columnCount(const QModelIndex &parent) const;
- QVariant data(const QModelIndex &index, int role) const;
-
- void addTestResult(const TestResult &testResult);
+ QVariant data(const QModelIndex &idx, int role) const;
+
+ void addTestResult(TestResult *testResult, bool autoExpand = false);
void removeCurrentTestMessage();
void clearTestResults();
- bool hasResults() const { return m_testResults.size() > 0; }
- TestResult testResult(const QModelIndex &index) const;
+ TestResult testResult(const QModelIndex &idx);
int maxWidthOfFileName(const QFont &font);
int maxWidthOfLineNumber(const QFont &font);
- int resultTypeCount(Result::Type type);
-
-signals:
-
-public slots:
+ int resultTypeCount(Result::Type type) const { return m_testResultCount.value(type, 0); }
private:
- QList<TestResult> m_testResults;
QMap<Result::Type, int> m_testResultCount;
int m_widthOfLineNumber;
int m_maxWidthOfFileName;
- int m_lastMaxWidthIndex;
+ QList<int> m_processedIndices;
QFont m_measurementFont;
};