@startuml title Treatment Adjustment Ultrafiltration Layouts package "TreatmentStack : StackItem" as TreatmentStack { package "TreatmentAdjustmentUltrafiltration : TreatmentAdjustmentBase" as TreatmentAdjustUf { Rectangle "StackItem" as UfStackItem #line:red;line.dashed { package "TreatmentAdjustmentUltrafiltrationStart : Item" as UfStart { package "TreatmentAdjustmentUltrafiltrationMetrics" as UfStartMetrics #AliceBlue { [vTreatmentUltrafiltration.setVolume] as UfStartMetricsSetVolume [vTreatmentUltrafiltration.volumeRemoved] as UfStartMetricsVolumeRemoved } Rectangle "Item" as VolumeProgressItem #line:red;line.dashed { package "ProgressBarEx" as UfProgressBar #APPLICATION { [vTreatmentRanges.treatmentRanges_Ultrafiltration_Volume_Min] as VolumeProgressVolumeMin [vTreatmentUltrafiltration.setVolume] as VolumeProgressSetVolume [vTreatmentUltrafiltration.volumeRemoved] as VolumeProgressVolumeRemoved } } Rectangle "Row" as ButtonRow #line:red;line.dashed { package "TouchRect" as ResumeButton #APPLICATION { Rectangle "Pause/Resume" as ResumeButtonText { } } package "TouchRect" as EditUfButton #APPLICATION { Rectangle "Edit" as EditUfButtonText { } } package "TouchRect" as IsolatedUsfButton #APPLICATION { Rectangle "Isolated UF" as IsolatedUfButtonText { } } } UfStartMetrics -[hidden]down- VolumeProgressItem VolumeProgressItem -[hidden]down-- ButtonRow } package "TreatmentAdjustmentUltrafiltrationEdit : Item" as UfEdit { package "TreatmentAdjustmentUltrafiltrationMetrics" as UfEditMetrics #AliceBlue { [vTreatmentUltrafiltration.setVolume] as UfEditMetricsSetVolume [vTreatmentUltrafiltration.volumeRemoved] as UfEditMetricsVolumeRemoved } Rectangle "Item" as EditSliderItem #line:red;line.dashed { package "ProgressBar" as UfEditProgressBar #APPLICATION { [vTreatmentRanges.treatmentRanges_Ultrafiltration_Volume_Min] as EditVolumeMin [vTreatmentRanges.treatmentRanges_Ultrafiltration_Volume_Max] as EditVolumeMax package "Rectangle" as UfEditProgressBarFill { package "RangeMarker" as UfEditRangeMarker { [vTreatmentUltrafiltration.volumeRemoved] as EditVolumeRemoved } } EditVolumeMin -[hidden]down- UfEditProgressBarFill } package "LabelUnitContainer" as UfVolumeGoalContainer { package "ValueAdjuster" as UfVolumeGoalAdjuster { [vTreatmentUltrafiltration.setVolume] as EditSetVolume } } UfEditProgressBar -[hidden]down-- UfVolumeGoalContainer } package "TouchRect" as ContinueButton #APPLICATION { Rectangle "Continue" as ContinueButtonText { } } UfEditMetrics -[hidden]down- EditSliderItem EditSliderItem -[hidden]down---- ContinueButton } package "TreatmentAdjustmentUltrafiltrationConfirm : Item" as UfConfirm { Rectangle "Row" as UfConfirmRow #line:red;line.dashed { package "LabelUnitContainer" as UfNewVolume { [vTreatmentAdjustmentUltrafiltrationEdit.volume] as UfConfirmVolume } package "LabelUnitContainer" as UfNewRate { [vTreatmentAdjustmentUltrafiltrationEdit.rate] as UfConfirmRate } } package "TouchRect" as ConfirmButton #APPLICATION { Rectangle "Confirm" as ConfirmButtonText { } } UfConfirmRow -[hidden]- ConfirmButton } } UfStart -[hidden]right- UfEdit UfEdit -[hidden]right- UfConfirm } } @enduml