Avoid multiple (unnecessary) layout calls
Currently the layout button, and thus the LayoutHandler#execute() method, invokes a layout call every time it is pressed. We could add an option that avoids simultaneous layouts of the same diagram, for instance by scheduling the layout only if no new layout request has been issued for the same diagram.
We already have some code that checks for multiple operations on the same diagram, see ElkServicePlugin.getRunningOperations(). However, operations are canceled only after a layout has been computed.
Can't this yield lost updates when elements are added to a graph in the meantime? Also, numerous layout runs can start before any of them is canceled.
Yeah, it makes more sense to cancel old runs as soon as new ones arrive.