ADTF  3.18.2
Qt5 ADTF XSystem UI Service Plugin

Qt5 ADTF XSystem UI Service


This UI Service comes with the ADTF UI SDK to develop your own Qt5 Displays.

For a short usermanual please skip the common chapter and jump to Qt5 ADTF XSystem Concept

Plugin Information
Plugin Filenameadtf_xsystem.adtfplugin
Plugin Descriptionadtf_xsystem.plugindescription
Plugin NameQt5 ADTF XSystem UI Service Plugin
Homepage URL
Plugin Versions
Plugin Version3.18.2
Plugin File Version1.0
Component Information
NameQt5 ADTF XSystem UI Service
DescriptionUse this UI Service to extend your ADTF System with QT Application and Subwindow support.
Default Runlevelsystem
application_nameADTF-Qt-XSystemcStringThis property holds the name of this application (see QCoreApplication::applicationName). Required to use QSettings.
enable_player_controlstruetBoolIf enabled and when the playback service is available, playback controls are shown.
enable_progress_splashtruetBoolIf enabled, runlevel changes will be indicated by a progress splash screen if logging is available.
enable_recorder_controlstruetBoolIf enabled and when one or more recorders are available, controls are shown for each of them.
enable_recording_dialogfalsetBoolIf enabled, show a dialog to edit the description, move or discard a recording file before it is closed.
layout_file$(ADTF_SESSION_DIR)/$(ADTF_SESSION_FILE_NAME_NOEXT).adtfuilayoutcFilenameThe name of the layout file that the layout should be stored to and read from.
marker_labeluicStringThe label used for markers created via the 'Add Marker' action and buttons.
organization_domaindigitalwerk.netcStringThis property holds the internet domain of the organization that wrote this application (see QCoreApplication::organizationDomain). Required to use QSettings.
organization_nameDigitalwerkcStringThis property holds the name of the organization that wrote this application (see QCoreApplication::organizationName). Required to use QSettings.
refresh_timer_msec16tInt32The interval at which the OnTimer() methods of all windows will be called.
save_layout_automaticallytruetBoolIf enabled, the current layout will be stored automatically when the runlevel is changed. Otherwise you need to manually save the current layout via 'View->Save Layout'.
use_a_common_layout_for_rl_filtergraph_and_rl_runningtruetBoolIf enabled, a common layout will be used for both runlevels FilterGraph and Running.
Required Interfaces
Provided Interfaces

Qt5 ADTF XSystem Concept

The Qt5 ADTF XSystem is comparable to a Window Manager which extends the (headless) ADTF System to create simple and complex Qt applications as bundle of the registered UI widgets provided by adtfplugins.

Qt5 ADTF XSystem UI Service Usability


After several minor improvements the Qt5 ADTF XSystem uses the Advanced Docking System for Qt since ADTF 3.10.0 for more convenience and usability regarding layouting, docking and embedding several widgets. Since ADTF 3.12.0 we provide a toolbar to control Session, Player and Recorder interfaces.

Session control

An ADTF System is a definition of base components and additional adtfplugins providing functionality at different state levels (so called adtf::base::ant::tADTFRunLevel). For your convenience we provide a mapping to a more comprehendible understanding as follows:


Shortcut: Ctrl+R

  • Start streaming


Shortcut: Ctrl+R

  • Stop streaming
  • Reset level Initialize


Shortcut: Ctrl+I


Shortcut: Ctrl+I


Shortcut: Ctrl+Q (Linux) / Alt+F4 (Windows)

Navigate to the Session tab of the menubar to access these functionality

or use the buttons within the toolbar

Since ADTF 3.16.0 we provide a kind of report functionality (similar to createreport function within ADTF Control) for useful session information.

Player control

In case your ADTF Session contains a ADTFDAT File Player / Playback Service, you can interact with the provided interface (see also Player Control). This means in detail:

  • Open one or more playback files (Ctrl+O)
    • With or without referenced files
  • Play/Pause (Ctrl+Space)
  • Reset
  • Step To Next Trigger (Ctrl+N)
    • In Pause Mode
  • Jump functionality (Ctrl+J)
    • Timestamp
    • Marker (if available)
  • Loop Mode
    • Seek to Start
    • Change Runlevel
  • Adjust time by slider
  • Increase/decrease playback speed

To quick access the playback rate, you can also right click in the playback speed text box:

Decide whether referenced files should be loaded or not using file(s) open functionality:

Recorder control

In case your ADTF Session contains one or more ADTFDAT File Recorder, the toolbar will provide a record button for each instance (Ctrl+recorder_instance) and a button to trigger all recorder instances at once (Ctrl+0). Furthermore, since ADTF 3.16.0, it is possible to split recordings (Ctrl+Shift+recorder_instance), add quick markers (Alt+recorder_instance) or editable markers (Alt+Shift+recorder_instance). Use the property marker_label to set the default label name for markers).

Another improvement with ADTF 3.16.0 is the option to adapt the filename and description before recording stopped. To enable the dialog to edit, set the property enable_recording_dialog to true.

View options

Furthermore use the View tab of the menubar to enable or disable all or specific views and create perspectives for your layout. Layouts will be stored for each adtf::base::ant::tADTFRunLevel, so it makes sense to differ between views during adtf::base::ant::RL_Running and adtf::base::ant::RL_System. Of course they might differ regarding available ADTF Services per Runlevel. If there is no layout defined, all widgets will be shown an ordered per default. Also if you already have defined a layout and add a new UI component to your ADTF Session, it will be shown automatically.

If a window is created by a service or filter it can take part of the Qt5 ADTF XSystem UI Services layout handling. For this, consider the IQtXSystem::IWindowState interface and implement the OnSaveState and OnLoadState callbacks.
Keep in mind that changing the Runlevel will save the layout of the leaving runlevel (depends on property save_layout_automatically) and makes the layout for the joined Runlevel available instantly.

Help Menu

The tab for Help within the menubar will bring you here and provides some common information about the Qt5 ADTF XSystem and dependencies.