Index: sources/gui/guiview.cpp =================================================================== diff -u -r5194f3afffb28dac90a7ca4153b6a0ca2f239387 -rc933552983a659ca4cc351ff4d43d07319adab1e --- sources/gui/guiview.cpp (.../guiview.cpp) (revision 5194f3afffb28dac90a7ca4153b6a0ca2f239387) +++ sources/gui/guiview.cpp (.../guiview.cpp) (revision c933552983a659ca4cc351ff4d43d07319adab1e) @@ -15,19 +15,49 @@ // Project #include "guicontroller.h" +#include "guiglobals.h" +// namespace using namespace Gui; -// We don't have access to view object since it has been created in the GUI -// So here connect to the controller which we have access to. -// Also here emit the controller signal since for the same reason. +/*! + * \brief GuiView::GuiView + * \param parent + */ GuiView::GuiView(QQuickItem *parent) { Q_UNUSED(parent) - connect(GuiController::I(), &GuiController::actionEvaluated, this, &GuiView::actionEvaluated); + initConnections(); } -void GuiView::notifyActionRequest(GuiAction vAction) +void GuiView::initConnections() { - emit GuiController::I()->actionRequested(vAction); + connect(_GuiController, SIGNAL(didActionReceive (GuiActionType, const QVariantList &)), + this , SLOT( onActionReceive (GuiActionType, const QVariantList &))); + + // 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 QVariantList &)), + _GuiController, SLOT( doActionTransmit(GuiActionType,const QVariantList &))); + } + +void GuiView::onActionReceive (GuiActionType vAction, const QVariantList &vData) +{ + // process the evaluation and notify GUI + // process ... + emit didActionReceive (vAction, vData); +} + +void GuiView::doActionTransmit(GuiActionType vAction, const QVariantList &vData) +{ + emit didActionTransmit(vAction, vData); +} + +void GuiView::doActionTransmit(GuiActionType vAction, const QVariant &vData) +{ + QVariantList mData; + mData += vData; + emit didActionTransmit(vAction, mData); +}