2017-11-20 7 views
0

GEF 응용 프로그램을 확대/축소하려고합니다. 나는 이미 ZoomManager와 Actions를 사용하여 줌 기능을 작동시킬 수 있었다.크기가 0.6-0.63 인 특정 위치로 Eclipse GEF를 확대하면 데이터가 잘리지 않습니다.

. zoomManager.setZoom (getScale()) 값이 0.6에서 0.63 사이에있는 경우. 내 GEF 편집 부분이 마지막 문자를 자릅니다. 문제는 다른 척도가 아닙니다.

앞으로 더 나아가는 방법 중 하나는 나를 도울 수 있습니까? 코드 아래

+0

자세한 정보 나 예를 제공하십시오 그래픽 편집기로 줌 동작 레벨을 추가하는 것입니다 – Shashwat

답변

1

<!-- language: lang-java --> 
ZoomManager zoomManager = rootEditPart.getZoomManager(); 
editor.getActionRegistry().registerAction(new ZoomInAction(zoomManager)); 
editor.getActionRegistry().registerAction(new ZoomOutAction(zoomManager)); 
List<String> zoomContributions = Arrays.asList(new String[] {ZoomManager.FIT_ALL, ZoomManager.FIT_HEIGHT, ZoomManager.FIT_WIDTH }); 
double[] zoomLevels = {0.07,0.1,0.15, 0.2, 0.3, 0.4, 0.5, 0.75, 1.0, 1.2, 1.5, 2}; 
zoomManager.setZoomLevelContributions(zoomContributions); 
zoomManager.setZoomLevels(zoomLevels); 
IAction zoomIn = new ZoomInAction(zoomManager); 
IAction zoomOut = new ZoomOutAction(zoomManager); 
editor.getActionRegistry().registerAction(zoomIn); 
editor.getActionRegistry().registerAction(zoomOut); 
IHandlerService handlerService = (IHandlerService) 
editor.getSite().getService(IHandlerService.class); 
ActionHandler handler = new ActionHandler(zoomIn); 
handlerService.activateHandler(GEFActionConstants.ZOOM_IN, handler); 
handler = new ActionHandler(zoomOut); 
handlerService.activateHandler(GEFActionConstants.ZOOM_OUT, handler);