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.

Hello, I tried to create Entity Relationship Diagram and I lack features

0 votes

Please add a menu "Insert" between "Edit" and "View" or somwhere, that allows to insert icons(pictures) and special symbols into the text of the labels. Alternatively to the labels it would be great to be able to create tables inside of the nodes, then each cell of it would work as a label. Also please make managing all that stuff(at least labels) more comfortable. Make it possible to access in-node elements(and their properties) from "Structure view" or somewhere else because for now accessing them is very frustrating))

I wanted to recreate this diagram(it's not complete), but I could not find any way to put key or arrow or magnifying glass icons on the "Entity with Attrubutes" element. I thought I could use "Wingdings" font symbols, but they are not displayable there. So I suggest you to make using of UTF-8 symols possible in the names of the fields, and(or) possibility to put icons on "Entity with Attributes" element.

All I could get is:

and I have a problem to draw an arrow like this: because an arrow like this won't work)))

Thanks in advance!

asked Dec 11, 2014 in Feature Requests by plavozont (150 points)
edited Dec 18, 2014 by plavozont

2 Answers

+1 vote
 
Best answer

Here is one option that may work for you.

The Segoe UI Symbol font supports the key, magnifying glass, and diagonal arrows.

For proper column spacing and the ability to add colour to the symbols, use separate labels for each of the icon, text, and arrow columns.  Use the same font and size for all columns to ensure that the rows line up.  Use blank rows in the icon and arrow columns where necessary.

Create an icon column label with Placement set to Internal: Top Left and Insets set to 20 2 0 0 to move the text down below the header and a little bit in from the side of the node.  This column will hug the left side as the node is resized.

Create a text column label to overlay the icon label, with Placement set to Internal: Top Left and Insets set to 20 16 0 0 to move the text down below the header and far enough to the right to clear the icons.

Create an arrow column label with Placement set to Internal: Top Right and Insets set to 20 0 0 0 to move the text down below the header.  This column will hug the right side as the node is resized.

Set column text colours and other node attributes as desired.  Fill in the text column. Paste the key and magnifying glass symbols into the icon column with appropriate line breaks.  Paste the arrows into the arrow column.

See the attached erd-example.graphml file for the diagram using this technique.

This technique does not allow for different colour/shading of the key icon to differentiate keys.

answered Dec 12, 2014 by anonymous
selected Dec 16, 2014 by plavozont
Very nice.
Awsome answer, great job, thank you very much!!! But still... even knowing this workaround I had to fight a while with yED because labels are very unfriendly. They are not listed in structure view or right click menu, or somewhere else, therefore it's hard to understand that they are separate objects, that it's posible to add another label, and after adding I thought it is impossible to access my new label, only from manual I found that I can use CTRL+Click to access overlapped labels. And again It would be nice to be able to choose from set of symbols a key, a magnifying glass and other without having to look for them somewhere. By the way the key and a magnifying glass in your file are not visible on my system, I guess I'll have to install "Segoe UI Symbol" font and every one else to whom I'll give this file too.
There are two alternatives to using fancy fonts:
1. HTML formatting. A lot of special characters are available as HTML entities. (Unfortunately, that does not seem to be the case for diagonal up/down arrows.)
2. Icons. Labels support displaying an icon next to their text. Create either a JPG, PNG, or SVG representation of the desired symbol and display it as the label's icon.
0 votes

I see that you edited your post after I answered, possibly in part due to the use of overlapping labels in my example.  Labels are a very powerful visual feature in yEd, but can be frustrating at times until you learn how to master them.  Here are some tips to make editing labels more comfortable:

1. Hold down CTRL when clicking to select a label on a node.  It makes it easier to differentiate between labels, especially when they are stacked on top of one another.

2. When building a node with multiple labels (including those that contain icons and symbols), build the pieces separately as nodes.  Drag each new node piece onto the node and then right-click to select Convert to Label.  You can convert back by selecting the label and then choosing Convert to Node from the right-click menu, but this resets any Placement settings for the label.

3. If the node has no Text in the primary label, then the first label added will become the primary label.  To prevent this, ensure that you enter text into the node's primary label or Text property before adding additional labels.  The primary label is the default one that you see when you edit the node's properties.

4. Labels stay fixed in size, even if the node is resized.  You can use the Placement property to make a label stay in the same place relative to the node's top, side, or corner.

5. Use the Distance and Insets properties to fine tune the placement of labels relative to the placement on the node.  Insets are TOP LEFT BOTTOM RIGHT pixel measurements to shift the label, so for example, 20 2 0 0 shifts the label contents 20 pixels from the top of the placement and 2 pixels in from the left of the placement.

6. When a Label or Node is selected, press F6 to access the Properties dialog.  This is often the fastest way to access all of the properties.
 

answered Dec 16, 2014 by anonymous
Thank you very much, I will take your advice, but still there is a way to make labels more friendly, that's why I created this feature request))
Imprint | Privacy Policy