/*! * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. * \copyright \n * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, \n * IN PART OR IN WHOLE, \n * WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. \n * * \file guiview.cpp * \date 2019/09/30 * \author Behrouz NematiPour * */ #include "guiview.h" // Project #include "guicontroller.h" // namespace using namespace Gui; /*! * \brief GuiView::GuiView * \param parent */ GuiView::GuiView(QQuickItem *parent) { Q_UNUSED(parent) initConnections(); } void GuiView::initConnections() { connect(_GuiController, SIGNAL(didActionReceive (GuiActionType, GuiActionData)), this , SLOT( onActionReceive (GuiActionType, GuiActionData))); // since we don't have access to GuiView object because it is created in Qml. // Connection to the GuiController made here // It should be defined in the class which wants to connect to signal. connect(this , SIGNAL(didActionTransmit(GuiActionType,const QByteArray &)), _GuiController, SLOT( doActionTransmit(GuiActionType,const QByteArray &))); } QByteArray GuiView::fromVariant(const QVariant &vData) { QByteArray mData; if(vData.type() == QVariant::String) { mData += vData.toByteArray(); } else { mData += vData.toUInt(); } return mData; } void GuiView::onActionReceive (GuiActionType vAction, GuiActionData vData) { // process the evaluation and notify GUI // process ... emit didActionReceive (vAction, vData); } void GuiView::doActionTransmit(GuiActionType vAction, const QVariantList &vData) { QByteArray mData; for (auto data: vData) { mData += fromVariant(data); } emit didActionTransmit(vAction, mData); } void GuiView::doActionTransmit(GuiActionType vAction, const QVariant &vData) { QByteArray mData = fromVariant(vData); emit didActionTransmit(vAction, mData); }