Relationship Rules

The relationship shown in the Relation Window depends on the type of symbol. You can specify what relationship 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 potential 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 “References”. 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 variable’s type.