2017-11-20 1 views
0

Ich versuche innerhalb meiner GEF-Anwendung zu zoomen. Ich habe es bereits geschafft, die Zoomfunktion mit einem ZoomManager und Aktionen zu arbeiten.Vergrößern von Eclipse GEF zu einer bestimmten Position im Maßstab 0.6-0.63, damit die Daten abgeschnitten werden

. Wenn der Wert von zoomManager.setZoom (getScale()) zwischen 0,6 und 0,63 liegt. Meine GEF-Teile schneiden den letzten Buchstaben ab. Die Frage ist an jedem anderen Skalenniveau nicht.

Kann mir jemand helfen, wie man weiter vorgeht.

+0

Bitte geben Sie weitere Informationen oder ein Beispiel hinzufügen – Shashwat

Antwort

1

Below-Code ist zu zoomen Aktionen, Ebene grafischen Editor

<!-- 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); 
Verwandte Themen