Jump to content

Платформа графического редактирования

Graphical Editing Framework (GEF) — это проект Eclipse , который предоставляет компоненты инфраструктуры и конечного пользователя, связанные с графическими приложениями. [ 1 ]

GEF изначально был разработан как часть etools IBM ( com.ibm.etools.gef) и был добавлен в Eclipse в 2002 году в версии 2.0.0, состоящей тогда из двух компонентов: Draw2d, компонента 2D-визуализации, основанного на Standard Widget Toolkit (SWT) и GEF (MVC), связанной структуры модель-представление-контроллер, которая может использоваться для реализации графических редакторов как часть приложений Eclipse Rich Client Platform (RCP). Первым выпуском Eclipse была GEF 2.1.0 в марте 2003 года. Следующая основная версия, GEF 3.0.0, была выпущена в июне 2004 года и предоставляла множество новых функций, таких как поддержка правил и руководств. Zest был добавлен в качестве третьего компонента проекта в 2007 году в версии 1.0.0 как часть выпуска GEF 3.4.0. С 2004 года, когда был выпущен GEF 3.0.0, к интерфейсу прикладного программирования (API) платформы применялись только совместимые изменения.

Новая основная версия структуры была разработана командой проекта параллельно с поддержкой компонентов GEF 3.x с 2010 года. Это полная переработка, которая является гораздо более модульной, использует JavaFX вместо SWT в качестве базовой структуры рендеринга. и может использоваться также независимо от приложений Eclipse RCP. Его компоненты, обычно называемые GEF4, были первоначально выпущены в версии 0.1.0 (с предварительным API) в июне 2015 года как часть выпуска GEF 3.10.0 (Марс). Компоненты GEF4 будут опубликованы в версии 1.0.0 как часть версии GEF 4.0.0 (Neon) в июне 2016 года.

GEF 3.x предоставляет технологию платформы для реализации графических редакторов и представлений как части приложений Eclipse Rich Client Platform (RCP) . Внутренне он разлагается на три компонента:

  • Draw2d — компонент 2D-визуализации, основанный на стандартном наборе виджетов (SWT).
  • GEF (MVC) — компонент модель-представление-контроллер, который можно использовать для реализации графических редакторов как части приложений Eclipse Rich Client Product (RCP).
  • Zest — набор инструментов для визуализации на основе графов, который можно использовать для реализации представлений для визуализации графоподобных структур данных как часть приложений Eclipse RCP.

Хотя графические приложения могут быть созданы непосредственно поверх компонентов GEF 3.x, Draw2d и GEF (MVC) также используются в среде графического моделирования (GMF) , которая объединяет их с платформой моделирования Eclipse (EMF) для создания кода. как для модели данных, так и для графического редактора.

Архитектура

[ редактировать ]

Редакторы, созданные с помощью GEF (MVC), состоят из следующих компонентов:

  • Редактор диаграмм, включая палитру инструментов
  • Рисунки, графически представляющие базовые элементы модели данных.
  • EditParts, соответствующие фигурам и соответствующим элементам модели.
  • Запросить объекты для ввода пользователя
  • Объекты EditPolicy, которые оценивают запросы и создают соответствующие объекты команд.
  • Объекты команд, которые редактируют модель и обеспечивают отмену - повтор.

Использование шаблона проектирования

[ редактировать ]

GEF активно использует шаблоны проектирования . Эти шаблоны часто являются обязательными в соответствии с ГЭФ, и разработчики обязаны их понимать.

  • Модель-Представление-Контроллер — это архитектурный шаблон проектирования, который делит приложение на отдельные части, которые взаимодействуют друг с другом определенным образом. Цель — разделить модель данных (модель), графический интерфейс пользователя (представление) и бизнес-логику (контроллер). GEF широко использует шаблон MVC.
    • Модель: модель данных может быть либо сгенерирована с использованием EMF, либо реализована пользователем самостоятельно, либо она может уже существовать в случае устаревшего программного обеспечения.
    • Контроллер: EditParts действуют как контроллеры. Обычно каждому элементу модели соответствует соответствующий EditPart. EditParts может содержать другие EditParts, тем самым сопоставляя элементы модели, содержащие другие элементы модели. EditParts также содержит ссылку на рисунок, графически представляющий элемент модели. Наконец, EditParts оценивает запросы и создает соответствующую команду для редактирования базовой модели.
    • Представление: для каждого элемента модели, включая соединения, фигура должна быть реализована с использованием платформы Draw2d. Часто фигура представляет собой какой-нибудь геометрический рисунок.
  • Фабрика : Создание моделей из палитры, создание EditParts и создание фигур.
  • Наблюдатель : обычно контроллер (EditPart), прослушивающий модель и представление.
  • Команда : для реализации функций отмены и повтора.
  • Стратегия : EditParts может динамически устанавливать и удалять EditPolicies.
  • Цепочка ответственности : решить, какая EditPolicy должна обрабатывать запрос.

Механизм запросов и ответов

[ редактировать ]

Любое действие пользователя с редактором может сгенерировать запрос. Природа запроса понимается контекстом вызова. Контекст определяется EditPart, с которой взаимодействует пользователь, и активным инструментом. Инструментом может быть любой выбранный элемент в палитре инструментов. Запрос передается выбранной EditPart, которая, в свою очередь, возвращает команду.

Это достигается с помощью механизма цепочки ответственности в Editpolicies. Политики редактирования определяют, могут ли они обработать запрос, в противном случае они переходят к следующей политике редактирования. Порядок объявления политик редактирования определяет порядок передачи запроса. Способный editpolicy создает команду. Эта команда передается обратно инструменту, который инициировал «Запрос». Выполнение команды приводит к изменению модели (Ответ).

  1. ^ Сеть, Затмение (31 января 2013 г.). «Среда графического редактирования Eclipse (GEF)» . project.eclipse.org . Проверено 12 января 2024 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 73586c51b13a407086e6a5a8d8994b47__1718220420
URL1:https://arc.ask3.ru/arc/aa/73/47/73586c51b13a407086e6a5a8d8994b47.html
Заголовок, (Title) документа по адресу, URL1:
Graphical Editing Framework - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)