FAQ Pages, parts, sites, windows: What is all this stuff?

Denizens of the Eclipse newsgroups, clearly
expressing frustration with the overwhelming sea of terms, have been known to
ask, &#147;What is the Eclipsian word for X?,&#148; or &#147;What is that thingy
called in Eclipse Speak?.&#148; In an effort to assuage the suffering of new users,
the following is a mile-high view of the pieces of the Eclipse UI.

The term used to represent the entire UI is workbench. The workbench
itself has no physical manifestation, but the workbench object is used to
access most of the general APIs and services available in the generic UI.
The workbench is displayed in one or more workbench windows.
These basic top-level windows make up an Eclipse application.
Note that dialogs, wizards, and other transient pop-ups are
not called workbench windows.

At the top of each window is the title bar, typically
a native widget with a title and controls for resizing and closing. Next comes the
menu bar, and after that is the cool bar. The cool bar is a fancy
term for a bar of buttons that can be dragged around and reorganized across multiple
lines. On the left, right, or bottom, depending on user preference, is the
fast view bar, where fast views&#151;iconified views&#151;are stored. At the
bottom is the status line, where various bits of information
are shown; the far-right corner of the status line is called
the progress indicator.

The main body of a workbench window is represented by the
workbench page, which in turn is made up of workbench
parts, which come in two varieties: views and editors. The initial size
and orientation of the parts in the page are determined by a perspective.

Parts interact with the rest of the window via their site.
The site is not a visible entity but simply an API mechanism to separate the methods
that operate on the view from the methods that operate
on controls and services outside the view. This allows the workbench
implementers to add new features to the sites without breaking all the plug-ins
that implement the parts. Figure 9.1 Spider graph shows how a view (ContentOutline)
and an editor (WelcomeEditor) each has its own site, which is hosted by a
page, inside a workbench window, owned by the workbench.