Community
Participate
Working Groups
We would like the ability to zoom in and out on the static graph viewer. This zooming is not the same as the nested graph. It simply allows users to increase the visible level of detail.
GEF offers some nice zooming capabilities, but Zest hopes to hide the GEF details from the end user. So, I'm thinking of approaching this problem in the following manner: 1) Create a new class called AbstractZoomableGraphicalViewer that viewers like the StaticGraphViewer and the SpringGraphViewer can extend. This class would do nothing but expose internally a ZoomManager that the framework can use to do zooming. 2) Offer a new interface called IZoomableWorkbenchPart that the users can implement on their editors and viewers. This would have one public meathod that would expose the AbstractZoomableGraphicalViewer that the underlying view or editor is based on. 3) Create new actions and contribution items that can be contributed by the views/editors. These would end up interacting with the ZoomManager exposed by the previously mentioned classes and interfaces. I hope that this makes sense and will be easy enough to use, and will satisfy the requirements.
That sounds good. I've been extending the StaticGraphViewer so that it would handle Zoom. I've been using a zoomIn zoomOut action as in the SpringGraphViewer and added a ZoomComboContributionItem which handles predefined zoom levels that the user can choose from and also allows the entry of arbitrary zoom levels. It seems as if all that would be possible with your approach.
This was addressed in bug# 156617
Fixed in the above mentioned patch.