import QtQuick.Layouts 1.1
import QtQuick.Controls 2.0
import AGL.Demo.Controls 1.0
+import OnScreenModel 1.0
Window {
id: root
height: 1488
color: '#00000000'
- function qmlLoader(url) {
- console.log(qsTr('onscreenapp >>> qmlLoader load ' + url));
- osLoader.source = url;
- }
+ Onscreen {
+ id: ons
+ anchors.centerIn: parent
+ visible: true
+ scale: 0
+
+ property string dsp_sts: "hide"
+ property string dsp_title: ""
+ property string dsp_icon: ""
+ property string dsp_contents: ""
+ property int btnNum: 0
+ property string btn1Name: ""
+ property string btn2Name: ""
+ property string btn3Name: ""
- function qmlOnScreenParameter(text) {
- console.log(qsTr('onscreenapp >>> qmlOnScreenParameter.' + text));
- if (osLoader.status == Loader.Ready) {
- // call qmlOnScreenParameter in qml to post parameter which from application
- if (osLoader.item && osLoader.item.qmlOnScreenParameter) {
- osLoader.item.qmlOnScreenParameter(text);
+ states: [
+ State {
+ name: 'active'
+ when: ons.dsp_sts == "show"
+ PropertyChanges {
+ target: ons
+ scale: 1
+ z: 1
+ }
+ },
+ State {
+ name: 'inactive'
+ when: ons.dsp_sts == "hide"
+ PropertyChanges {
+ target: ons
+ scale: 0
+ z: -1
+ }
+ }
+ ]
+ transitions: Transition {
+ NumberAnimation {
+ properties: 'scale';
+ duration: 300;
+ easing.type: Easing.Linear
+ alwaysRunToEnd: true
}
}
- else {
- console.log("osLoader.status is not ready")
+ }
+
+ OnScreenModel {
+ id: onscreenModel
+ }
+
+ Timer {
+ id: ons_timer
+ interval: 3000
+ onTriggered: {
+ hideOnScreen();
+ clearOnScreenModel();
}
}
- Loader {
- objectName: "loaderObject"
- id: osLoader
- anchors.centerIn: parent
- width: childrenRect.width
- height: childrenRect.height
+ Connections {
+ target: ons
+ onScaleChanged : {
+ if(ons.scale == 0) {
+ console.log(qsTr('hide animation finished'));
+ eventHandler.deactivateWindow();
+ }
+ }
+ }
+
+ function showOnScreen() {
+ console.log(qsTr('show onscreenapp'));
+ ons.dsp_title = onscreenModel.getTitle()
+ ons.dsp_icon = "../images/" + onscreenModel.getType() + ".svg"
+ ons.dsp_contents = onscreenModel.getContents()
+ ons.btnNum = onscreenModel.buttonNum()
+ ons.btn1Name = onscreenModel.buttonName(0)
+ ons.btn2Name = onscreenModel.buttonName(1)
+ ons.btn3Name = onscreenModel.buttonName(2)
+ ons_timer.running = ons.btnNum > 0 ? false : true
+ ons.dsp_sts = "show"
+ }
+
+ function hideOnScreen() {
+ console.log(qsTr('hide onscreenapp'));
+ ons.dsp_sts = "hide"
+ ons_timer.running = false
+ }
+
+ function setOnScreenModel(data) {
+ console.log(qsTr('onscreenapp >>> setModel status: ' + data));
+ onscreenModel.setModel(data)
}
}