X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=sample%2Fapp%2Fmain.qml;h=b545c5375bdce764694504808e7f7e4338784edb;hb=9e76cf1b66b40a0e502c667dbbf53164261956b5;hp=b9f415b0708edf81cb76607794aef7b63e9050cb;hpb=d53b7647a82fb3a8e42c191e2a325767e75a9062;p=apps%2Fonscreenapp.git diff --git a/sample/app/main.qml b/sample/app/main.qml index b9f415b..b545c53 100644 --- a/sample/app/main.qml +++ b/sample/app/main.qml @@ -7,8 +7,8 @@ import AGL.Demo.Controls 1.0 ApplicationWindow { id: root visible: true - width: 1080 - height: 1487 + width: Screen.width + height: Screen.height property string onsId: qsTr("onscreenapp") property string onsTitle: qsTr("One Button title") @@ -19,6 +19,15 @@ ApplicationWindow { property string onsButton3: qsTr("") property string postmsg: qsTr("") property string btndata: qsTr("") + property int pid: -1 + property bool onscreen_role_set: false + + property string mapp_id: '' + property string mapp_data_msg: '' + + // position of the pop-up + property int x: 200 + property int y: 200 Label { id: title @@ -37,24 +46,24 @@ ApplicationWindow { anchors.horizontalCenter: title.horizontalCenter // show received reply information area - Flickable { - id: flickable - width: 800 - height: 320 - Layout.alignment: Qt.AlignCenter - flickableDirection: Flickable.VerticalFlick - boundsBehavior: Flickable.StopAtBounds - - TextArea.flickable: TextArea { - id: output - text: "show received reply information area\n...\n...\n...\n...\n" - font.pixelSize: 24 - wrapMode: TextArea.Wrap - color: '#00ADDC' - } - - ScrollBar.vertical: ScrollBar { } - } + //Flickable { + // id: flickable + // width: 400 + // height: 220 + // Layout.alignment: Qt.AlignCenter + // flickableDirection: Flickable.VerticalFlick + // boundsBehavior: Flickable.StopAtBounds + + // TextArea.flickable: TextArea { + // id: output + // text: "show received reply information area\n...\n...\n...\n...\n" + // font.pixelSize: 12 + // wrapMode: TextArea.Wrap + // color: '#00ADDC' + // } + + // ScrollBar.vertical: ScrollBar { } + // } // select onscreen type area GroupBox { @@ -316,6 +325,26 @@ ApplicationWindow { onsButton3 = qsTr("") } + Timer { + id: activate_timer + interval: 500 + running: false + repeat: false + onTriggered: { + console.log("calling eventHandler.showWindow for " + mapp_id + " and data msg " + mapp_data_msg) + eventHandler.showWindow(mapp_id, mapp_data_msg) + mapp_id = '' + mapp_data_msg = '' + } + } + + + function armTimer(app_id, msg) { + mapp_id = app_id + mapp_data_msg = msg + activate_timer.running = true + } + function postMessage() { console.log("poster pressed") btndata = "" @@ -339,11 +368,42 @@ ApplicationWindow { else postmsg += "}" - eventHandler.showWindow(onsId, postmsg); + if (!onscreen_role_set) { + console.log("onscreen_role_set is not set") + eventHandler.set_window_popup(onsId, x, y) + console.log("setting for popup for " + onsId) + onscreen_role_set = true + } + + // if the application is not already started, start it + if (pid === -1) { + // if the application is not started, then the first time + // we start we also display it using the default policy engine + pid = eventHandler.start(onsId, postmsg) + console.log("calling eventHandler.start for " + onsId + " with pid " + pid) + + // this is necessary jus the first time as we don't queue the + // 'activate_app' event and pass it over once onscreenapp is + // started. It is implementation detail in case it is required + console.log("calling armTimer for " + onsId) + armTimer(onsId, postmsg) + } else { + // onscreenapp is already start we just need to activate + pass the data + if (!eventHandler.is_running(onsId) && pid > 0) { + // this is mostly for testing, in case onscreenapp died + // unexpectedly + eventHandler.set_window_popup(onsId, x, y) + pid = eventHandler.start(onsId, postmsg) + armTimer(onsId, postmsg) + } else { + eventHandler.showWindow(onsId, postmsg) + } + } + } function qmlOnReplyShowWindow(text) { console.log("onstestapp received:",text); - output.text = text; + //output.text = text; } }