Sysml - Внутренняя блок-схема с GEF в Eclipse JAVA

В настоящее время я работаю над RCP-приложением, в котором я могу нарисовать внутреннюю блок-схему.

Может быть, большинство из вас знают "Папирус" по затмению. Этот инструмент моделирования предоставляет диаграмму внутренних блоков, но я думаю, что она немного перегружена, поэтому я решил сделать это самостоятельно.

Я нашел этот удивительный учебник: https://www.vainolo.com/tutorials/gef-tutorials/

Мне очень помогло то, как работает ГЭФ, но одно не объясняется. Как нарисовать порты. На картинке ниже вы можете увидеть, на что я способен.

Это то, что я получил и что я могу сделать

Я пытаюсь изменить свое приложение, чтобы пользователь мог рисовать порты. Как на следующей картинке: введите описание изображения здесь

Кто-нибудь знает, как это делается в ГЭФ? Насколько я понимаю, это как-то связано с фигурой узла. У каждого узла есть фигура, которая отображается внутри диаграммы. Порт является продолжением края узла, и невозможно превысить край узла. Поэтому я думаю, что папирус использует другой способ, чтобы это произошло. Я пытался получить исходный код папируса, но ничего не нашел, ни документация об этом...

Я благодарен за каждое мнение.

1 ответ

Папирус использует GMF для создания этих портов. Вы можете проверить классы, содержащие BorderItem, например AbstractBorderItemEditPart.

Будьте осторожны, учебник, который вы читаете, написан для GEF3. Насколько я знаю, не существует "простого" способа управления портом в чистом GEF3.

В прошлом году в GEF произошли серьезные изменения: вы сможете легко создавать порт с помощью нового GEF4 API.

Другие вопросы по тегам