import QtQuick

Window {
    width: 500
    height: 520
    visible: true
    property alias rectangle1Borderwidth: rectangle1.border.width
    title: qsTr("Hello World")

    ListModel{
        id:sudokuModel
        Component.onCompleted:{
            let board =[
                5, 3, 0, 0, 7, 0, 0, 0, 0,
                6, 0, 0, 1, 9, 5, 0, 0, 0,
                0, 9, 8, 0, 0, 0, 0, 6, 0,
                8, 0, 0, 0, 6, 0, 0, 0, 3,
                4, 0, 0, 8, 0, 3, 0, 0, 1,
                7, 0, 0, 0, 2, 0, 0, 0, 6,
                0, 6, 0, 0, 0, 0, 2, 8, 0,
                0, 0, 0, 4, 1, 9, 0, 0, 5,
                0, 0, 0, 0, 8, 0, 0, 7, 9
            ];
            for (let i = 0; i < 81; i++) {
                sudokuModel.append({ value: board[i], isFixed: board[i] !== 0 });
            }
        }
    }


    Grid {
        id: grid
        width: 378
        height: 361
        anchors.verticalCenter: row.verticalCenter
        anchors.left: row.right
        anchors.right: row.left
        anchors.top: row.bottom
        anchors.bottom: row.top
        anchors.leftMargin: -386
        anchors.rightMargin: -394
        anchors.topMargin: -418
        anchors.bottomMargin: 6
        anchors.horizontalCenter: row.horizontalCenter
        spacing: 2
        rows: 3
        columns: 3

        Repeater {
            id: repeater
            x: 50
            y: 60
            width: 400
            height: 600
            visible: true
            model: 9


            Rectangle {
                id: rectangle
                width: 120
                height: 120
                color: "#ffffff"
                border.color: "#ee040b27"
                border.width: 2

                property int blockIndex:index
                Grid {
                    id: grid1
                    x: 0
                    y: 0
                    width: 120
                    height: 120
                    spacing: 0
                    rows: 3
                    columns: 3
                    property int blockIndex:parent.blockIndex
                    Repeater {
                        id: repeater1
                        width: 120
                        height: 120
                        model: 9

                        Rectangle {
                            id: rectangle2
                            width: 40
                            height: 40
                            color: "#ffffff"
                            border.width: 1
                            property int globalIndex:
                                1+Math.floor(parent.blockIndex / 3) * 27 + (parent.blockIndex % 3) * 3 + Math.floor(index / 3) * 9 + (index % 3)

                            Text {
                                anchors.fill:parent
                                horizontalAlignment: Text.AlignHCenter
                                verticalAlignment: Text.AlignVCenter
                                id: table_key
                                x: 0
                                y: 0
                                text:parent.globalIndex
                            }

                        }
                    }
                }
            }
        }
    }







    Row {
        id: row
        x: 39
        y: 440
        width: 419
        height: 40
        spacing: 6

        Repeater {
            model: 9
            Rectangle {
                width: 40
                height: 40
                color: "lightgray"
                border.color: "#ee040b27"
                border.width: 2
                anchors.margins: 5  // 让边框有空间显示

                Text {
                    anchors.fill:parent
                    text: index+1
                    horizontalAlignment: Text.AlignHCenter
                    verticalAlignment: Text.AlignVCenter
                }
            }
        }
    }


}