Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Sirius » How do I get this ELK layout in Sirius?
How do I get this ELK layout in Sirius? [message #1826544] Mon, 27 April 2020 00:40 Go to next message
Brandon Lewis is currently offline Brandon LewisFriend
Messages: 206
Registered: May 2012
Senior Member
The main purple diagram has a perfect layout for what I'm trying to do at the ELK site:

https://www.eclipse.org/elk/

Nearly every ELK layout I select in Sirius using Sirius 3.0 and Elk 0.5 look _nothing_ like the one on that page.

What magic have they done?

I have a digram with containers that have bordered nodes with edges between them and containers within containers and I can't get anything close to what they're getting in that picture.

The demonstrated graphs at this blog entry look great too - and they're demonstrating ELK in Sirius.

https://blog.obeo.fr/a-picture-is-worth-a-thousand-words

Is there some special consideration for containers and bordered nodes that one must consider?
Re: How do I get this ELK layout in Sirius? [message #1826600 is a reply to message #1826544] Mon, 27 April 2020 15:34 Go to previous messageGo to next message
Brandon Lewis is currently offline Brandon LewisFriend
Messages: 206
Registered: May 2012
Senior Member
I can actually hear ELK laughing at me... taunting me from deep within its code. :-)

My trails with Elk Layered (which seems to be the one I want, because it looks the least worse)

I'll think of things such as "I'd like to have my Port labels on the OUTSIDE of my container", but I have to set the option to INSIDE for it to work. What?

Elk draws container and subcontainer ports on top of each other - even if I set Port Label Spacing to 100.0! I have to manually move subcontainers so ports aren't on top of each other.

Or I'll tell ELK to set the Edge Routing to SPLINES, but it will choose to use POLYLINES with annoying bend points. Until I ask Sirius to Align the border nodes and then I'll get splines. Annoying bent polylines with BK Edge Straightening set to IMRPOVE_STAIGHTNESS, Straighness Priority set to 100. Bent poly lines are the result.

I get edges that go outside of my container! Bent poly lines that exist my container, then bend back around to connect to the outside of a port? What?

And I'll ask ELK to CENTER the Port Alignment - which it ignores and just places ports anywhere and everywhere.

None of these arguments seem to do what I'm asking them. I've set Thoroughness to 1 bazillion too. :-)

Is Elk known to mock and mess with the user? :-)

[Updated on: Mon, 27 April 2020 15:40]

Report message to a moderator

Re: How do I get this ELK layout in Sirius? [message #1826709 is a reply to message #1826600] Wed, 29 April 2020 10:17 Go to previous messageGo to next message
Steve Monnier is currently offline Steve MonnierFriend
Messages: 492
Registered: May 2011
Senior Member
Hello Brandon,

I have not worked on the Sirius/ELK integration, so my knowledge is a bit limited. However, what I understood is that some features that can be installed from the ELK have some impacts on GMF (An underlying graphical framework that Sirius relies on) that can break some integration between Sirius and ELK. I think that it will be easier that you start with the Obeo Designer Community Edition [1] bundle where we package Sirius with some other frameworks including ELK. The Sirius/ELK integration is better is the last version but it is still an experimental feature we are working on (well more my coworkers than me I have to admit). As it's experimental, you may need to go to the included Obeo Designer Community Edition update site in order to install more Sirius/ELF integration features.
On a diagram itself, it is not recommanded to activate the "snap to" function (On the properties view, it is in the "Rulers & Grid" tab) nor to have pinned elements (there is a pin.unpin tabbar action that list every diagram elements and there status) as these notiions are not yet supported in the Sirius/ELK integration.
Finally, you can also download the plugin "org.eclipse.sirius.diagram.elk.debug" from the Sirius git in order to check that the algorithm works properly.

Best regards,
Steve

[1] https://www.obeodesigner.com/en/download


Steve Monnier - Obeo
Need training or professional services for Sirius?
http://www.obeodesigner.com/sirius
Re: How do I get this ELK layout in Sirius? [message #1826791 is a reply to message #1826709] Thu, 30 April 2020 14:12 Go to previous message
Brandon Lewis is currently offline Brandon LewisFriend
Messages: 206
Registered: May 2012
Senior Member
Thank you for the reply and help Steve!

I need to clarify some new findings from my previous post - hopefully some of my humor came across in light of the frustration. I have since found a set of parameters for ELK Layered that are getting me some reasonable results.

One completely unexpected issue I was having is I really hate the touch pad on the laptop I was using, a couple of days ago I noticed that when I used the laptop to scroll with a gesture, the mouse cursor was also moving, so I would scroll and change mouse position at the same time. That didn't seem to be that big of a deal - until I watched the moving mouse actually change values in some combo boxes in the options section as it hovered over them! So, at least some, but maybe not all of, the sense of randomness I was experiencing was literally due to data being changed randomly! Doh! And since I wasn't aware that it was happening, I probably was not getting a coherent set of parameter options.

As I mentioned, I have something that works well enough to demo to my team now and that's great. I am having to manually hit Arrange All up to 4 times in order to get the diagram fully laid out.. I can't find any options other that "Thoroughness" that would essentially tell the layout engine to "keep trying for a bit and do multiple iterations".
Previous Topic:All Layouts Have Containers On Top of One Another
Next Topic:Unable to add a new item to an empty table view
Goto Forum:
  


Current Time: Fri Oct 23 01:06:33 GMT 2020

Powered by FUDForum. Page generated in 0.04197 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top