summaryrefslogtreecommitdiff
path: root/plugins/qmlprofiler/memoryusagemodel.h
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@theqtcompany.com>2015-08-27 17:36:46 +0200
committerUlf Hermann <ulf.hermann@theqtcompany.com>2015-08-27 18:48:09 +0300
commitdd988bdb5ec7ae4cd082e077c0c9ff051157e1c5 (patch)
tree4b80752ca0ed96ea12274ea675e0926e8a1a38ac /plugins/qmlprofiler/memoryusagemodel.h
parentc17e3107d16f182561154737aa970c320026162f (diff)
downloadqt-creator-dd988bdb5ec7ae4cd082e077c0c9ff051157e1c5.tar.gz
Rename files to follow common pattern among extension plugins
This way the plugin will successfully build with qbs again. Change-Id: Iac5fc64753bb225649ba9f62199d6248450e1546 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Diffstat (limited to 'plugins/qmlprofiler/memoryusagemodel.h')
-rw-r--r--plugins/qmlprofiler/memoryusagemodel.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/plugins/qmlprofiler/memoryusagemodel.h b/plugins/qmlprofiler/memoryusagemodel.h
new file mode 100644
index 0000000000..acd8431673
--- /dev/null
+++ b/plugins/qmlprofiler/memoryusagemodel.h
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd
+** All rights reserved.
+** For any questions to The Qt Company, please use contact form at http://www.qt.io/contact-us
+**
+** This file is part of the Qt Enterprise Qt Quick Profiler Add-on.
+**
+** Licensees holding valid Qt Enterprise licenses may use this file in
+** accordance with the Qt Enterprise License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company.
+**
+** If you have questions regarding the use of this file, please use
+** contact form at http://www.qt.io/contact-us
+**
+****************************************************************************/
+
+#ifndef MEMORYUSAGEMODEL_H
+#define MEMORYUSAGEMODEL_H
+
+#include "qmlprofiler/qmlprofilertimelinemodel.h"
+#include "qmlprofiler/qmlprofilerdatamodel.h"
+
+#include <QStringList>
+#include <QColor>
+
+namespace QmlProfilerExtension {
+namespace Internal {
+
+class MemoryUsageModel : public QmlProfiler::QmlProfilerTimelineModel
+{
+ Q_OBJECT
+public:
+
+ struct MemoryAllocation {
+ int typeId;
+ qint64 size;
+ qint64 allocated;
+ qint64 deallocated;
+ int allocations;
+ int deallocations;
+ int originTypeIndex;
+
+ MemoryAllocation(int typeId = -1, qint64 baseAmount = 0, int originTypeIndex = -1);
+ void update(qint64 amount);
+ };
+
+ MemoryUsageModel(QmlProfiler::QmlProfilerModelManager *manager, QObject *parent = 0);
+
+ int rowMaxValue(int rowNumber) const;
+
+ int expandedRow(int index) const;
+ int collapsedRow(int index) const;
+ int typeId(int index) const;
+ QColor color(int index) const;
+ float relativeHeight(int index) const;
+
+ QVariantMap location(int index) const;
+
+ QVariantList labels() const;
+ QVariantMap details(int index) const;
+
+protected:
+ void loadData();
+ void clear();
+
+private:
+ static QString memoryTypeName(int type);
+
+ QVector<MemoryAllocation> m_data;
+ qint64 m_maxSize;
+};
+
+} // namespace Internal
+} // namespace QmlProfilerExtension
+
+#endif // MEMORYUSAGEMODEL_H