summaryrefslogtreecommitdiff
path: root/src/plugins/qmlprofiler/qmlprofilerrangemodel.h
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@digia.com>2014-10-27 17:41:22 +0100
committerUlf Hermann <ulf.hermann@theqtcompany.com>2014-11-21 10:53:53 +0100
commita42e07bebaf6a161020459a66aab021cb0e29f90 (patch)
tree70f20ae98938fadf5412f9b3afaa5ab0921d5aa4 /src/plugins/qmlprofiler/qmlprofilerrangemodel.h
parent70102410dfa654d036e7a6b797f1d70ca468e957 (diff)
downloadqt-creator-a42e07bebaf6a161020459a66aab021cb0e29f90.tar.gz
QmlProfiler: Rename some classes and files to follow the common pattern
The ones we'll refactor into the timeline library should be called timeline* and the others should be called qmlprofiler*. Change-Id: I6ecccbe4ef523681ca0baeef140368e2c1839964 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Diffstat (limited to 'src/plugins/qmlprofiler/qmlprofilerrangemodel.h')
-rw-r--r--src/plugins/qmlprofiler/qmlprofilerrangemodel.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/src/plugins/qmlprofiler/qmlprofilerrangemodel.h b/src/plugins/qmlprofiler/qmlprofilerrangemodel.h
new file mode 100644
index 0000000000..841a6089f0
--- /dev/null
+++ b/src/plugins/qmlprofiler/qmlprofilerrangemodel.h
@@ -0,0 +1,92 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://www.qt.io/licensing. For further information
+** use the contact form at http://www.qt.io/contact-us.
+**
+** 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 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+
+#ifndef QMLPROFILERRANGEMODEL_H
+#define QMLPROFILERRANGEMODEL_H
+
+#include "abstracttimelinemodel.h"
+#include <qmldebug/qmlprofilereventtypes.h>
+#include <qmldebug/qmlprofilereventlocation.h>
+#include <QVariantList>
+#include "qmlprofilerdatamodel.h"
+#include <QColor>
+
+namespace QmlProfiler {
+class QmlProfilerModelManager;
+
+namespace Internal {
+
+class QmlProfilerRangeModel : public AbstractTimelineModel
+{
+ Q_OBJECT
+public:
+
+ struct QmlRangeEventStartInstance {
+ QmlRangeEventStartInstance() :
+ displayRowExpanded(QmlDebug::Constants::QML_MIN_LEVEL),
+ displayRowCollapsed(QmlDebug::Constants::QML_MIN_LEVEL),
+ bindingLoopHead(-1) {}
+
+ // not-expanded, per type
+ int displayRowExpanded;
+ int displayRowCollapsed;
+ int bindingLoopHead;
+ };
+
+ QmlProfilerRangeModel(QmlDebug::RangeType rangeType, QObject *parent = 0);
+
+ static QString categoryLabel(QmlDebug::RangeType categoryIndex);
+ quint64 features() const;
+
+ int row(int index) const;
+ int bindingLoopDest(int index) const;
+ QColor color(int index) const;
+
+ QVariantList labels() const;
+ QVariantMap details(int index) const;
+ QVariantMap location(int index) const;
+
+ bool isSelectionIdValid(int typeIndex) const;
+ int selectionIdForLocation(const QString &filename, int line, int column) const;
+
+protected:
+ void loadData();
+ void clear();
+
+private:
+ class QmlProfilerRangeModelPrivate;
+ Q_DECLARE_PRIVATE(QmlProfilerRangeModel)
+};
+
+}
+}
+
+#endif // QMLPROFILERRANGEMODEL_H