Dependency Graph

Purpose
The purpose of the Dependency Graph is to visually see the different dependencies for the jobs that will be run in the engine.

A future update will turn this from just a graphical visualizing tool to a tool that will actually edit the nodes and jobs in the engine's execution manager.

Basic Usage
To open the Dependency Graph, click on the "Windows" menu and click on the corresponding menu item. This will open a new Dependency Graph with one node in it.

The Dependency Graph is created in a dockable widget so you can rearrange the layout of the editor to your liking.

Basic Controls
Left Clicking on any node will select and highlight the node. By clicking and dragging the node you can move it around the graph area. The graph area will expand to fit the nodes and it will add scroll bars to the widget if the area becomes too big for the window.

By Left Clicking and dragging from a node port (the white circles on the sides of the nodes) will start creating a connection. Release the mouse button on top of another node port to create a connection. Note: Input ports can only connect to Output ports and vice-versa. Multiple connections can be made per port as well.

Shift+Left Clicking in an empty area will allow you to move the viewport of the graph around provided the graph area is larger than the viewing window.

Right Clicking on either a node or a connection will bring up a verification prompt to remove it from the graph.

Miscellaneous
The Job Editor has a list of jobs that is currently in the execution node. By selecting one then pushing the "Remove Job" button will prompt you to remove the job from the node. By pushing the "Add Job" button it will open a dialog box to name the new job for the execution node.

If the only job in the node is removed then a prompt to remove the node from the graph is opened.

When closing the Dependency Graph, you will be prompted to save before closing.