Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ecore diagram editor shows import icons on inheritance arrows #7

Closed
dhendriks opened this issue Aug 28, 2023 · 1 comment · Fixed by #9
Closed

Ecore diagram editor shows import icons on inheritance arrows #7

dhendriks opened this issue Aug 28, 2023 · 1 comment · Fixed by #9
Milestone

Comments

@dhendriks
Copy link

It looks something like this:

img1

You can see the import icon on the inheritance arrow in the left diagram. To reproduce:

  • Create a new 'Ecore Modeling Project'. Name it test. Accept defaults.
  • Create a new 'Ecore Model' in the same model directory, naming it test2.
  • Name the package in test2 also test2.
  • Add a class diagram representation also for test2.
  • Add a class named Class1 to test using the diagram editor.
  • Add a class named Class2 to test2 using the diagram editor.
  • Save both diagrams.
  • Add each class to the other diagram, using the 'Add' tool from the 'Existing Elements' part of the palette.
  • Add an inheritance relation from one class to another, in one of the diagrams, using the 'SuperType' tool.
  • Note how in one of the diagram the inheritance arrow shows with an import icon.

I get the import icon on imported classes, and find it useful. But it just looks weird an confusing on the arrow, in my opinion. Especially if you have a tree of inheritance relations, like this example from a metamodel in the Eclipse ESCET project:

img2

(originally reported at: eclipse-emf/org.eclipse.emf#12)

@pcdavid
Copy link
Contributor

pcdavid commented Aug 29, 2023

The corresponding decorator is defined to match any graphical element which represents a "remote" EClassifier.

Because the inheritance edges correspond to a raw reference (and not a reified EObject), it is associated to its source EClass, so matches the condition.

I'll have to check, but I think the preconditionExpression on the decorator definition has access to enough information to exclude edges.

@pcdavid pcdavid added this to the 3.5.1 milestone Sep 15, 2023
pcdavid added a commit that referenced this issue Sep 16, 2023
Bug: #7
Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
@pcdavid pcdavid linked a pull request Sep 16, 2023 that will close this issue
pcdavid added a commit that referenced this issue Dec 13, 2023
Bug: #7
Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants