diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-10-27 23:17:48 +0200 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2017-11-14 22:27:58 +0900 |
commit | 3860063e579f29b95bc64f802480742c572f4907 (patch) | |
tree | c794d6bc5456ea28b96b3f6f3677ed6785735857 /app/qlibwindowmanager.cpp | |
parent | ddff06a62bdb66c50645a9c56d5959bc09193d9d (diff) |
Porting to new HMI Framework
Changes following guidelines given in "Kickstart: New HMI Framework"
document at:
https://wiki.automotivelinux.org/_media/kickstart_apps_migration_guide.pdf
Change-Id: Ifb298e09db821dba5dc1a28ad2d1c2193c511ee9
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Diffstat (limited to 'app/qlibwindowmanager.cpp')
-rw-r--r-- | app/qlibwindowmanager.cpp | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/app/qlibwindowmanager.cpp b/app/qlibwindowmanager.cpp new file mode 100644 index 0000000..370f9f7 --- /dev/null +++ b/app/qlibwindowmanager.cpp @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2017 TOYOTA MOTOR CORPORATION + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "qlibwindowmanager.h" +#include <QDebug> +#include <unistd.h> + +int QLibWindowmanager::init(int port, const QString &token) { + std::string ctoken = token.toStdString(); + return this->wm->init(port, ctoken.c_str()); +} + +int QLibWindowmanager::requestSurface(json_object *label) { + applabel = json_object_get_string(label); + + json_object *obj = json_object_new_object(); + json_object_object_add(obj, wm->kKeyDrawingName, label); + return this->wm->requestSurface(obj); +} + +int QLibWindowmanager::activateSurface(json_object *label) { + qDebug() << "activateSurface applabel: " << applabel.c_str(); + json_object *obj = json_object_new_object(); + qDebug() << "DrawingName: " << wm->kKeyDrawingName; + json_object_object_add(obj, wm->kKeyDrawingName, label); + qDebug() << "DrawingArea: " << wm->kKeyDrawingArea; + json_object_object_add(obj, wm->kKeyDrawingArea, json_object_new_string("normal.full")); + qDebug() << "obj pointer: " << obj; + qDebug() << "activateSurface end obj: " << json_object_get_string(obj); + + return this->wm->activateSurface(obj); +} + +int QLibWindowmanager::deactivateSurface(json_object *label) { + json_object *obj = json_object_new_object(); + json_object_object_add(obj, wm->kKeyDrawingName, label); + return this->wm->deactivateSurface(obj); +} + +int QLibWindowmanager::endDraw(json_object *label) { + json_object *obj = json_object_new_object(); + qDebug() << "endDraw label: " << json_object_get_string(label); + json_object_object_add(obj, wm->kKeyDrawingName, label); + return this->wm->endDraw(obj); + } + +void QLibWindowmanager::set_event_handler(enum QEventType et, + handler_fun f) { + LibWindowmanager::EventType wet = (LibWindowmanager::EventType)et; + return this->wm->set_event_handler(wet, std::move(f)); +} + +void QLibWindowmanager::slotActivateSurface(){ + if(!isActive){ + qDebug("Let's show HVAC"); + isActive = true; + qDebug() << "slotActivateSurface applabel: " << applabel.c_str(); + this->activateSurface(json_object_new_string(applabel.c_str())); + } +} + +QLibWindowmanager::QLibWindowmanager(QObject *parent) + :QObject(parent), isActive(false) +{ + wm = new LibWindowmanager(); +} + +QLibWindowmanager::~QLibWindowmanager() { } |