fractalide / fractalide-oz

Proof of concept
GNU Affero General Public License v3.0
12 stars 3 forks source link

Change the component loading. Editor broken #74

Closed dmichiels closed 9 years ago

dmichiels commented 9 years ago

This PR mainly fix #61 . It also resolve or help #24, #38, #60 , #64

Loading components and sub-components

fix #61 There are now 4 libraries :

For loading a component, the process is now :

declare
% Loading the main library
[Fractalide] = {Module.link ["./lib/fractalide.ozf"]} 
% Loading a component 
Disp = {Fractalide.load aDispName display}

As discused in the issue, the type is the only information needed.

The new parser

The new parser fix #24. It's much more robust and clean. It also fixes #38. Now the double-cote must be escaped :

"create(text:\"button\")" -> in b(QTk/button)

Component creation

The feature "description" is now mandatory to create a component. It's the first step for #60 The features "name" and "type" are no more needed.

The QTk card creation

Fix #64 The QTk card will no more block if the "out" output port is not connected (directly or not) to a QTk/window. The creation is more asynchronous.

The editor is broken

All theses changes require update for the component, and the editor component are not yet ready.

The tests

The process to launch the tests : in the base repository

make
ozengine launcher.ozf tests/gates
ozengine launcher.ozf tests/widget
ozengine launcher.ozf tests/canvas
ozengine launcher.ozf tests/dnd
sjmackenzie commented 9 years ago

Just amazing! Please don't forget to add yourself as the author for all the files!