Graphical Editing Framework — Википедия

Graphical Editing Framework
Логотип программы Graphical Editing Framework
Тип фреймворк среды Eclipse для создания графического интерфейса
Разработчик Eclipse Foundation
Написана на Java
Операционная система Кроссплатформенное ПО
Последняя версия 3.5.2 (24 февраля 2010)
Сайт eclipse.org/gef/

Graphical Editing Framework (GEF) — фреймворк, специально разработанный для платформы Eclipse. Считается, что GEF довольно сложный фреймворк для изучения, но при этом он имеет ряд преимуществ по сравнению с другими фреймворками. GEF состоит из следующих компонент:

  • draw2d — используется для создания view-компонент
  • Запросы/команды для редактирования модели
  • Палитра инструментов, доступная пользователю

Преимущества

[править | править код]
  • Имеется графическое представление модели с возможностью редактирования
  • Встроенные инструменты для выбора, создания, соединения и др.
  • Model-View-Controller концепция

Концепция MVC

[править | править код]
  • Model: Модель данных должна быть реализована разработчиком, либо может уже существовать в программном обеспечении
  • Controller: EditPart выступает в качестве контроллера. Обычно используется GraphicalEditPart. Для каждого элемента модели, включая коннекторы, должны быть созданы специфичные реализации EditPart. Слушатели (listeners) для модели должны быть определены с помощью функции EditPart.activate() и могут быть удалены с помощью функции EditPart.deactivate(). Если модель изменяется, то соответствующая ей компонента view также должна быть обновлена. Соответствующая модели компонента view создаётся с помощью функции .createFigure().
  • View: Для каждого элемента модели, включая коннекторы, должна быть реализована соответствующая компонента view. Для этого должен быть реализован интерфейс IFigure библиотеки draw2d.

Общее поведение модели данных определяется политикой редактирования («Editpolicy»). Контроллер может предоставлять большое количество моделей поведения, путём сопоставления политики редактирования («Editpolicy») соответствующей роли («Role»). Политики редактирования могут добавляться и удаляться динамически.

GEF может быть непосредственно использован с любой моделью данных, в том числе созданных с помощью Eclipse Modeling Framework. Graphical Modeling Framework предоставляет дополнительную инфраструктуру для диаграмм, которые используют или расширяют EMF модель лежащую в основе GMF.