Hii,

Originally Posted by
anda_skoa
you could store the current main menu delegete index in the sub item delegetes as part of the initialization in the loader
_
How can I do it, Could you give me an example ??
Component {
// main menu delegete
id: categoryDelegate
Column {
Rectangle {
...
MouseArea {
onClicked: {
console.log(menuModel.get(index))
}
}
}
Loader {
id: subItemLoader
// This is a workaround for a bug/feature in the Loader element. If sourceComponent is set to null
// the Loader element retains the same height it had when sourceComponent was set. Setting visible
// to false makes the parent Column treat it as if it's height was 0.
visible: !collapsed
property variant subItemModel : subItems
sourceComponent: collapsed ? null : subItemColumnDelegate
onStatusChanged: if (status == Loader.Ready) item.model = subItemModel
}
}
}
Component {
// sub menu delegete
id: subItemColumnDelegate
Column {
property alias model : subItemRepeater.model
Repeater {
id: subItemRepeater
delegate: Rectangle {
...
MouseArea {
onClicked:{
if(menuModel.get(index)){
switch(index) {
case 0:
stack.push(view1)
break;
case 1:
stack.push(view2)
break;
}
}
}
}
}
Component {
// main menu delegete
id: categoryDelegate
Column {
Rectangle {
...
MouseArea {
onClicked: {
console.log(menuModel.get(index))
}
}
}
Loader {
id: subItemLoader
// This is a workaround for a bug/feature in the Loader element. If sourceComponent is set to null
// the Loader element retains the same height it had when sourceComponent was set. Setting visible
// to false makes the parent Column treat it as if it's height was 0.
visible: !collapsed
property variant subItemModel : subItems
sourceComponent: collapsed ? null : subItemColumnDelegate
onStatusChanged: if (status == Loader.Ready) item.model = subItemModel
}
}
}
Component {
// sub menu delegete
id: subItemColumnDelegate
Column {
property alias model : subItemRepeater.model
Repeater {
id: subItemRepeater
delegate: Rectangle {
...
MouseArea {
onClicked:{
if(menuModel.get(index)){
switch(index) {
case 0:
stack.push(view1)
break;
case 1:
stack.push(view2)
break;
}
}
}
}
}
To copy to clipboard, switch view to plain text mode
Cheers,
Bookmarks