eclipsesource / eclipsesource/papyrus-gefx

[Renderer / Interactions] Properly distinguish between IRootPart and DiagramContentPart

Open
#27 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
0
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Currently, we have a IRootPart (that doesn't have a Content), and a DIagramContentPart (That is a IContentPart representing the GMF Diagram, i.e. the root)

Since the DiagramContentPart doesn't have any visible geometry (It's a Pane with pickOnBounds=false), all events/policies/handlers are passed to the IRootPart (e.g. creation of nodes on the diagram surface is handled by IRootPart policies). The DiagramContentPart should be the one handling all root interactions (Creation, selection...).

Currently, because the IRootPart handles everything, we need some tests like this in the code:

```assert target instanceof IContentPart || target instanceof IRootPart : "CreationFeedback can only be installed on IContentParts or IRootPart";```

which should be simplified, so that the diagram surface (root) behaves like every other content part

Contributor guide

No contributing guide indexed for this repository

Research direction

Locate IRootPart and DiagramContentPart and inspect the existing root interaction policies, handlers, and assertions such as the CreationFeedback check. The work is done when the diagram surface is handled through DiagramContentPart like other content parts, without special-casing IRootPart for creation, selection, or related interactions.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
frontend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.