Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Orion/Documentation/Developer Guide/User interface services
Contents
Overview of user interface services
orion.page.selection
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("orion.page.selection").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.
orion.page.command
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: "my.command.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("orion.page.command").then(function(commandService) { // register commands with object scope commandService.addCommand(editPropertyCommand, "object"); // declare the contribution to the ui commandService.registerCommandContribution("my.command.id", 1); });
See orion.commands.CommandService in the client API reference for a complete list of functions available on the command service.