[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.modeling.gmf] Re: Problems with the Mapping model

We seem to have located a part of the problem...in our xxxViewProvider we have the following code in the class getEdgeViewClass:

--------------
if (domainElement != null && visualID != Renegade.diagram.part.
RenegadeVisualIDRegistry.getLinkWithClassVisualID(domainElement)) {

return null; // visual id for link EClass should match visual id from element type
---------------
and our id:s don't match. So we looked in the .getLinkWithClassVisualID and found this:
--------------------
public static int getLinkWithClassVisualID(EObject domainElement) {
if (domainElement == null) {
return -1;
}
if (Renegade.RenegadePackage.eINSTANCE.getTransition().isSuperTypeOf(
domainElement.eClass())) {
return Renegade.diagram.edit.parts.TransitionEditPart.VISUAL_ID;
}
if (Renegade.RenegadePackage.eINSTANCE.getTransition().isSuperTypeOf(
domainElement.eClass())) {
return Renegade.diagram.edit.parts.Transition2EditPart.VISUAL_ID;
}
if (Renegade.RenegadePackage.eINSTANCE.getTransition().isSuperTypeOf(
domainElement.eClass())) {
return Renegade.diagram.edit.parts.Transition3EditPart.VISUAL_ID;
}
return -1;
}
------------------------
and since if-statements have the same conditions the first statement is always chosen. Where can we go from here? Is there an easy way to change the if-statements so that the statements for transition 2 and 3 can be chosen when we need them to be? There must be something else than the SuperType that differs between them...


/Anna & Linda