2016-08-31 1 views
0

UML 상태 시스템, 전환 및 상태가 포함 된 .uml 파일이 있습니다. 이 .uml 파일의 개체에 표식을 붙 였지만 .aird 파일에있는 그래픽 표현에 표식을 넣을 수는 없습니다. 내가의 그래픽 표현의 마커로 이동하려고하면UML 그래픽 요소의 마커

for(DView dview : SessionManager.INSTANCE.getSession(eObj).getOwnedViews()){ 
    if(dview.getViewpoint().getName().equals("Design")){ 
    for(DRepresentation drep : dview.getOwnedRepresentations()){ 
     for(DRepresentationElement drepElem : drep.getOwnedRepresentationElements()){ 
     if(drepElem.getTarget() == st.getSrcTransition().getTransition()){ 
      MarkerUtil.addMarker(drepElem, message, location, severity); 
     } 
     } 
    } 
    } 
} 

:

public static void addMarker(EObject eObj, String message, String location, int severity) throws CoreException{ 
    Resource resource = eObj.eResource(); 
    String uri = EcoreUtil.getURI(eObj).toString(); 
    String platformString = resource.getURI().toPlatformString(true); 
    IResource iresource = ResourcesPlugin.getWorkspace().getRoot().findMember(platformString); 
    IMarker imarker = iresource.createMarker(EValidator.MARKER); 
    imarker.setAttribute(IMarker.SEVERITY, severity); 
    imarker.setAttribute(IMarker.LOCATION, location); 
    imarker.setAttribute(EValidator.URI_ATTRIBUTE, uri); 
    imarker.setAttribute(IMarker.MESSAGE, message); 
} 

이 나는 ​​그래픽 표현을 찾기 위해 사용하는 코드입니다 : 이것은 내가 마커를 넣어 사용하는 코드입니다 전환, 그것은 상태 기계를 강조 표시합니다.

플랫폼 : /resource/TestSuite/default.uml#_igwUwDFJEealS5qn_7gKFw 플랫폼 : /resource/TestSuite/representations.aird#_igwUwTFJEealS5qn_7gKFw

답변

0

내가 마커와 함께 작동하는 데 사용하고 있지 않다 다음은 전환의 URI에 있습니다 하지만 마커는 가장자리가있는 상자의 왼쪽 모서리에 나타나야한다고 생각합니다. 따라서 마커가 다이어그램에서 벗어날 수 있습니다. 전환에 명시 적으로 추가하려면 적어도 유형이 DEdge인지 확인해야합니다.

자세한 내용이 필요하면 Eclipse forum에서 Sirius에 대한 질문을 할 수 있습니다.