2013-06-13 4 views
0

툴팁이 제공하는 힌트가 적기 때문에 draw2d 그림과 같은 UI 구성 요소에 F1 (context sensitive) 도움말을 추가하기로 결정했습니다. : IWorkbenchHelpSystem.setHelp(Control control, String contextId) 메서드를 호출하는 데 적합한 위치와 매개 변수를 찾을 수 없습니다.GEF/Draw2d 그림과 같은 UI 구성 요소에 상황에 맞는 도움말을 추가하십시오.

이제 우리는 다음과 같은 해결 방법을 수행합니다 보시다시피

//in UserDefinedEditPart 
@Override 
protected IFigure createFigure() { 
    //set help... (FIXME) 
    PlatformUI.getWorkbench().getHelpSystem().setHelp(Display.getCurrent().getActiveShell(), PublicConstants.CONTEXT_ID); 
    return new UserDefinedFigure(); 
} 

setHelp() 방법 '첫 번째 매개 변수는 SWT 또는 JFace는 제어해야하지만, 그것으로 설정 한 현재 workbench.I는 생각 draw2d의 그림은 가볍고 SWT 또는 JFace와 관련이 없습니다.

솔루션 고맙습니다.

답변

0

SWT와 draw2d의 위젯은 서로 상당히 다릅니다. SWT는 무언가 "그릴 수있는"draw2d 플랫폼을 제공합니다. 따라서 SWT의 경우 draw2d Label을 구분하거나 draw2d Connection이라고 말할 방법이 없습니다. 그것이 이해하는 것은 "그림"(어린이 인 것처럼 숫자가있을 수 있음)이 무언가가 특정 영역에 그려지는 것입니다 (그림이 그려지기 때문에 의미가 없습니다).

org.eclipse.jface.dialogs.PopupDialog 클래스를 살펴보십시오. 이 클래스를 확장하면 사용자 정의 도움말 대화 상자를 만들 수 있습니다 (연장하기가 너무 어렵지 않음).