Welcome to yEd Q&A!
Here you can ask questions and receive answers from other members of the community and yEd developers. And you can tell us your most wanted feature requests.


Layers (similar Dia or Visio layer)

+121 votes
Have you plans to add tool "layer" (similar Dia or Visio layers) for turning on/off visiability of group of objects? Now we do it with help of properties mapper but it is inconvenient in use.
in Feature Requests by (360 points)
retagged by
Can you provide more details about your current workaround? How do you use the properties mapper for making part of the graph temporarily invisible?
  1. Use "Edit" -> "Manage Palette" to create a user defined palette section.
  2. Create a new rectangular node, set its fill color and line color to "No Color".
  3. Open the now invisible node's context menu and choose "Add to Palette".
  4. Use "Edit" -> "Manage Custom Properties" to create a custom node property of type "Integer" and default value "0".
  5. Select all nodes you want to hide and set the value of the aforementioned property to "1".
  6. Use "Edit" -> "Properties Mapper" to create a new configuration for nodes.
  7. Choose "Template: Multiple".
  8. Choose the aforementioned property as "Data Source".
  9. Add conversion details and choose "1" in the first column and the invisble template in the second column.
  10. Click "Apply".
I also need layers for yEd for setting eg. all edges including its labels to invisible.

Your instructions are not working on edges, because
1. you can not set the edge color to "No Color".
2. you have to generate one specific value for each edge on this variable (because the edges have also labels), so this approach is not working for objects with labels.
Add a property "Visible" to all objects (which defines visibility including all labels),
and make this property available in the Properties Mapper ("Map To"). With this solution, you can also implement a number of layers.
I'm using the workaround. Just adding that while it does change the color-based visibility, it does not change the "interaction visibility" of the nodes and edges: the not-human-visible nodes can still be selected, and will also be considered when using actions in the layout menu.

Being able to ignore part of the graph (both for user-interaction and when laying out) would be useful for dealing with densely-connected graphs/diagrams with many node-types and edge-types.

It would be a different/more-complete kind of layers, and likely more involved to implement.
Oh, yes, I think, would be a great help in many cases!

2 Answers

+13 votes
I would rather see something more dynamic like selection sets based on node meta-data (like tags). That way one node could belong to several different selection sets, rather than just a single layer. Yo could achieve a "layer" effect but with much greater flexibility.
by (730 points)
You can actually do some fairly advanced selecting with the select nodes option already. Maybe what you could do is save these selection searches for future reference (some sort of hotkey)?
True, but from a usability and UI point of view it is fairly clumsy and complicated. Saving the search parameters and assigning them to a button, hotkey or similar certainly would make things a lot easier. I'd really love to be able to manage this through a scripting language. Compose a script with the methods and parameters you want and assign it to a custom button or hotkey would allow us to compose some pretty useful frequent operations to our own design.
Yeah, It's true. Sometimes you need lots of steps to show only things you want to. Describe all of this steps for other people (for example artist-like game designer in my company) is pretty hard process.
+5 votes
It would be really cool and useful!
by (260 points)
Legal Disclosure | Privacy Policy