Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Orion/Documentation/Developer Guide/Plugging into the navigator

< Orion‎ | Documentation‎ | Developer Guide
Revision as of 17:08, 23 June 2011 by John arthorne.ca.ibm.com (Talk | contribs) (orion.navigate.openWith)

Overview of contributing services to the Navigator

The Navigator page provides a view for users to browse and manipulate files in their workspace. The Navigator defines some services to allow plug-ins to contribute commands to this view.

orion.navigate.command

The orion.navigate.command service is used to contribute commands to the drop-down menu next to each file and folder. When the service is executed, the currently selected item in the Navigator is passed to the service's run method. The command can perform some operation on the provided selection, and optionally return an URL that the user will navigate to when clicking the command.

Service methods

Implementations of orion.navigate.command must define the following function:

run(selection)
Takes the navigator selection as an argument, and returns a URL string.

Service attributes

Implementations of orion.navigate.command may define the following attributes:

image
The URL of an icon to associate with the command
name
The command text show to the user
id
The command id
forceSingleItem
A boolean attribute specifying whether the command supports only a single selected item or multiple items
href
A boolean attribute indicating whether the command returns a link. If this attribute is specified and true, the command will render as a hyperlink and the user will navigate to the URL provided by the run method's return value.
tooltip
Tooltip text shown to the user when they hover on the command

Example

Here is a sample plug-in that contributes a link to a Google search for the selected file's name:

 var provider = new eclipse.PluginProvider({postInstallUrl:"/plugin/list.html"});
 provider.registerServiceProvider("orion.navigate.command", {
   run : function(item) {
     return "http://www.google.com/#q=" + item.Name;
   }
 }, {
   image: "http://www.google.com/favicon.ico",
   name: "Google Search",
   id: "sample.commands.sample4",
   forceSingleItem: true,
   href: true,
   tooltip: "Link to google search for this file name"
 });
 provider.connect();

When this plug-in is installed, the user will see the google search command in the Navigator menu as follows:

Orion-file-command-example.png

For more examples of contributing Navigator commands see the sample commands plugin.

orion.navigate.openWith

The orion.navigate.openWith service is used to contribute the location of an editor for a particular file type. This service is purely declarative, with no implementation methods required.

Service methods

None

Service attributes

Implementations of orion.navigate.openWith must define the following attributes:

name
The name of the editor that opens with this service
href
The location of the editor to be opened. The variable ${Location} is substituted with the URL of the file being edited.
validationProperties
An object specifying what file types this service is applicable to. Currently the only supported attribute is Name, specifying a regular expression to match on the file name.

Example

Here is a sample plug-in that contributes a link to a Google search for the selected file's name:

 var serviceImpl = {};
 var serviceProperties = {
   name: "Orion web editor",
   href: "/edit/edit.html#${Location}",
   validationProperties: {Name: "*.(css|js|htm|html|txt|xml|java)"}
 };
 provider.registerServiceProvider("orion.navigate.openWith", serviceImpl, serviceProperties);

When this plug-in is installed, the user will see Orion web editor as an available target in the Open With Navigator menu as follows:

Orion-file-openWith-example.png

Back to the top