Ubuntu Pastebin

Paste from mcphail at Tue, 21 Apr 2015 20:52:22 +0000

Download as text
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
import QtQuick 2.0
import Ubuntu.Components 1.1
import Qt.labs.settings 1.0
import Ubuntu.Components.Pickers 1.0


/*!
    \brief MainView with Tabs element.
                           First Tab has a single Label and
                                                                                               second Tab has a single ToolbarAction.
                                                                                                                                                                                                                                          */
MainView {
    // objectName for functional testing purposes (autopilot-qt5)
    objectName: "mainView"

    // Note! applicationName needs to match the "name" field of the click manifest
    applicationName: "bed2gy.njmcphail"

    /*
                     This property enables the application to change orientation
                                                                 when the device is rotated. The default is false.
                                                                                                                                                          */
    //automaticOrientation: true

    // Removes the old toolbar and enables new features of the new header.
    useDeprecatedToolbar: false

    width: units.gu(75)
    height: units.gu(100)

    Page {
        title: i18n.tr("BED in 2Gy/# Calculator")

        Settings {
            property alias disclaimer_accepted: accepted.checked
        }

        Column {
            id: disclaimer
            visible: !(accepted.checked)
            Label {
                text: i18n.tr("blah")
            }
            CheckBox {
                id: accepted
                checked: false
            }
        }

        Column {
            id: ui
            visible: accepted.checked

            function calculate() {
                var total_dose = td.selectedIndex + 1
                var fractions = fract.selectedIndex + 1
                var alphabeta = (ab.selectedIndex + 1) / 10
                var dose_per_fraction = total_dose / fractions

                var equiv = total_dose * (alphabeta + dose_per_fraction) / (2 + alphabeta)

                result.text = Math.round(equiv * 100) / 100
            }

            Row {

                spacing: units.gu(2)
                Picker {
                    id: td
                    model: Array.apply(0, Array(80)).map(function (x, y) {
                        return y + 1
                    })
                    delegate: PickerDelegate {
                        Label {
                            text: modelData
                            anchors.centerIn: parent
                        }
                    }
                    circular: false
                    onSelectedIndexChanged: ui.calculate()
                }

                Picker {
                    id: fract
                    model: Array.apply(0, Array(80)).map(function (x, y) {
                        return y + 1
                    })
                    delegate: PickerDelegate {
                        Label {
                            text: modelData
                            anchors.centerIn: parent
                        }
                    }
                    circular: false
                    onSelectedIndexChanged: ui.calculate()
                }

                Picker {
                    id: ab
                    model: Array.apply(0, Array(160)).map(function (x, y) {
                        return (y + 1) / 10
                    })
                    delegate: PickerDelegate {
                        Label {
                            text: modelData
                            anchors.centerIn: parent
                        }
                    }
                    circular: false
                    onSelectedIndexChanged: ui.calculate()
                }

                AutoRangePicker {

                }
            }
            Label {
                id: result
                text: ui.calculate()
            }
        }
    }
}
Download as text