Graphical Editing Framework
Graphical Editing Framework (GEF) — фреймворк, специально разработанный для платформы Eclipse. Считается, что GEF довольно сложный фреймворк для изучения, но при этом он имеет ряд преимуществ по сравнению с другими фреймворками. GEF состоит из следующих компонент:
- draw2d — используется для создания view-компонент
- Запросы/команды для редактирования модели
- Палитра инструментов, доступная пользователю
Graphical Editing Framework | |
---|---|
Тип | фреймворк среды Eclipse для создания графического интерфейса |
Разработчик | Eclipse Foundation |
Написана на | Java |
Операционная система | Кроссплатформенное ПО |
Последняя версия | 3.5.2 (24 февраля 2010) |
Сайт | eclipse.org/gef/ |
Преимущества
- Имеется графическое представление модели с возможностью редактирования
- Встроенные инструменты для выбора, создания, соединения и др.
- 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 (англ.) ссылка недоступна
- Create an eclipse-based application using the Graphical Editing Framework (new version) (англ.)
- GEF on Eclipsepedia (англ.)
- A similar Graph Editing Framework at tigris.org (недоступная ссылка) (англ.)