This example demonstrates a simple interactive graph editor. There are three modes available: Editing, Picking, and Transforming

### Editing Mode:

- MouseButtonOne press on empty space creates a new Vertex
- MouseButtonOne press on a Vertex, followed by a drag to another Vertex creates an undirected edge between them
- MouseButtonOne+Shift on a Vertex, followed by a drag to another Vertex creates a directed edge between them

### Picking Mode:

- MouseButtonOne press on a Vertex or Edge to select it
- MouseButtonOne+Shift press on a Vertex or Edge to add or toggle selection
- MouseButtonOne+drag on a Vertex to move all selected vertices
- MouseButtonOne+drag to select Vertices in a rectangle
- MouseButtonOne+Shift+drag to add to selection with Vertices in a rectangle

### TransformingMode:

- MouseButtonOne+drag to translate the display
- MouseButtonOne+Shift+drag to rotate the display
- MouseButtonOne+ctrl(or Command)+drag to shear the display

### All Modes:

- MouseButtonThree on an empty space shows a popup menu to create a Vertex
- MouseButtonThree on a Vertex shows a popup to delete the Vertex
  - If any Vertices are picked, the popup menu allow creation of an edge.
- MouseWheel to scale. When scale < 1, view is scaled. When scale > 1, layout is scaled.