Tulip-Dev / tulip

Large graphs analysis, drawing and visualization framework
http://tulip.labri.fr/
GNU Lesser General Public License v3.0
125 stars 24 forks source link

Stop/interrupt plugins (on large graphs) #93

Closed renoust closed 5 years ago

renoust commented 5 years ago

Hi,

It seems to be difficult to interrupt or stop plugins running on large graphs (the progress bar runs for a long time). Since no feedback is given to users, it may appear confusing sometimes.

This happens for example in layout computations such as GEM or Sugiyama. On especially long computations, the only option to cancel the computation remaining may be to force kill the perspective and relaunch it.

Since cancelling jobs seems well handled in the python IDE, it may be a remain of the old Tulip. If I may suggest: because restoring the graph state of before launching the plugin may take time, it could useful to report this feedback in the progress box, helping users to wait for its completion.

Cheers,

p-mary commented 5 years ago

Thanks a lot for your input. Most algorithms runnable through the Tulip GUI cannot be interrupted because they have no cancellation point. This is the case for all OGDF algorithms. Only those which use to frequently call PluginProgress::progress() can be interrupted; because the PluginProgress dialog displayed through the GUI provide two stop/cancel buttons allowing to manage cancellation points. This is the case of the newly fixed Tulip implementation of the GEM layout algorithm. The other fix improve the feedback given to the user when running non interruptible algorithms.