Mentions légales du service

Skip to content

asebastudio: Add Thymio Blockly plugin

Created by: FabianHahn

This PR adds a new asebastudio plugin that provides a Blockly interface for the Thymio, similar to what ThymioVPL provides. Most of the GUI code has been copied and adapted from ThymioVPL's main window.

The Blockly workspace is displayed within an embedded web browser provided by QtWebKit's QWebView widget. The web client is able to generate valid AESL code, which is then passed back to asebastudio and displayed in its editor. The AsebaJavascriptInterface class is used as an interface between asebastudio and the web application, and is implemented using the Qt WebKit bridge and the Qt signal system. Saving and loading is supported via Blockly's internal XML representation of a workspace, which can be embedded in an aesl file similar to how ThymioVPL stores its state. Rather than loading the HTML, JavaScript and media files for the web application from a web server, the Thymio Blockly fork is included as a Git submodule and the necessary sources are directly embedded into asebastudio as Qt resources.

Merge request reports