The Projection View displays query
results. It shows the results in a tree structure. The root of the tree is always
one or more Class/Interface. Inner Classes or anonymous Classes are also listed
as the root of the tree. The tree links domain elements to
range elements through a relation. The relation
is identified with a blue dot. Double-clicking on an element
in the Projection View will display its declaration. Single-clicking on a range element in a relation will
display the relation in the source code. If there are multiple locations in the source code
mapping to a relation, single-clicking multiple times on the relation will cycle through the different
locations.
The Projection View usually is the most frequently used view in FEAT. Either working mostly within the FEAT perspective or the Java perspective, querying in the Projection View is a must for browsing through the code base and looking up important elements and relations. The Projection View acts as a query pad, and also provides a series of useful funtions to show the results in different ways.
Right-clicking on a concern brings up a pop-up menu supporting various actions. The pop-up menu actions are different for range elements. The available actions are:
At the top of the view, a drop down text field summarizes the query history. Clicking on the arrow at the end of the field allows to select a previous query from a query history. If a previous query is selected, the corresponding results are displayed in the tree.
On the tool bar, clicking on the collapse by one step
icon will collapse the participant trees
by one level. Clicking on the expand by one step
icon
will expand the participant trees
by one level. Clicking on the package icon
enables or disables the display of package names in the view. Clicking on the
project only
icon will filter out all the elements or relations involving elements that are
not a part of the project(s) the concern is based on.
The drop-down menu in the tool bar also support actions on the entire query results:
In the following screen shot, the domain of the current query is the result/range of the previous query (creating).