ADTF  3.13.0
ADTF Qt XSystem Plugin


ADTF Qt XSystem Service

Introduction

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

Note
For a short usermanual please skip the common chapter and jump to Qt XSystem Concept

Plugin Information
Plugin Filenameadtf_xsystem.adtfplugin
Plugin Descriptionadtf_xsystem.plugindescription
Plugin NameADTF XSystem Service
LicenseADTF
Support Mailsupport@digitalwerk.net
Homepage URLhttps://support.digitalwerk.net/
Plugin Versions
Plugin Version3.13.0
Plugin File Version1.0
adtf3.13.0
adtf::ucom3.1.0
Component Information
NameADTF Qt XSystem
CIDqt_xsystem.ui_service.adtf.cid
DescriptionUse this UI Service to extend your ADTF System with QT Application and Subwindow support.
TypeService
Default Runlevelsystem
Properties
NameValueTypeDescriptionSubproperties
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_recorder_controlstruetBoolIf enabled and when one or more recorders are available, controls are shown for each of them.
layout_file/.adtfuilayoutcFilenameThe name of the layout file that the layout should be stored to and read from.
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.
Provided Interfaces
IID
qt_xsystem.ant.services.adtf.iid

Qt XSystem Concept

The ADTF Qt 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.

ADTF Qt XSystem Usability

Common

After several minor improvements the ADTF Qt 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.

adtf_qt_xsystem_overview.png

Session control

An ADTF System is a defintion 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:

Run

adtf::base::ant::RL_Running
Shortcut: Ctrl+R

  • Start streaming

Stop

adtf::base::ant::RL_FilterGraph
Shortcut: Ctrl+R

  • Stop streaming
  • Reset level Initialize

Initialize

adtf::base::ant::RL_FilterGraph
Shortcut: Ctrl+I

Denitialize

adtf::base::ant::RL_System
Shortcut: Ctrl+I

Shutdown

adtf::base::ant::RL_Shutdown
Shortcut: Ctrl+Q (Linux) / Alt+F4 (Windows)

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

adtf_qt_xsystem_menubar_session_control.png

or use the buttons within the toolbar

adtf_qt_xsystem_buttons_session_control.gif

Player control

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

  • Open a playback File (Ctrl+O)
  • Play/Pause (Ctrl+Space)
  • Reset
  • Step To Next Trigger (Ctrl+N)
    • In Pause Mode
  • Jump to Time/Marker (Ctrl+J)
  • Loop Mode
    • Seek to Start
    • Change Runlevel
  • Adjust time by slider
  • Increase/decrease playback speed
adtf_qt_xsystem_buttons_player_control.gif

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

adtf_qt_xsystem_playback_speed.png

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).

adtf_qt_xsystem_buttons_recorder_control.gif

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.

adtf_qt_xsystem_menubar_view_settings.png
Note
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 ADTF Qt XSystem and dependencies.

adtf_qt_xsystem_menubar_help.png

ADTF Qt XSystem Source Code

Note
Starting with ADTF 3.4.0 we provide the source code for ADTF Qt XSystem as well, so feel free for adaption to fit your use cases or improvements/bugfixes, especially regarding layouting.
Location
./src/ui/adtf_xsystem/
References

Copyright © Audi Electronics Venture GmbH. All rights reserved. (Generated on Tue Sep 28 2021 by doxygen 1.8.14)