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.
EditPolicies
Общее поведение модели данных определяется политикой редактирования («Editpolicy»). Контроллер может предоставлять большое количество моделей поведения, путём сопоставления политики редактирования («Editpolicy») соответствующей роли («Role»). Политики редактирования могут добавляться и удаляться динамически.
GEF и EMF
GEF может быть непосредственно использован с любой моделью данных, в том числе созданных с помощью Eclipse Modeling Framework. Graphical Modeling Framework предоставляет дополнительную инфраструктуру для диаграмм, которые используют или расширяют EMF модель лежащую в основе GMF.
Ссылки
- Create an eclipse-based application using the Graphical Editing Framework Архивная копия от 24 января 2009 на Wayback Machine (англ.) ссылка недоступна
- Create an eclipse-based application using the Graphical Editing Framework (new version) Архивная копия от 25 октября 2012 на Wayback Machine (англ.)
- GEF on Eclipsepedia Архивная копия от 20 мая 2011 на Wayback Machine (англ.)
- A similar Graph Editing Framework at tigris.org Архивная копия от 8 июля 2010 на Wayback Machine (англ.)