-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
editor.diagram: Expose more ELK options #844
Conversation
18063c7
to
5f40862
Compare
a7c5cc8
to
428c4ed
Compare
@alexanderpann thank you for this extension ! java.lang.RuntimeException: Unknown direction: UNDEFINED |
I am not done yet with the PR but yes you are right, thanks. I'll fix it. |
Did you run the migration? The constructor of the layered configuration is probably not called, so the properties are not initialized. |
no - I had not ran them ... thank you for pointing out! |
This adds lots of new style attributes and for some of them (e.g. |
@slisson anything else? Do you have a better idea for the implementation of |
I don't understand well enough what the effect is to be able to suggest an alternative. |
One things that we maybe can improve is to reduce the code duplication. I see that all the subclasses of |
The idea was that with the dummy ports, edges from the same (dummy) ports get merged into one line (hyperedge) which might not always be the preferred. With the new diagram option "don't use dummy ports", the boxes are connected directly. We still need the right side of the box for the connecton similar to the approach with the ports, so I just set the start and end location of the edge section e.g.:
The result looks slightly odd for some reason. |
I'll create followup tickets in case we need to improve those points. |
Support for 10 new layout algorithms was added. Most of the options of the ELK layouter (150 options) can be customized through style class items. All options can also be set in the inspector of the chosen layout algorithm in the diagram cell.
For our unstable layouting, the option interactive might be useful to not get so drastic changes when running the layouter again.
I tested all the wiring of the options to the layouters and the sandbox and checked that all options have the correct default values. From a review perspective, just playing around with the editor and checking the non-option-related code changes should be enough. We have to check that it is impossible that an error is thrown in the editor and that the editor breaks.
Reference:
The new features can be tested in the model de.itemis.mps.editor.diagram.demo.elk.sandbox:
