Interface ISources


public interface ISources

A source is type of event change that can occur within the workbench. For example, the active workbench window can change, so it is considered a source. Workbench services can track changes to these sources, and thereby try to resolve conflicts between a variety of possible options. This is most commonly used for things like handlers and contexts.

This interface defines the source that are known to the workbench at compile-time. These sources can be combined in a bit-wise fashion. So, for example, a ACTIVE_PART | ACTIVE_CONTEXT source includes change to both the active context and the active part.

The values assigned to each source indicates its relative priority. The higher the value, the more priority the source is given in resolving conflicts. Another way to look at this is that the higher the value, the more "local" the source is to what the user is currently doing. This is similar to, but distinct from the concept of components. The nesting support provided by components represent only one source (ACTIVE_SITE) that the workbench understands.

Note that for backward compatibility, we must reserve the lowest three bits for Priority instances using the old HandlerSubmission mechanism. This mechanism was used in Eclipse 3.0.

Note in 3.3:

Currently, source variables are not extensible by user plugins, and the number of bits available for resolving conflicts is limited. When the variable sources become user extensible a new conflict resolution mechanism will be implemented.

Since:
3.1
See Also:
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Details

    • WORKBENCH

      static final int WORKBENCH
      The priority given to default handlers and handlers that are active across the entire workbench.
      See Also:
    • LEGACY_LEGACY

      static final int LEGACY_LEGACY
      The priority given when the activation is defined by a handler submission with a legacy priority.
      See Also:
    • LEGACY_LOW

      static final int LEGACY_LOW
      The priority given when the activation is defined by a handler submission with a low priority.
      See Also:
    • LEGACY_MEDIUM

      static final int LEGACY_MEDIUM
      The priority given when the activation is defined by a handler submission with a medium priority.
      See Also:
    • ACTIVE_CONTEXT

      static final int ACTIVE_CONTEXT
      The priority given when the source includes a particular context.
      See Also:
    • ACTIVE_CONTEXT_NAME

      static final String ACTIVE_CONTEXT_NAME
      The variable name for the active contexts. This is for use with the ISourceProvider and IEvaluationContext.
      Since:
      3.2
      See Also:
    • ACTIVE_ACTION_SETS

      static final int ACTIVE_ACTION_SETS
      The priority given when the source includes a particular action set.
      Since:
      3.2
      See Also:
    • ACTIVE_ACTION_SETS_NAME

      static final String ACTIVE_ACTION_SETS_NAME
      The variable name for the active action sets. This is for use with the ISourceProvider and IEvaluationContext.
      Since:
      3.2
      See Also:
    • ACTIVE_SHELL

      static final int ACTIVE_SHELL
      The priority given when the source includes the currently active shell.
      See Also:
    • ACTIVE_SHELL_NAME

      static final String ACTIVE_SHELL_NAME
      The variable name for the active shell. This is for use with the ISourceProvider and IEvaluationContext.
      See Also:
    • ACTIVE_WORKBENCH_WINDOW_SHELL

      static final int ACTIVE_WORKBENCH_WINDOW_SHELL
      The priority given when the source includes the currently active workbench window shell.
      Since:
      3.2
      See Also:
    • ACTIVE_WORKBENCH_WINDOW_SHELL_NAME

      static final String ACTIVE_WORKBENCH_WINDOW_SHELL_NAME
      The variable name for the active workbench window shell. This is for use with the ISourceProvider and IEvaluationContext.
      Since:
      3.2
      See Also:
    • ACTIVE_WORKBENCH_WINDOW

      static final int ACTIVE_WORKBENCH_WINDOW
      The priority given when the source includes the currently active workbench window.
      See Also:
    • ACTIVE_WORKBENCH_WINDOW_NAME

      static final String ACTIVE_WORKBENCH_WINDOW_NAME
      The variable name for the active workbench window. This is for use with the ISourceProvider and IEvaluationContext.
      See Also:
    • ACTIVE_WORKBENCH_WINDOW_SUBORDINATE

      static final int ACTIVE_WORKBENCH_WINDOW_SUBORDINATE
      The priority given when the source includes subordinate properties of the currently active workbench window.
      Since:
      3.3
      See Also:
    • ACTIVE_WORKBENCH_WINDOW_IS_COOLBAR_VISIBLE_NAME

      static final String ACTIVE_WORKBENCH_WINDOW_IS_COOLBAR_VISIBLE_NAME
      The variable name for the coolbar visibility state of the active workbench window. This is for use with the ISourceProvider and IEvaluationContext.
      Since:
      3.3
      See Also:
    • ACTIVE_WORKBENCH_WINDOW_IS_PERSPECTIVEBAR_VISIBLE_NAME

      static final String ACTIVE_WORKBENCH_WINDOW_IS_PERSPECTIVEBAR_VISIBLE_NAME
      The variable name for the perspective bar visibility state of the active workbench window. This is for use with the ISourceProvider and IEvaluationContext.
      Since:
      3.3
      See Also:
    • ACTIVE_WORKBENCH_WINDOW_ACTIVE_PERSPECTIVE_NAME

      static final String ACTIVE_WORKBENCH_WINDOW_ACTIVE_PERSPECTIVE_NAME
      The variable name for the current perspective of the active workbench window. This is for use with the ISourceProvider and IEvaluationContext.
      Since:
      3.4
      See Also:
    • ACTIVE_EDITOR

      static final int ACTIVE_EDITOR
      The priority given when the source includes the active editor part.
      See Also:
    • ACTIVE_EDITOR_NAME

      static final String ACTIVE_EDITOR_NAME
      The variable name for the active editor part. This is for use with the ISourceProvider and IEvaluationContext.
      Since:
      3.2
      See Also:
    • ACTIVE_EDITOR_INPUT_NAME

      static final String ACTIVE_EDITOR_INPUT_NAME
      The editor input of the currently active editor.
      Since:
      3.5
      See Also:
    • ACTIVE_EDITOR_ID

      static final int ACTIVE_EDITOR_ID
      The priority given when the source includes the active editor identifier.
      Since:
      3.2
      See Also:
    • ACTIVE_EDITOR_ID_NAME

      static final String ACTIVE_EDITOR_ID_NAME
      The variable name for the active editor identifier. This is for use with the ISourceProvider and IEvaluationContext.
      Since:
      3.2
      See Also:
    • ACTIVE_PART

      static final int ACTIVE_PART
      The priority given when the source includes the active part.
      See Also:
    • ACTIVE_PART_NAME

      static final String ACTIVE_PART_NAME
      The variable name for the active part. This is for use with the ISourceProvider and IEvaluationContext.
      See Also:
    • ACTIVE_PART_ID

      static final int ACTIVE_PART_ID
      The priority given when the source includes the active part id.
      Since:
      3.2
      See Also:
    • ACTIVE_PART_ID_NAME

      static final String ACTIVE_PART_ID_NAME
      The variable name for the active part id. This is for use with the ISourceProvider and IEvaluationContext.
      Since:
      3.2
      See Also:
    • ACTIVE_SITE

      static final int ACTIVE_SITE
      The priority given when the source includes the active workbench site. In the case of nesting components, one should be careful to only activate the most nested component.
      See Also:
    • ACTIVE_SITE_NAME

      static final String ACTIVE_SITE_NAME
      The variable name for the active workbench site. This is for use with the ISourceProvider and IEvaluationContext.
      See Also:
    • SHOW_IN_SELECTION

      static final String SHOW_IN_SELECTION
      The variable for the showIn selection. This is for use with the ISourceProvider and IEvaluationContext.
      Since:
      3.4
      See Also:
    • SHOW_IN_INPUT

      static final String SHOW_IN_INPUT
      The variable for the showIn input. This is for use with the ISourceProvider and IEvaluationContext.
      Since:
      3.4
      See Also:
    • ACTIVE_CURRENT_SELECTION

      static final int ACTIVE_CURRENT_SELECTION
      The priority given when the source includes the current selection.
      See Also:
    • ACTIVE_CURRENT_SELECTION_NAME

      static final String ACTIVE_CURRENT_SELECTION_NAME
      The variable name for the active selection. This is for use with the ISourceProvider and IEvaluationContext.
      Since:
      3.2
      See Also:
    • ACTIVE_MENU

      static final int ACTIVE_MENU
      The priority given when the source includes the current menu.
      Since:
      3.2
      See Also:
    • ACTIVE_MENU_NAME

      static final String ACTIVE_MENU_NAME
      The variable name for the active menu. This is for use with the ISourceProvider and IEvaluationContext.
      Since:
      3.2
      See Also:
    • ACTIVE_MENU_SELECTION_NAME

      static final String ACTIVE_MENU_SELECTION_NAME
      The variable name for the local selection, available while a context menu is visible.
      Since:
      3.3
      See Also:
    • ACTIVE_MENU_EDITOR_INPUT_NAME

      static final String ACTIVE_MENU_EDITOR_INPUT_NAME
      The variable name for the local editor input which is sometimes available while a context menu is visible.
      Since:
      3.3
      See Also:
    • ACTIVE_FOCUS_CONTROL_NAME

      static final String ACTIVE_FOCUS_CONTROL_NAME
      The variable name for the active focus Control, when provided by the IFocusService.
      Since:
      3.3
      See Also:
    • ACTIVE_FOCUS_CONTROL_ID_NAME

      static final String ACTIVE_FOCUS_CONTROL_ID_NAME
      The variable name for the active focus Control id, when provided by the IFocusService.
      Since:
      3.3
      See Also: