Редакторы рабочей среды

Несмотря на то, что реализация редактора рабочей среды зависит от применяемого модуля и редактируемого содержимого, в рабочей среде предусмотрена общая структура создания редакторов. Следующая информация применима ко всем редакторам рабочей среды.

Компоненты и ввод редакторов

Редактор должен реализовать интерфейс IEditorPart. Как правило, для этого расширяется класс EditorPart. Пользовательский интерфейс редактора реализуется с помощью метода createPartControl. Он позволяет скомпоновать управляющие элементы SWT или программы просмотра JFace, отображающие содержимое редактора.  

Ввод редактора - это описание редактируемых объектов. Например, ввод можно рассматривать как имя файла, хотя это более общее понятие. IEditorInput задает протокол обработки ввода редактора. В частности, имя ввода и изображение, применяемые для его представления в метках, расположенных в верхней части редактора.

Метка ввода редактора

Платформа предусматривает два базовых типа ввода редактора. IFileEditorInput описывает ввод, который представляет собой файл, принадлежащий файловой системе. IStorageEditorInput описывает ввод в виде потока байтов. Этот поток может передаваться из источников, отличных от файловой системы.

Изменение ввода текстового редактора

Если редактор должен поддерживать динамическое изменение объекта ввода, необходимо реализовать интерфейс IReusableEditor. С помощью этого интерфейса рабочая среда может повторно использовать редактор. Например, с помощью пользовательских параметров рабочей среды можно разрешить повторное использование редакторов после того, как открыто заданное число редакторов.

Просмотр ввода редактора

Применение хронологии навигации в редакторе предусматривает реализацию интерфейса INavigationLocationProvider.  С его помощью рабочая среда может запрашивать текущее расположение навигации (INavigationLocation), необходимое для ведения хронологии. Операции пользовательского интерфейса навигации выполняются рабочей средой. Интерфейс INavigationLocation получит уведомление, если потребуется восстановить в редакторе связанное с ним расположение.

Прочие особенности реализации редактора определяются содержимым, которое предполагается обрабатывать с помощью редактора. Далее будет рассмотрен наиболее общий тип редактора - текстовый редактор.