I am working on a project which has QML something like:
Item {
id: cameraButtonBar
...
Row {
Repeater {
id: repeaterId
model: cameraModel.cameraPositions()
Item {
Rectangle {
id: fullSelectedCameraMarker
...
visible: cameraButtonBar.checkCaptured(index, false, false)
}
Rectangle {
id: map1SelectedCameraMarker
...
visible: cameraButtonBar.checkCaptured(index, true, false)
}
Rectangle {
id: map2SelectedCameraMarker
...
visible: cameraButtonBar.checkCaptured(index, false, true)
}
}
}
}
}
In my script "checkCaptured" JavaScript:
function checkCaptured(idx, left, right) {
//Can't do anything until an image is selected
if ( root.selectedImageIdx >= 0 ) {
var chkItem = repeaterId.itemAt(idx);
if ( typeof chkItem === "object" ) {
var marker;
if ( left === false && right === false ) {
marker = chkItem.fullSelectedCameraMarker;
} else if ( left === true ) {
marker = chkItem.map1SelectedCameraMarker;
} else if ( right === true ) {
marker = chkItem.map2SelectedCameraMarker;
}
if ( marker !== undefined ) {
}
}
}
return false;
}
The above isn't correct and the question is, how to I access the rectangles using the IDs in each rectangle so I get the rectangle used in the repeater?