## Graph Settings

### Overview

The appearance and behavior of graphs can be customized in many different ways using three settings dialogs. Two dialogs (Initial Callgraph Settings and Initial Flowgraph Settings) can be accessed from the main menu of the main window while the third dialog (Graph Settings) can be accessed from the Graph menu of graph windows.

All three dialogs offer mostly the same options. The Initial Callgraph Settings dialog is used to configure the appearance and behavior of native call graph views while the Initial Flowgraph Settings dialog is used to configure the appearance and behavior of native flow graph views. Once native views are saved as non-native views, their individual settings can be configured on a per-graph basis in the Graph Settings dialog. This makes it possible to use different settings for all non-native graphs.

### Available Graph Settings

The settings dialogs offer different tabs where graph settings can be configured.

#### Automatism

The Automatism tab is used to configure graph settings that are all about automizing behavior of the graph depending on the size of the graph. This is especially useful to speed up the initial loading and layouting of larger graphs.

- Automatic Layouting: When switched on, the graph is automatically re-layouted on relevant changes of the graph structure.
- Default Layout Style: Sets the default layout style. Circular style is recommended for call graphs, hierarchical style is recommended for flow graphs.
- Proximity Browsing: When switched on, proximity browsing mode is enabled by default.
- Proximity Browsing Threshold: Graphs with more than the given number of nodes are automatically loaded with proximity mode enabled.
- Automatic Layouting Threshold: Graphs with more than the given number of nodes are automatically loaded with automatic layouting disabled.
- Layout Calculation Time Threshold: You are shown a warning when trying to layout a graph with more than the given number of nodes.
- Visibility Warning Threshold: You are shown a warning when trying to make too many invisible nodes visible.

#### Edges

The Edges tab is used to configure the appearance and behavior of graph edges.

- Display multiple edges as one: In case of multiple edges between two nodes, only one edge is shown. This is useful to cut down on the number of edges in large graphs.
- Draw Selected Bends: Draws selected edge bends.
- Hide Edges when zoomed out: Used to configure whether edges are drawn when zoomed out. This gives a significant speed boost when zooming out of large graphs.
- Edge Hiding Threshold when zoomed out: Minimum number of edges before edges are hidden when the graph is zoomed out.

#### Hierarchic

The Hierarchic tab is used to configure settings of hierarchic graph layouts. This layout mode is the most natural layout mode for flow graphs with the entry node at the top of the graph and the exit nodes at the bottom.

- Orientation: Switches between layouting with entry nodes on top and exit nodes on bottom to entry nodes on the left and exit nodes on the right.
- Edge Routing Style: Lets you switch between different layouting styles for graph edges.
- Minimum Layer Distance: Minimum number of pixels between the layers of the graph. A graph is a row of nodes of equal distance from the entry node.
- Minimum Node Distance: Minimum number of pixels between graph nodes.
- Minimum Edge Distance: Minimum number of pixels between graph edges.

#### Orthogonal

The Orthogonal tab is used to configure settings of orthogonal graph layouts. This layout mode creates the most compact graphs.

- Orientation: Switches between layouting nodes from top to bottom and right to left.
- Layout Style: Lets you switch between different layouting styles.
- Minimum Node Distance: Minimum number of pixels between graph nodes.

#### Circular

The Circular tab is used to configure settings of circular graph layouts. This layout mode is by far the fastest mode for layouting large graphs and is recommended for use with call graphs.

- Layout Style: Lets you switch between different layouting styles.
- Minimum Node Distance: Minimum number of pixels between graph nodes.

#### Controls

The Controls tab is used to configure graph-related mouse and keyboard settings.

- Mousewheel Action: Switches the default mouse wheel behavior between zooming and scrolling the graph.
- Scroll Sensitivity: Value that determines how fast you can scroll with the mouse wheel.
- Zoom Sensitivity: Value that determines how fast you can zoom with the mouse wheel.

#### Miscellaneous

The Miscellaneous tab is used to configure all graph-related settings that do not fit into any of the other tabs.

- Gradient Background: Switches between a blank white graph background and a colored background.
- Layout Animation: If switched on, layout changes in the graph are animated.
- Animation Speed: Speed of the layout change animation.
- Function Information: If switched on, call graph function nodes show node and edge information about the function represented by the nodes.