QmlProfiler: Next and Previous controls

Change-Id: Iedac6ee9f3cc9855a5825fc5f82b79a06da4f1fb
Reviewed-on: http://codereview.qt.nokia.com/767
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
This commit is contained in:
Christiaan Janssen
2011-06-24 18:19:08 +02:00
parent 33256aa617
commit 2b8920405d
12 changed files with 75 additions and 69 deletions

View File

@@ -72,6 +72,38 @@ Rectangle {
property int selectedEventIndex : -1;
property bool mouseTracking: false;
onSelectedEventIndexChanged: {
if ((!mouseTracking) && Plotter.ranges.length > 0
&& selectedEventIndex > -1 && selectedEventIndex < Plotter.ranges.length) {
// re-center flickable if necessary
var event = Plotter.ranges[selectedEventIndex];
var xs = Plotter.xScale(canvas);
var startTime = Plotter.ranges[0].start;
if (rangeMover.value + startTime> event.start) {
rangeMover.x = Math.max(0,
Math.floor((event.start - startTime) / xs - canvas.canvasWindow.x - rangeMover.width/2) );
} else if (rangeMover.value + startTime + rangeMover.width * xs < event.start + event.duration) {
rangeMover.x = Math.floor((event.start + event.duration - startTime) / xs - canvas.canvasWindow.x - rangeMover.width/2);
}
}
}
function nextEvent() {
if (Plotter.ranges.length > 0) {
++selectedEventIndex;
if (selectedEventIndex >= Plotter.ranges.length)
selectedEventIndex = 0;
}
}
function prevEvent() {
if (Plotter.ranges.length > 0) {
--selectedEventIndex;
if (selectedEventIndex < 0)
selectedEventIndex = Plotter.ranges.length - 1;
}
}
//handle debug data coming from C++
Connections {
target: connection
@@ -225,10 +257,14 @@ Rectangle {
smooth: true
property bool componentIsCompleted: false
Component.onCompleted: componentIsCompleted = true;
Component.onCompleted: {
componentIsCompleted = true;
updateDetails();
}
property bool isSelected: root.selectedEventIndex == index;
onIsSelectedChanged: {
onIsSelectedChanged: updateDetails();
function updateDetails() {
if (!root.mouseTracking && componentIsCompleted) {
if (isSelected) {
enableSelected(0, 0);
@@ -307,7 +343,7 @@ Rectangle {
id: labels
width: 150
color: "#dcdcdc"
y: 12
y: 24
height: flick.height
property int rowCount: 5
@@ -329,6 +365,12 @@ Rectangle {
anchors.right: parent.right
color: "#cccccc"
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: root.hideRangeDetails();
}
}
//bottom border divider