Skip to main content
Jump to: navigation, search

Orion/Documentation/Developer Guide/User interface services

< Orion‎ | Documentation‎ | Developer Guide
Revision as of 20:33, 16 June 2011 by Susan (Talk | contribs) (

Overview of user interface services

The selection service tracks the selection in the current page. The page determines how selections are shown and made by the user, but typically they are managed in a list, table, or tree. Clients can use this service to get or set the current selection, or to register a listener that will be notified when the selection changes.

Here is an example of adding a listener to track selection changes:

 serviceRegistry.getService("").then(function(service) {
   service.addEventListener("selectionChanged", function(fileURI) {
     //do something with the selection

See orion.selection.Selection in the client API reference for a complete list of functions available on the selection service.

The command service is responsible for managing and rendering commands such as tool bar and menu items. A command represents a single clickable action for a user, such as a toolbar button or menu item. Here is an example of a simple command definition:

 define(['orion/commands'], function(mCommands) {
   var editCommand = new mCommands.Command({
     name: "Edit",
     image: "/images/editing_16.gif",
     id: "",
     visibleWhen: function(item) {
       //return true if this command should be visible for 'item'
     callback: function(item, commandId, domId, propertyIndex) {
       //execute the command

After defining a command, you need to register both the command itself, and a command contribution, which is a visible representation of the command in some menu. This snippet registers the above command, and a corresponding command contribution:

 serviceRegistry.getService("").then(function(commandService) {
   // register commands with object scope
   commandService.addCommand(editPropertyCommand, "object");
   // declare the contribution to the ui
   commandService.registerCommandContribution("", 1);

See orion.commands.CommandService in the client API reference for a complete list of functions available on the command service.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.