QmlProfiler: Callers and Callees separate views

Change-Id: Ifa3939eeda2a473722cbd8dfac33794a15d8c453
Reviewed-on: http://codereview.qt.nokia.com/678
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
This commit is contained in:
Christiaan Janssen
2011-06-22 17:58:58 +02:00
parent 878429ad24
commit fbce58bf8c
6 changed files with 417 additions and 42 deletions

View File

@@ -37,7 +37,8 @@
#include "qmlprofilerconstants.h"
#include "qmlprofilerattachdialog.h"
#include "qmlprofilersummaryview.h"
#include "qmlprofilercalltreeview.h"
#include "qmlprofilercalleeview.h"
#include "qmlprofilercallerview.h"
#include "tracewindow.h"
#include "timelineview.h"
@@ -92,7 +93,8 @@ public:
int m_connectionAttempts;
TraceWindow *m_traceWindow;
QmlProfilerSummaryView *m_summary;
QmlProfilerCallTreeView *m_calltree;
QmlProfilerCalleeView *m_calleetree;
QmlProfilerCallerView *m_callertree;
ProjectExplorer::Project *m_project;
Utils::FileInProjectFinder m_projectFinder;
ProjectExplorer::RunConfiguration *m_runConfiguration;
@@ -223,12 +225,20 @@ void QmlProfilerTool::initializeDockWidgets()
connect(d->m_summary, SIGNAL(gotoSourceLocation(QString,int)),
this, SLOT(gotoSourceLocation(QString,int)));
d->m_calltree = new QmlProfilerCallTreeView(mw);
d->m_calleetree = new QmlProfilerCalleeView(mw);
connect(d->m_traceWindow, SIGNAL(range(int,int,int,qint64,qint64,QStringList,QString,int)),
d->m_calltree, SLOT(addRangedEvent(int,int,int,qint64,qint64,QStringList,QString,int)));
d->m_calleetree, SLOT(addRangedEvent(int,int,int,qint64,qint64,QStringList,QString,int)));
connect(d->m_traceWindow, SIGNAL(viewUpdated()),
d->m_calltree, SLOT(complete()));
connect(d->m_calltree, SIGNAL(gotoSourceLocation(QString,int)),
d->m_calleetree, SLOT(complete()));
connect(d->m_calleetree, SIGNAL(gotoSourceLocation(QString,int)),
this, SLOT(gotoSourceLocation(QString,int)));
d->m_callertree = new QmlProfilerCallerView(mw);
connect(d->m_traceWindow, SIGNAL(range(int,int,int,qint64,qint64,QStringList,QString,int)),
d->m_callertree, SLOT(addRangedEvent(int,int,int,qint64,qint64,QStringList,QString,int)));
connect(d->m_traceWindow, SIGNAL(viewUpdated()),
d->m_callertree, SLOT(complete()));
connect(d->m_callertree, SIGNAL(gotoSourceLocation(QString,int)),
this, SLOT(gotoSourceLocation(QString,int)));
Core::ICore *core = Core::ICore::instance();
@@ -256,13 +266,18 @@ void QmlProfilerTool::initializeDockWidgets()
analyzerMgr->createDockWidget(this, tr("Timeline"),
d->m_traceWindow, Qt::BottomDockWidgetArea);
QDockWidget *calltreeDock =
analyzerMgr->createDockWidget(this, tr("Dependencies"),
d->m_calltree, Qt::BottomDockWidgetArea);
QDockWidget *calleeDock =
analyzerMgr->createDockWidget(this, tr("Callees"),
d->m_calleetree, Qt::BottomDockWidgetArea);
QDockWidget *callerDock =
analyzerMgr->createDockWidget(this, tr("Callers"),
d->m_callertree, Qt::BottomDockWidgetArea);
mw->splitDockWidget(mw->toolBarDockWidget(), summaryDock, Qt::Vertical);
mw->tabifyDockWidget(summaryDock, timelineDock);
mw->tabifyDockWidget(timelineDock, calltreeDock);
mw->tabifyDockWidget(timelineDock, calleeDock);
mw->tabifyDockWidget(calleeDock, callerDock);
}
@@ -402,7 +417,8 @@ void QmlProfilerTool::clearDisplay()
{
d->m_traceWindow->clearDisplay();
d->m_summary->clean();
d->m_calltree->clean();
d->m_calleetree->clean();
d->m_callertree->clean();
}
void QmlProfilerTool::attach()