/*
 * Copyright (C) 2016 The Qt Company Ltd.
 * Copyright (c) 2019 TOYOTA MOTOR CORPORATION
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import QtQuick 2.6
import QtQuick.Layouts 1.1
import QtQuick.Controls 2.0
import AGL.Demo.Controls 1.0
import Translator 1.0
import 'api' as API

ApplicationWindow {
    id: root

    width: container.width * container.scale
    height: container.height * container.scale

    Translator {
        id: translator
        language: binding.language
    }

	API.Binding {
		id: binding
		url: bindingAddress
		onFanSpeedChanged: fanSpeedSlider.value = fanSpeed
		onLanguageChanged: translator.language = language
	}

    Item {
        id: container
//        anchors.centerIn: parent
        x: 555
        y: -465
        width: 720
        height: 1920
        rotation: -90
        scale: screenInfo.scale_factor()

    ColumnLayout {
        anchors.fill: parent
        anchors.topMargin: width / 10
        anchors.bottomMargin: width / 10

        RowLayout {
            Layout.fillHeight: true
            Layout.alignment: Qt.AlignHCenter
            Image {
                source: './images/HMI_HVAC_Fan_Icon.svg'
            }
            Item {
                width: container.width * 0.8
                Slider {
                    id: fanSpeedSlider
                    anchors.left: parent.left
                    anchors.right: parent.right
                    anchors.verticalCenter: parent.verticalCenter
                    from: 0.0
                    to: 255.0
                    stepSize: 1.0
                    onValueChanged: {
                        binding.fanSpeed = value
                    }
                }
                Label {
                    anchors.left: fanSpeedSlider.left
                    anchors.top: fanSpeedSlider.bottom
                    font.pixelSize: 32
                    text: translator.translate(qsTr('FAN SPEED'), translator.language)
                }
            }
        }
        RowLayout {
            Layout.fillHeight: true
            Layout.fillWidth: true
            Layout.alignment: Qt.AlignHCenter
            rotation: 90
            spacing: 20
            ColumnLayout {
                Layout.fillWidth: true
                spacing: 20
                SeatHeatButton {
                    id: leftSeat
                    side: 'Left'
                }
                HeatDegree {
                    onCurrentItemChanged: {
                    console.log("Left Temp changed",degree)
                    binding.leftTemperature = degree
                    }
                }
            }
            ColumnLayout {
                Layout.fillWidth: true
                spacing: 20
                ToggleButton {
                    onImage: './images/HMI_HVAC_Active.svg'
                    offImage: './images/HMI_HVAC_Inactive.svg'
                    Label {
                        anchors.centerIn: parent
                        color: parent.checked ? '#00ADDC' : '#848286'
                        text: translator.translate(qsTr('A/C'), translator.language)
                        font.pixelSize: parent.height / 3
                    }
                    onCheckedChanged: {
                        console.debug('A/C', checked)
                    }
                }
                ToggleButton {
                    onImage: './images/HMI_HVAC_Active.svg'
                    offImage: './images/HMI_HVAC_Inactive.svg'
                    Label {
                        anchors.centerIn: parent
                        color: parent.checked ? '#00ADDC' : '#848286'
                        text: translator.translate(qsTr('AUTO'), translator.language)
                        font.pixelSize: parent.height / 3
                    }
                    onCheckedChanged: {
                        console.debug('AUTO', checked)
                    }
                }
                ToggleButton {
                    onImage: './images/HMI_HVAC_Circulation_Active.svg'
                    offImage: './images/HMI_HVAC_Circulation_Inactive.svg'
                    onCheckedChanged: {
                        console.debug('Circulation', checked)
                    }
                }
            }

            ColumnLayout {
                Layout.fillWidth: true
                spacing: 20
                SeatHeatButton {
                    id: rightSeat
                    side: 'Right'
                }
                HeatDegree {
                    onCurrentItemChanged: {
                        console.log("Right Temp changed",degree)
                        binding.rightTemperature = degree
                    }
                }
            }
        }
        RowLayout {
            Layout.fillHeight: true
            Layout.alignment: Qt.AlignHCenter
            Repeater {
                model: ['AirDown', 'AirUp', 'AirRight', 'Rear', 'Front']
                ToggleButton {
                    onImage: './images/HMI_HVAC_%1_Active.svg'.arg(model.modelData)
                    offImage: './images/HMI_HVAC_%1_Inactive.svg'.arg(model.modelData)
                    rotation: 90
                    onCheckedChanged: {
                        console.debug(model.modelData, checked)
                    }
                }
            }
        }
    }
}
}