I want to create objects like AppButton or switch to SimpleRow in the AppListView depending of value in array.
To create object I use Qt.createComponent in function giveMeComp(idx).
I have error: ReferenceError: myItemId is not defined. I don’t know want why.
My code:
SimpleRowButton.qml
import Felgo 3.0
import QtQuick 2.9
Component{
SimpleRow {
text: "name";
AppButton{
text: "aaaa"
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: dp(10)
Component.onCompleted: {
console.log(myIndex)
console.log("Przycisk")
//myIndex++;
}
}
Component.onCompleted: {
console.log("bbb"+switchsSettingsLogicArray[myIndex])
//console.log(myIndex)
myIndex++
}
}
}
SimpleRowSwitch:
import Felgo 3.0
import QtQuick 2.9
Component{
SimpleRow {
text: "name";
AppSwitch{
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: dp(10)
Component.onCompleted: {
console.log(myIndex)
if(switchsSettingsLogicArray[myIndex]===1){
checked=true
} else {
checked=false
}
//myIndex++;
}
onToggled: {
console.log(myIndex)
}
}
Component.onCompleted: {
console.log("a"+switchsSettingsLogicArray[myIndex])
//console.log(myIndex)
myIndex++
}
}
}
Main.qml:
import Felgo 3.0
import QtQuick 2.9
import "Cr1.js" as MyScript
App {
//var appswitchs = {id: 1, value: false; id: 2, value: false};
id: app
property var switchsSettingsLogicArray: [0,0,1,1,1,0,0,1,1]
property var typeOfElementsInSettings: ['switch','switch','button','switch','button','switch','switch','switch']
property var firstRun
property int myIndex: 0
Navigation{
NavigationItem{
title: "Listy"
icon: IconType.checkcircle
NavigationStack{
Page{
id: task1
navigationBarTranslucency: 0.0
title: "Listy"
SearchBar {
id: searchBarThreads
onAccepted: {
}
}
}
}
}
NavigationItem{
title: "Konto użytkownika"
icon: IconType.user
NavigationStack{
Page{
title: "Konto użytkownia"
}
}
}
NavigationItem{
title: "Ustawienia"
icon: IconType.cogs
NavigationStack{
Page{
title: "Ustawienia"
/*ListView {
id: listme
spacing: 30;
model: [1,0,1]
delegate:comp
Component.onCompleted: {
console.log("gg")
}
width: 640
height: 100
}*/
AppListView{
id: listme
model: ListModel{
ListElement{
type: "category 1"; name: "option 1"
}
ListElement{
type: "category 1"; name: "option 2"
}
ListElement{
type: "category 2"; name: "option 3"
}
ListElement{
type: "category 2"; name: "option 4"
}
}
section.property: "type"
section.delegate: SimpleSection{
title: section
enabled: true
Component.onCompleted: {
console.log("SimpleSection")
}
}
delegate: SimpleRow{
text: name
Component{
id: comp
Item {
id: myItemId
width: 200
height: 100
function giveMeComp(idx){
var mycomponent;
console.log(index)
switch(idx){
case 0:
mycomponent = Qt.createComponent("SimpleRowButton.qml")
if(mycomponent==null)console.log("Error creating component");
break;
case 1:
mycomponent = Qt.createComponent("SimpleRowButton.qml")
if(mycomponent==null)console.log("Error creating component");
break;
default :
mycomponent = Qt.createComponent("SimpleRowButton.qml")
if(mycomponent==null)console.log("Error creating component");
break;
}
var obj = mycomponent.createObject(myItemId)
if (obj == null) {
console.log("Error creating object");
}
console.log(mycomponent)
return mycomponent;
}
}
}
Component.onCompleted: {
myItemId.giveMeComp(index+"aasa");
console.log("I"+width)
console.log("I"+height)
}
}
}
}
}
onSelected: {
//console.log("selected")
}
Component.onCompleted: {
//console.log("Zrobiono")
}
}
}
function init(){
console.log("initialization...")
}
Component.onCompleted: {
app.settings.clearAll()
if(app.settings.getValue("firstRun") === undefined){
console.log("firstRun: false")
init()
app.settings.setValue("firstRun", false)
}
}
}
Do you have any idea?