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.
Difference between revisions of "Eclipse4/API/AppContext"
Line 49: | Line 49: | ||
<u><span style="font-style: italic;"><span style="font-weight: bold;">In the UI Model a MPart can have any number of menus, each with a unique id. Do we need this or should we have a 'showMenu(id)' method ?</span></span></u><u><span style="font-style: italic;"><span style="font-weight: bold;" /></span></u> | <u><span style="font-style: italic;"><span style="font-weight: bold;">In the UI Model a MPart can have any number of menus, each with a unique id. Do we need this or should we have a 'showMenu(id)' method ?</span></span></u><u><span style="font-style: italic;"><span style="font-weight: bold;" /></span></u> | ||
− | === ESelectionService === | + | === ESelectionService === |
− | + | This allows for registration of listeners regarding the current selection. Note that this has more functionality in it than the @Inject approach since it provides 'post selection' (i.e. deferred) listeners as well as regular listeners.<br> |
Revision as of 16:33, 7 March 2013
Contents
Services and Context Values
This section will describe which elements are guaranteed to be available for injection through the IEclipseContext. The most common of these will be the 'standard' services but will also reference some other 'value' elements (i.e. the injected value is *not* an interface itself but some discreet value such as a preference or model event).
Basic Services
EModelService
This service presents API appropriate for working with the UI Model. If contains methods to search for model elements via a variety of search parameters a well as operations that can be used to manipulate the model to achieve changes in the UI.
EPartService
This service provides API that deals with the runtime aspects of managin the current workbench UI such as opening new parts or getting / setting the 'active' part...
EBindingService
This service allows manipulation of the key binding structures.
Some (many?) of the methods in this class appear to be more useful for the implementation rather than user API.
EContextService
Provides API to control the active 'chain' within a context structure.
Is this too low level to be useful for clients ?
ECommandService
Provides API to construct Commands.
Why is there no 'Execute' ?
EHandlerService
This provides API to manage Handlers.
Why do the Execute methods take in Parameterized Commands (perhaps Execute should be in the CommandService and take a Handler?)
What's 'getContext' for ?
EMenuService
Provides a single API to register context menus.
In the UI Model a MPart can have any number of menus, each with a unique id. Do we need this or should we have a 'showMenu(id)' method ?<span style="font-weight: bold;" />
ESelectionService
This allows for registration of listeners regarding the current selection. Note that this has more functionality in it than the @Inject approach since it provides 'post selection' (i.e. deferred) listeners as well as regular listeners.