forked from qt-creator/qt-creator
QmlProfiler: Use generic timeline classes where applicable.
Change-Id: I7bab7b20f3467f000a7ba4917919caa8f15ecf22 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
This commit is contained in:
@@ -34,6 +34,9 @@
|
||||
#include "qmlprofilermodelmanager.h"
|
||||
#include "timelinemodelaggregator.h"
|
||||
#include "qmlprofilernotesmodel.h"
|
||||
#include "qmlprofileranimationsmodel.h"
|
||||
#include "qmlprofilerrangemodel.h"
|
||||
#include "qmlprofilerplugin.h"
|
||||
|
||||
// Needed for the load&save actions in the context menu
|
||||
#include <analyzerbase/ianalyzertool.h>
|
||||
@@ -117,11 +120,9 @@ QmlProfilerTraceView::QmlProfilerTraceView(QWidget *parent, Analyzer::IAnalyzerT
|
||||
|
||||
d->m_profilerTool = profilerTool;
|
||||
d->m_viewContainer = container;
|
||||
d->m_modelManager = modelManager;
|
||||
d->m_modelProxy = new TimelineModelAggregator(this);
|
||||
d->m_modelProxy->setModelManager(modelManager);
|
||||
connect(d->m_modelManager, SIGNAL(stateChanged()),
|
||||
this, SLOT(profilerDataModelStateChanged()));
|
||||
|
||||
d->m_modelProxy = new TimelineModelAggregator(modelManager->notesModel(), this);
|
||||
setModelManager(modelManager);
|
||||
d->m_mainView->rootContext()->setContextProperty(QLatin1String("qmlProfilerModelProxy"),
|
||||
d->m_modelProxy);
|
||||
d->m_profilerState = profilerState;
|
||||
@@ -130,6 +131,33 @@ QmlProfilerTraceView::QmlProfilerTraceView(QWidget *parent, Analyzer::IAnalyzerT
|
||||
setMinimumHeight(170);
|
||||
}
|
||||
|
||||
void QmlProfilerTraceView::setModelManager(QmlProfilerModelManager *modelManager)
|
||||
{
|
||||
d->m_modelManager = modelManager;
|
||||
connect(modelManager,SIGNAL(dataAvailable()),
|
||||
d->m_modelProxy,SIGNAL(dataAvailable()));
|
||||
|
||||
// external models pushed on top
|
||||
foreach (QmlProfilerTimelineModel *timelineModel,
|
||||
QmlProfilerPlugin::instance->getModels(modelManager)) {
|
||||
d->m_modelProxy->addModel(timelineModel);
|
||||
}
|
||||
|
||||
d->m_modelProxy->addModel(new QmlProfilerAnimationsModel(modelManager,
|
||||
d->m_modelProxy));
|
||||
|
||||
for (int i = 0; i < QmlDebug::MaximumRangeType; ++i)
|
||||
d->m_modelProxy->addModel(new QmlProfilerRangeModel(modelManager, (QmlDebug::RangeType)i,
|
||||
d->m_modelProxy));
|
||||
|
||||
// Connect this last so that it's executed after the models have updated their data.
|
||||
connect(modelManager->qmlModel(), SIGNAL(changed()),
|
||||
d->m_modelProxy, SIGNAL(stateChanged()));
|
||||
connect(d->m_modelManager, SIGNAL(stateChanged()),
|
||||
this, SLOT(profilerDataModelStateChanged()));
|
||||
}
|
||||
|
||||
|
||||
QmlProfilerTraceView::~QmlProfilerTraceView()
|
||||
{
|
||||
delete d;
|
||||
|
||||
Reference in New Issue
Block a user