/*!
 *
 * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved.
 * \copyright
 * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN
 * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER.
 *
 * \file TreatmentAdjustmentDuration.qml
 * \author (last) Behrouz NematiPour
 * \date (last) 16-Oct-2020
 * \author (original) Behrouz NematiPour
 * \date (original) 27-Apr-2020
 *
 */

// Qt
import QtQuick 2.12

// Project

//  Qml imports
import "qrc:/globals"
import "qrc:/components"

/*!
 * \brief   TreatmentAdjustmentDuration.qml is the screen
 *          To adjust the treatment duration
 */
TreatmentAdjustmentBase { id: _root
    contentItem.objectName: "TreatmentAdjustmentDuration"  //SquishQt testability

    /* -- */ property alias durationValue   : _durationSlider.value
    readonly property alias durationMinimum : _durationSlider.minimum
    readonly property alias durationMaximum : _durationSlider.maximum
    readonly property alias durationStep    : _durationSlider.step

    readonly property alias currentTime     : _currentTimeText.seconds
    readonly property alias durationTime    : _durationText.seconds

    property int   textWidth       : 200

    titleText: qsTr("TREATMENT DURATION")

    Column { id : _column
        spacing: 65
        anchors.centerIn: parent
        TimeText { id: _currentTimeText
            seconds: vTreatmentTime.time_Elapsed
            secondsVisible: true
            textPixelSize: Fonts.fontPixelDurationCurTime
            anchors.horizontalCenter: parent.horizontalCenter
        }
        Slider { id : _durationSlider
            anchors.horizontalCenter: parent.horizontalCenter
            width   : 880
            height  :   5
            minimum : vTreatmentRanges.treatmentRanges_Duration_Min //  in Minutes
            maximum : vTreatmentRanges.treatmentRanges_Duration_Max //  in Minutes
            step    : Variables.durationResolution
            stepSnap: true
            minText.visible: false
            maxText.visible: false
            ticks: true
            TimeText { id: _durationText
                seconds: 60 * _durationSlider.value // in Minutes => to Seconds
                secondsVisible: false
                textPixelSize: Fonts.fontPixelDurationAdjTime
                textWeight: Font.Medium
                anchors {
                    top             : _durationSlider.handler.bottom
                    topMargin       : 10
                    horizontalCenter: _durationSlider.handler.horizontalCenter
                }
            }
        }
    }
}
