Web Engine Interfaces
WebEngine provides functionality for rendering dynamic web content into your application.
Web Engine API information
FxWebWidgetInterfaces.h API provides an ability to create and control Web View without exposing internal implementation and allows using Qt Web Engine implementation indirectly with no requirement to link against Qt Web Engine.
The API mainly consists of CFxWebView wrapper for Web View instance
CFxWebView wrapper is aligned with Qt interface: https://doc.qt.io/qt-5/qwebengineview.html
FxWebWidgetInterfaces.h has commented classes and methods to describe functionality.
The main header is a part of c:\Program Files\Graebert GmbH\ARES Commander 20XX SDK\Samples\Headers\inc
Why are wrappers needed?
Qt Web Engine is a pretty large library that may destruct the main application functionality regarding rendering, exception handling and main thread load
The most critical problem with the direct Qt Web Engine usage is OpenGL misalignment between Web Engine rendering and ARES graphical area rendering approach
ARES uses Qt Web Engine from background process on Windows to avoid interference between main application and web view internals
At the same time ARES uses Qt Web Engine via main process on macOS and Linux as Qt Web Engine is more stable on these platforms
Web View wrapper is required to have abstract layer between main application and Qt Web Engine implementation to make uniform experience for all platforms disregarding if Qt Web Engine is used within the main process or from background
Also Web View allows more flexible module management and easy migration if Web View implementation is changed. Plugin code shouldn't be changed if Web View internals are updated
WebWidget Sample : Creates a dockable widget with web view inside.
The sample shows how to use the wrapper (CFxWebView) instead of direct Web Engine usage (QWebEngineView interface) to create a dock widget with web content.
The sample can be found in c:\Program Files\Graebert GmbH\ARES Commander 20XX SDK\Samples\CFx\
Â