Relation Window Options

The Relation Window Options command is accessed from the Relation Window toolbar or shortcut menu. You control what relationships are shown from this dialog box, and how the window is displayed.

See: Relation Window.

Relation Window Options Dialog Box

inset_87.jpg

 

Font…, Text Color…, Back Color…

Click on these to select the font, text color, and background color, respectively, of the Relation Window. These apply to the outline view only.

Graph…

Click on this button to open the Relation Graph Properties dialog box. From there, you can adjust the options for the graph view of the Relation Window.

Automatic Symbol Tracking

Click the Tracking Options button to control what the Relation Window tracks. It can track the symbol that appears under the cursor, or it can track the enclosing function or data structure where the selection is located.

Automatic Expansion Options

This section specifies how deep the Relation Window should expand automatically. You can override this on an individual basis by right-clicking on a node in the Relation Window and selecting Expand Special.

Levels

The number of levels to expand below the root node.

Expand duplicate branches

Enable this to expand duplicate child branches, even if they have already been expanded earlier. If this is dis­abled, then duplicate children are inserted in a collapsed state.

View Relationship Group

This group specifies the relationship expanding rules the Relation Window uses when it tracks symbols of dif­ferent types.

View Relationship

The relationship shown depends on the type of symbol. You can specify what relationship is shown for differ­ent symbol types. For example, you could set the relationship viewed for functions to "Calls", and the rela­tionship viewed for classes to “Inheritance”. Thus, when you select a function, the Relation Window shows a call tree, and when you select a class name, the Relation Window shows the class inheritance hierarchy. See: Relationship Rules.

Show all references inside each function

In the graph view, when the Relation Window is showing a “references” type of relationship, this option groups multiple references from within the same symbol into a single node. For example, if function B is called three times from inside of function A, then the node for function A will contain three items drawn inside of it to represent the three calls to function B.

Call Graph Filtering

Click this button to use the Call Graph Filter dialog box. This allows you to control what symbols participate in the call tree calculation. See: Call Graph Filter.

Symbol Types

Click this button to view the Symbol Type Filter dialog box. This allows you to filter out specific types of sym­bols from the Relation Window output. See: Symbol Type Filter.

Columns Group

This group specifies what columns should appear in the outline list view. The Relation Window can be sorted by clicking on any column header.

Show file names

Shows the file name column.

Show line numbers

Shows the line number column. In most cases, the line number is where the given symbol is referred to.

Show code metrics

Shows the selected code metrics column. Only one code metrics column is allowed.

Relationship Rules

The relationship shown in the Relation Window depends on the type of symbol. You can specify what rela­tionship is shown for different symbol types. For example, you could set the relationship viewed for functions to "Calls", and the relationship viewed for classes to "Inheritance". Thus, when you select a function, the Relation Window shows a call tree, and when you select a class name, the Relation Window shows the class inheritance hierarchy.

Each time the Relation Window expands a symbol to show a new level, the relationship represented by the expansion is based on the type of symbol being expanded. That means each Relation Window has the poten­tial to show multiple relationships. For example, a class might show its contents, which consists of member functions. Each member function might show its references.

The "Type of" Relationship

There is a relationship in the list for Variables that is named "Type of". The "Type of" relationship yields the type of the variable. Then, the relationship rule for Types is applied. It is a kind of indirect relationship.

For example, let's say you set the Variable relationship to "Type of", and the Type relationship to "Refer­ences". Now when you select a variable of a particular structure or class type, the Relation Window will decode the variable's type, then apply the "References" relationship rule and show the references to the vari­able's type.

Call Graph Filter

The Call Graph Filtering dialog box allows you to control what symbols participate in the call tree calculation.

inset_86.jpg

 

Exclusions

This section controls what symbols are filtered out of the call tree.

Exclude Symbols…

Click this button bring up the Exclude Call Graph Symbols list. You can add specific symbols to this list. If a symbol is in the exclusion list, then Source Insight will not expand the symbol in the call graph display.

Exclude C Macros

Check this to omit C function-like macros from the call graph. If this option is off, then function-like macros are expanded in the call graph as though they were an actual function.

Code Metric Filter

This section specifies the code metrics criteria for filtering out symbols. If enabled, symbols will only be included in the call graph is the symbols code metric value is within an acceptable range.

From the Code Metric Filter drop-down list, select the code metric that you want to use as the criteria, or select "None" if you don't want to use this option.

Minimum value

A symbol must have a code metric value of this or greater to be included.

Maximum value

A symbol must have a code metric value of this or less to be included. If the value is set to –1, then there is no maximum.

Symbol Type Filter

The Symbol Type Filter dialog box appears whenever you ask to specify symbol types to be used to filter an operation or listing.

 

Symbol Tracking Options

This dialog box displays options that guide what the Relation window will pay attention to.

Automatic Symbol Tracking

As you move your cursor around in a source file, the Relation Window "tracks" the symbol under the cursor, or around the cursor. This group of options tells the Relation Window what to track.

Off

Select this to disable automatic symbol tracking.

Track selected symbol (i.e. under cursor)

Select this to have the Relation Window look up the definition of the symbol currently under the typing cur­sor.

Track the enclosing function or class

Select this to have the Relation Window show the definition of the function or class that contains the typing cursor. This is useful to have a function definition and formal parameters visible in the Relation Window while you edit the function.

Activate Tracking Group

This group controls when the automatic tracking is activated.

Inside of comments

Select this to have the Relation Window look up symbols when the cursor is inside of comments.

Inside of string constants

Select this to have the Relation Window look up symbols when the cursor is inside of quoted string con­stants.

Inside all file types

Select this to have the Relation Window look up symbols when the cursor is inside any type of file, not just source code files.