OpalUIDriver
Signal-based UI dispatch for OpalTasks running on worker threads.
| Declared in | src/libs/libopal/opal/ui/OpalUIDriver.hpp |
| Inherits | QObject |
| Group | libopal |
Detailed description
OTs execute on background threads and must never touch QWidgets directly. OpalUIDriver provides a safe interface: OTs call request methods which emit signals marshalled to the main thread. The UI layer connects to these signals and performs the actual UI operations.
When headless (no display, trigger/LLM operator, offscreen platform), all requests are silently skipped.
Usage from an OT's execute() method:
if (driver && driver->hasDisplay()) {
driver->requestPushActivity("WidgetCatalogActivity");
driver->requestLogMessage("Capturing widget...");
}
See also OpalTask, OpalTaskContext, OpalTaskRuntime.