From f218378453cc391437efe6aa51112b12591a982e Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Fri, 27 Oct 2017 23:17:48 +0200 Subject: Porting to new HMI Framework Change-Id: Ifb298e09db821dba5dc1a28ad2d1c2193c511ee9 Signed-off-by: Romain Forlot --- app/qlibwindowmanager.cpp | 81 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 app/qlibwindowmanager.cpp (limited to 'app/qlibwindowmanager.cpp') 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 +#include + +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() { } -- cgit 1.2.3-korg