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

// Qt
import QtQuick 2.12

// Project

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

/*!
 * \brief   Treatment Screen Fluid Management section
 */
TouchArea { id: _root
    x       : 0
    y       : 0
    width   : 200
    height  : 200
    isTouchable: false
    title: qsTr("FLUID MANAGEMENT")

    property int rowTextSpacing : 10
    property int volumeTextWidth: 60

    property bool cumulativeVisible: true

    // may need to be removed later when created separate Saline/Heparin object
    property string buttonText: ""

    TouchRect { id: _startButton
        y       : 45
        width   : 340
        height  : 55
        text.text: buttonText
        text.font {
            weight: Font.DemiBold
            pixelSize       : 20
            letterSpacing   :  3
        }
        animated: true
        duration: 100
    }

    ProgressBar { id: _fluidProgressBar
        anchors {
            top: _startButton.bottom
            topMargin: 50
        }
        width   : parent.width
        height  : Variables.progressbarFluidHeight
        minText.visible : false
        maxText.visible : false
        marker.visible  : false

        value   : 0

        Text { id: _fluidText
            anchors {
                left        : parent.left
                bottom      : parent.bottom
                bottomMargin: 15
            }
            width: parent.width
            text: qsTr("Volume Delivered")
            font.pixelSize: Fonts.fontPixelFluidText
            color: Colors.fluidText
            Text { id: _fluidVolume
                width: volumeTextWidth
                anchors {
                    right: parent.right
                    baseline: parent.baseline
                }
                text: qsTr("(100 mL)")
                font.pixelSize: Fonts.fontPixelFluidVolume
                color: Colors.fluidUnit
            }
            Text { id: _fluidUnit
                anchors {
                    right: parent.right
                    rightMargin: volumeTextWidth + rowTextSpacing
                    baseline: parent.baseline
                }
                text: qsTr("mL")
                font.pixelSize: Fonts.fontPixelFluidUnit
                color: Colors.fluidUnit
            }
            Text { id: _fluidValue
                anchors  {
                    right: _fluidUnit.left
                    rightMargin: rowTextSpacing
                    baseline: parent.baseline
                }
                horizontalAlignment: Text.AlignRight
                text: _fluidProgressBar.value
                width: 60
                font.pixelSize: Fonts.fontPixelFluidValue
                color: Colors.fluidText
            }
        }
    }
    Text { id: _cumulativeText
        visible: cumulativeVisible
        anchors {
            left        : parent.left
            top         : _fluidProgressBar.bottom
            topMargin   : 15
        }
        width: parent.width
        text: qsTr("Cumulative Delivery")
        font.pixelSize: Fonts.fontPixelFluidText
        color: Colors.fluidText
        Text { id: _cumulativeUnit
            anchors {
                right: parent.right
                rightMargin: volumeTextWidth + rowTextSpacing
                baseline: parent.baseline
            }
            text: qsTr("mL")
            font.pixelSize: Fonts.fontPixelFluidUnit
            color: Colors.fluidUnit
        }
        Text { id: _cumulativeValue
            property int valueLast  : 0 // needs to be bound to a model to keep cumulative value
            property int value      : 0 // needs to be bound to a model to keep cumulative value
            anchors  {
                right: _cumulativeUnit.left
                rightMargin: rowTextSpacing
                baseline: parent.baseline
            }
            horizontalAlignment: Text.AlignRight
            text: value
            width: 60
            font.pixelSize: Fonts.fontPixelFluidValue
            color: Colors.fluidText
        }
    }
}
