Aunque la implementación de un editor del entorno de trabajo sea específica del conector y del contenido que desee editar, el entorno de trabajo proporciona una estructura general para construir un editor. Los conceptos siguientes son válidos para todos los editores del entorno de trabajo.
Un editor debe implementar IEditorPart y suele construirse ampliando la clase EditorPart. Un editor implementa su interfaz de usuario en el método createPartControl. Este método se utiliza para ensamblar los widgets de SWT o los visores de JFace que presentan el contenido del editor.
Una entrada de editor es una descripción de algo que se va a editar. Es como un nombre de archivo, aunque en sentido más genérico. IEditorInput define el protocolo de una entrada de editor, incluido el nombre de la entrada y la imagen que debe utilizarse para representarla en las etiquetas de la parte superior del editor.
En la plataforma se proporcionan dos entradas de editor genéricas. IFileEditorInput representa una entrada que es un archivo del sistema de archivos. IStorageEditorInput representa una entrada que es una corriente de bytes.Estos bytes pueden proceder de fuentes que no sean el sistema de archivos.
Si el editor puede dar soporte a la sustitución del objeto de entrada del editor sobre la marcha, debe implementar IReusableEditor. La implementación de esta interfaz permite al entorno de trabajo "reciclar" el editor. Las preferencias de usuario del entorno de trabajo permiten al usuario indicar que los editores deben reutilizarse cuando se ha abierto un determinado número de ellos.
Si desea implementar un historial de navegación en el editor, debe implementar INavigationLocationProvider. Proporciona un mecanismo para que el entorno de trabajo solicite una ubicación de navegación actual (INavigationLocation) según sea necesario para mantener un historial de navegación. El entorno de trabajo maneja el mecanismo de la interfaz de usuario de navegación. Se informará a INavigationLocationcuando necesite restaurar el editor en la ubicación que representa.
El resto de la implementación del editor depende del contenido que desee presentar. A continuación, veremos el tipo de editor más común: el editor de texto.