ER Modeler layout algorithm
1) I do understand that the relationship needs to be bound to the specific tables at both ends. As db schema designer I wouldn't want a tool that does otherwise. My point in the email below is that 'graphically' where the relationship line touches the table, I used to be able to move that position around to avoid crossing with other relationship or to have the relationship on the side of the table instead of the top or bottom.
2) Adding pivot point in the old version involves right-clicking anywhere on the relationship line. This put a gray square on the relationship line that I can then left-click and drag to bend the relationship line in any desired direction. And, I can right-click along the line as many time to create as many pivot points as I want. This feature was a great competitive edge compared to other tools out there. And it produces pretty impressive diagram with curved relationship lines.
![]() |
40 KB
I had to override default behavior of JGraph extensively in order to implement ER modeler. There were a few things that JGraph design did not provide means for, or had bugs in, one of those is the edge (relationship) editing and routing. (Netbeans graph library turned out to be completely useless with large graphs because of the routing).
Allowing the user to modify relationship lines will require:
1) change in the XED file format
2) a major change in the ERGraph code
I am moving it to version 7.5 although it feels more like a major revision.
- More control of where the relationship lines connect to boxes. * i.e. (manually place where the line connects to the box) - Be able to manually route lines between boxes instead of only have the default route that Aqua provides
- More control of where the relationship lines connect to boxes. * i.e. (manually place where the line connects to the box) - Be able to manually route lines between boxes instead of only have the default route that Aqua provides
Added capability to move, and route the relationship lines.
The user can add corners by dragging the little handles or remove them by aligning line segments.
I don't like how the lines jump when the user drags one table around, thanks to jgraph.
Niels, let me know if you think it is acceptable (or not).
Added capability to move, and route the relationship lines.
The user can add corners by dragging the little handles or remove them by aligning line segments.
I don't like how the lines jump when the user drags one table around, thanks to jgraph.
Niels, let me know if you think it is acceptable (or not).
I've attached an example. If you move and break up a line into many pieces, then the line doesn't get saved correctly.
I've attached an example. If you move and break up a line into many pieces, then the line doesn't get saved correctly.
Niels, you have to test with a clean build.
The new code uses integers for routing points. Here is the route extracted from the file attached to this issue:
<Place id="132" visible="true" options="1240.4194177671068,218.11967286914785,180.0,70.0,597.0,110.0,190.0,260.0,11,1400.0,218.0,1400.0,152.0,1350.0,152.0,1350.0,64.0,1270.0,64.0,1270.0,20.0,983.0,20.0,983.0,30.0,840.0,30.0,840.0,110.0,787.0,110.0">546,-25,0,0</Place>
Here is what the new code does:
<Place id="132" visible="true" options="1240.0,218.0,180.0,70.0,597.0,110.0,190.0,260.0,9,1350.0,218.0,1350.0,64.0,1270.0,64.0,1270.0,20.0,983.0,20.0,983.0,30.0,840.0,30.0,840.0,110.0,787.0,110.0">546,-25,0,0</Place>
Please make sure you are running a clean build.
Niels, you have to test with a clean build.
The new code uses integers for routing points. Here is the route extracted from the file attached to this issue:
<Place id="132" visible="true" options="1240.4194177671068,218.11967286914785,180.0,70.0,597.0,110.0,190.0,260.0,11,1400.0,218.0,1400.0,152.0,1350.0,152.0,1350.0,64.0,1270.0,64.0,1270.0,20.0,983.0,20.0,983.0,30.0,840.0,30.0,840.0,110.0,787.0,110.0">546,-25,0,0</Place>
Here is what the new code does:
<Place id="132" visible="true" options="1240.0,218.0,180.0,70.0,597.0,110.0,190.0,260.0,9,1350.0,218.0,1350.0,64.0,1270.0,64.0,1270.0,20.0,983.0,20.0,983.0,30.0,840.0,30.0,840.0,110.0,787.0,110.0">546,-25,0,0</Place>
Please make sure you are running a clean build.
Saving in ADS 7.5 and Opening in 7.0 works as well as vice versa. Broke the lines into different pieces and saved and opened in 7.0 with positions changed (works fine ). Able to open again with same positions in 7.5 again. Issue resolved in ADS build 7.4.31
Saving in ADS 7.5 and Opening in 7.0 works as well as vice versa. Broke the lines into different pieces and saved and opened in 7.0 with positions changed (works fine ). Able to open again with same positions in 7.5 again. Issue resolved in ADS build 7.4.31
Issue #2153 |
Closed |
Fixed |
Resolved |
Completion |
No due date |
No fixed build |
No time estimate |
I had to override default behavior of JGraph extensively in order to implement ER modeler. There were a few things that JGraph design did not provide means for, or had bugs in, one of those is the edge (relationship) editing and routing. (Netbeans graph library turned out to be completely useless with large graphs because of the routing).
Allowing the user to modify relationship lines will require:
1) change in the XED file format
2) a major change in the ERGraph code
I am moving it to version 7.5 although it feels more like a major revision.