Dependencies, Extension Points, and Classes for Editors
Whether you are customizing an editor or creating the sample editor that the procedure in this book builds, both Eclipse and Sabre Red 360 have defined some dependencies, extension points, and classes that are required to create an editor. These requirements follow.
Minimum Required Dependencies
-
org.eclipse.core.runtime
-
org.eclipse.ui
-
com.sabre.edge.platform.core.editor
This Sabre Red 360 dependency is required for an editor object. It provides classes that are required to implement an editor.
Extension Points
-
org.eclipse.ui.editors
-
org.eclipse.ui.elementFactories
-
com.sabre.edge.platform.core.editor.editorApp
This is a Sabre Red 360 extension point. It is required for any editor that you want to create for the Sabre Red 360.
-
org.eclipse.ui.commands
If you are using a Sabre Red 360 handler, the required value for the identifier property is editorId
.
-
org.eclipse.ui.handlers
When you are using a Sabre Red 360 handler, you must use the value editorId
for the command parameter. This ensures compatibility with the pre-defined handler for opening editors in Sabre Red 360.
This Sabre Red 360 handler class is com.sabre.edge.platform.core.editor.commands.handlers.FocusOrOpenEditorHandler .
-
org.eclipse.ui.menus
Classes
-
com.sabre.edge.platform.core.editor.editors.AbstractAppEditor
For the org.eclipse.ui.editors extension point, you must implement your own class, and extend com.sabre.edge.platform.core.editor.editors.AbstractAppEditor .
The createPartControl() method allows you to create user interface elements, such as buttons or labels.
-
com.sabre.edge.platform.core.editor.elements.AbstractElementFactory
For the org.eclipse.ui.elementFactories extension point, you must implement your own class, and extend com.sabre.edge.platform.core.editor.elements.AbstractElementFactory .
-
com.sabre.edge.platform.core.editor.editors.inputs.AbstractEditorInput
Your class must implement getEditorInput() and return the appropriate instance of the class to extend com.sabre.edge.platform.core.editor.editors.inputs.AbstractEditorInput .
AbstractEditorInput must implement getFactoryId() .
-
com.sabre.edge.platform.core.editor.commands.handlers.FocusOrOpenEditorHandler
If you use this Sabre Red 360 handler class, it is not necessary to write code that handles the opening of a new editor or view.