Start here

# Orthogonal Edge Editing Customization Demo

This demo shows how to customize orthogonal edge editing.

Using the GraphDecorator, the edge is decorated with custom implementations of the IOrthogonalEdgeHelper interface.

## Things to Try

Drag segments and bends of the edges and observe the different characteristics.

## Edge Types

- Red edge: Orthogonal edge editing is disabled. The segments are straight lines with arbitrary slope. Dragging an unselected segment creates a new bend.
- Green edge: Orthogonal edge editing is enabled. While dragging, all segments stay orthogonal and new bends are created as needed.
- Purple edge: Same behavior as the green edge. In addition, the locations of the source port and target port are constraint to the given port candidates of the nodes.
- Orange edge: Same behavior as the green edge. In addition, the source port and the target port can be placed at any location inside the node since they use dynamic port candidates.
- Yellow edge: Same behavior as the green edge. In addition, dragging the first (or last) segment of the edge will create only one new bend instead of two.
- Blue edge: Orthogonal edge editing is enabled for the inner segments but the first and the last segment can have an arbitrary slope. If a new bend is added to one of these two segments, the newly created inner segment becomes orthogonal immediately.