blob: a43be03410c8f5e67955175efd7bd2a47c12eeaa [file] [log] [blame]
o<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<!-- Escape to the root of your source folder -->
<meta
name="root"
content="../../../../../" />
<title>wtp common navigator api</title>
</head>
<body>
<abstract>Provides the foundation of the Common Navigator. The Common Navigator
is a framework for multiple providers to intermingle heterogeneous content.
</abstract>
<p>The Common Navigator allows various types of content to be
added to the same viewer in an extensible and transparent
manner.
</p>
<img src="../../../../../overview/framework-overview.jpg" caption="The Core API available to consumers." />
<p>
Clients that wish to add content to an existing Common
Navigator require the components described by Figure 2. The
<b>Logical Enablement Clause</b>
describes when the extension should be invoked using a
generic Action Expression.
</p>
<img src="../../../../../overview/navigator_logical_extension.jpg"
caption="A logical content extension for the Common Navigator." />
<p>
When the Common Navigator finds an object for which the
extension is interested in supplying children, the extension
is loaded and the
<code>org.eclipse.jface.viewers.ITreeContentProvider</code>
is requested to supply children for the object. Then, the
<code>org.eclipse.jface.viewers.ILabelProvider</code>
is invoked to supply image and text to display when rendering
the object in the viewer. Some clients may choose to
implement
<code>
org.eclipse.wst.common.navigator.views.ICommonLabelProvider
</code>
for the extra information that will be supplied to
implementors of that interface. However, clients are only
required to implement
<code>ILabelProvider</code>
.
</p>
<p>
The
<code>org.eclipse.jface.viewers.IOpenListener</code>
will be invoked to handle user request to open objects that
the extension is interested in (as specified in the
<b>Logical Enablement Expression</b>
). Like
<code>ICommonLabelProvider</code>
, clients may choose to implement
<code>
org.eclipse.wst.common.navigator.views.ICommonOpenListener
</code>
for tighter integration with the Common Navigator.
</p>
<p>
The
<code>org.eclipse.jface.viewers.ICommonActionProvider</code>
will have opportunities at appropriate times to contribute to
the popup context menu and the IActionBars (used for
retargetable actions).
</p>
</body>
</html>