forked from qt-creator/qt-creator
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user