diff options
Diffstat (limited to 'tests/valgrind/memcheck/modeldemo.h')
-rw-r--r-- | tests/valgrind/memcheck/modeldemo.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/tests/valgrind/memcheck/modeldemo.h b/tests/valgrind/memcheck/modeldemo.h new file mode 100644 index 00000000000..fdc8c03c2ff --- /dev/null +++ b/tests/valgrind/memcheck/modeldemo.h @@ -0,0 +1,80 @@ +/************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). +** +** Author: Frank Osterfeld, KDAB ([email protected]) +** +** Contact: Nokia Corporation ([email protected]) +** +** No Commercial Usage +** +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at [email protected]. +** +**************************************************************************/ + +#ifndef MODELDEMO_H +#define MODELDEMO_H + +#include <QObject> +#include <QDebug> +#include <QItemSelection> +#include <QModelIndex> + +#include <valgrind/xmlprotocol/error.h> +#include <valgrind/xmlprotocol/errorlistmodel.h> +#include <valgrind/xmlprotocol/stackmodel.h> +#include <valgrind/memcheck/memcheckrunner.h> + +class ModelDemo : public QObject +{ + Q_OBJECT +public: + explicit ModelDemo(Valgrind::Memcheck::MemcheckRunner *r, QObject *parent = 0) + : QObject(parent) + , runner(r) + { + } + + Valgrind::XmlProtocol::StackModel* stackModel; + +public Q_SLOTS: + void finished() { + qDebug() << runner->errorString(); + } + + void selectionChanged(const QItemSelection &sel, const QItemSelection &) { + if (sel.indexes().isEmpty()) + return; + const QModelIndex idx = sel.indexes().first(); + const Valgrind::XmlProtocol::Error err = idx.data(Valgrind::XmlProtocol::ErrorListModel::ErrorRole).value<Valgrind::XmlProtocol::Error>(); + qDebug() << idx.row() << err.what(); + stackModel->setError(err); + } + + +private: + Valgrind::Memcheck::MemcheckRunner *runner; +}; + +#endif // MODELDEMO_H |