/*!
 *
 * Copyright (c) 2021-2023 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    PreTreatmentUltrafiltration.qml
 * \author  (last)      Behrouz NematiPour
 * \date    (last)      31-Mar-2023
 * \author  (original)  Behrouz NematiPour
 * \date    (original)  18-Mar-2021
 *
 */

// Qt
import QtQuick 2.12

// Project
//  Qml imports
import "qrc:/globals"
import "qrc:/components"
import "qrc:/pages/pretreatment"

/*!
 * \brief   Pre-Treatment ultrafiltration screen
 * \details which contains a slider to let user set the ultratiltration volume.
 */
PreTreatmentBase { id: _root
    objectName: "_PreTreatmentUltrafiltration"

    property alias  ufVolume    : _volumeSlider.value

    header.confirmEnabled: _volumeSlider.isActive

    Text { id: _textLabel
        visible : true
        color   : Colors.textMain
        text    : qsTr("Ultrafiltration Volume") + " " + Variables.unitTextUltrafiltrationVolume
        font {
            pixelSize  : Fonts.fontPixelCreateTreatment
        }
        anchors {
            left            : _volumeSlider.left
            bottom          : _volumeSlider.top
            bottomMargin    : 45
        }
    }

    Text { id: _textValue
        visible : true
        color   : Colors.textMain
        text    : _root.ufVolume.toFixed(Variables.ultrafiltrationPrecision)
        font {
            pixelSize  : Fonts.fontPixelCreateTreatment
        }
        anchors {
            right           : _volumeSlider.right
            bottom          : _volumeSlider.top
            bottomMargin    : 45
        }
    }

    Slider { id: _volumeSlider
        objectName: "_volumeSlider"
        anchors {
            horizontalCenter: parent.horizontalCenter
            top: parent.top
            topMargin: 425
        }
        isActive: false
        width   : Variables.ultrafiltrationProgressbarWidth
        step    : 0.100
        stepSnap: true
        ticks   : true
        diameter: Variables.sliderCircleDiameter
        decimal : Variables.ultrafiltrationPrecision
        minimum : Variables.ultrafiltrationMinDef
        maximum : vTreatmentRanges.treatmentRanges_Ultrafiltration_Volume_Max
        minText.font.pixelSize: Fonts.fontPixelFluidText
        maxText.font.pixelSize: Fonts.fontPixelFluidText
        onPressed: isActive = true
    }

    SliderArrows{ id:_sliderArrows
        anchors.verticalCenter  : _volumeSlider.verticalCenter
        anchors.left            : _volumeSlider.right
        anchors.leftMargin      : Variables.sliderAdjustButtonLeftMargin

        onIncrementValue        : {
            _volumeSlider.incrementValue(true)
            _volumeSlider.isActive = true
        }
        onDecrementValue        : {
            _volumeSlider.decrementValue(true)
            _volumeSlider.isActive = true
        }
    }

}
