Skip to content

(activities): split bundle separate gui services from core service

What does this MR do?

Separate service using Qt Widget from other services in order to use this service with a Qml application.

Create a new bundle uiActivitiesQt where SCreateActivity and SActivityLauncher has been moved. The old SCreateActivity and SActivityLauncher serives has been kept in activities but set as deprecated. A fatal would be rising if you use them inside activities with Qml application at the same time.

QML_APPLICATION variable has been added in the main CMakeList to define if there is a Qml application that will be launched. It is temporary because we need to keep the old API until sight 21.0 and allow to remove the dependency to Qt Widgets in activities bundle.

How to test it?

  • Launch qml application and set QML_APPLICATION in the CMakeList to true and add activities as requirement
    • inside the code create a new SCreateActivity and check if the fatal error appear.
  • Launch ARCalibration(does only use SCreateActivity), VRRender or PoCRegistration with QML_APPLICATION in the CMakeList to false.
    • Check if the deprecated appear inside the console.
  • Replace activities namespace for SCreateActivity and SActivityLauncher by uiActivitiesQt in your Application and check that it works without displaying a deprecated log.

Some results

All project using activities in Qt with those two classes will see a deprecated message. If you try to launch SCreateActivity or SActivityLauncher when QML_APPLICATION variable is set to true, it will throw a fatal error.

Associated Issues/Merge Requests

Edited by Emilie WERNERT

Merge request reports