80c3d77ce278604aa9c88ca9339dff292b38e1ca
[apps/mixer.git] / app / Mixer.qml
1 /*
2  * Copyright 2016 Konsulko Group
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 import QtQuick 2.6
18 import QtQuick.Layouts 1.1
19 import QtQuick.Controls 2.0
20 import AGL.Demo.Controls 1.0
21 import Mixer 1.0
22
23 import QtQuick.Window 2.13
24
25 ApplicationWindow {
26         // ----- Signals
27
28         // ----- Properties
29         property Component volumeSlider
30
31         // ----- Setup
32         id: root
33         width: Screen.width * roles.scale
34         height: Screen.height * roles.scale
35
36         // ----- Childs
37         Label {
38                 id: title
39                 font.pixelSize: 48
40                 text: "Mixer"
41                 anchors.horizontalCenter: parent.horizontalCenter
42         }
43
44         Mixer {
45                 signal sliderVolumeChanged(string role, int value)
46
47                 id: mixer
48
49                 Component.onCompleted: {
50                         mixer.open(bindingAddress);
51                 }
52         }
53
54         ListView {
55                 id: roles
56                 model: mixer.roles
57                 //scale: scale_factor
58                 scale: 1
59
60                 anchors.margins: 80
61                 anchors.top: title.bottom
62                 anchors.left: parent.left
63                 anchors.right: parent.right
64                 anchors.bottom: parent.bottom
65                 spacing: 10
66
67                 delegate: VolumeSlider {}
68         }
69 }