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

Difference between revisions of "E4/Eclipse Application Model"

< E4
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
a.k.a. "the twenty things"
+
#REDIRECT [[E4/Eclipse_Application_Services]]
 
+
This is a first list of "recommended APIs" - things that we expect most Eclipse plug-ins would make use of (if applicable).
+
 
+
Note that "the Workbench", "PlatformUI" or "Platform" are not on this list. Think of which services you would want to use from within your contributed view or editor.
+
 
+
''Kevin McGuire - Some of these support a component model, and some provide an application framework of common elements. It'd be worthwhile to identify this split since the former are essential for a web based Eclipse component model. For example, Selection service is needed so one can write independent views/editors and have them work together. Without it, there's no component interaction. Similarly, IMenuService and commands allow fine grain component interaction, so one plugin can say add a menu to a view it doesn't know about. UI State persistence though can be supported in a number of ways.  Help is purely an application framework item.''
+
 
+
''Kevin McGuire - We should have Commands as a top level item although we have an entire subject page on [[E4/Commands | commands]]. Plus here need to tie commands in with menu service and handlers (not sure right organization)''
+
 
+
=== Selection ===
+
ISelectionService - Listening to the current selection
+
 
+
=== Adapting objects ===
+
IAdapterManager - adapt an object (typically, the current selection) to a type that is relevant to the current plug-in
+
 
+
=== Scheduling background work ===
+
IProgressService - Schedule work in a way that is visible to the user
+
Job, IJobManager - schedule and manage background jobs
+
 
+
=== Help ===
+
IWorkbenchHelpSystem
+
 
+
=== Undo/Redo ===
+
IWorkbenchOperationSupport
+
 
+
=== Preferences ===
+
IPreferencesService - retrieve and modify preferences
+
 
+
=== Handlers ===
+
IHandlerService - register a handler for a global command like Copy/Paste
+
 
+
''Bjorn asks:'' where is the list of the global commands? Do we have a namespace of commands? Can any plug-in contribute to the set of commands? How do we know what the semantics of a given command are?
+
 
+
=== UI Contributions ===
+
IMenuService - programmatic contribution to menus and toolbars
+
 
+
=== Open web pages ===
+
IWorkbenchBrowserSupport
+
 
+
=== Decorations ===
+
IDecoratorManager
+
 
+
=== Common UI Elements ===
+
Wizard framework, Dialogs
+
''--- Added - KevinM''
+
 
+
=== Dynamic enablement ===
+
IExtensionTracker - ability to react to components coming and going at runtime
+
 
+
=== UI state persistence ===
+
IDialogSettings, IMemento - Persistence of UI state: layouts, dialog sizes, viewer selection and expansion state
+
 
+
=== Extension registry ===
+
IExtensionRegistry - registering and accessing extensions and extension points
+
 
+
[[Category:e4]]
+

Latest revision as of 14:07, 16 January 2009

Back to the top