Graphical Editing Framework

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Graphical Editing Framework
Gefbanner.jpg
Тип

фреймворк среды 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.

EditPolicies[править | править исходный текст]

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

GEF и EMF[править | править исходный текст]

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

Ссылки[править | править исходный текст]