obdasystems / eddy

A graphical editor for the specification and visualization of Graphol ontologies
GNU General Public License v3.0
57 stars 7 forks source link

[FEATURE]: Move OWL import execution to a separate thread #204

Open mnamici opened 2 years ago

mnamici commented 2 years ago

Description

In the ontology importer, move the bulk of the work to a separate thread, so that we can monitor and control it's execution.

Motivation

Currently the import happens entirely on the main thread, and there are a lot of places where the importer has to yield to let events be handled to avoid making the application unresponsive. It would be better to move the importer into a separate threads, so that the execution can happen asynchronously and can be monitored and controlled (e.g. cancelled).

Example Use Cases

Imagine trying to import a large ontology, there is currently no way to cancel the import process, and in some places it could still make the application unresponsive to user inputs between calls to processEvents().