I am working on an Eclipse RCP application which should display an internal hierarchical structure as a graph. The nodes of the graph should be positioned on different points of a background image but should offer drag support. The graph should be zoom-able possibly without resizing the nodes on the maps (layout zoom) while the background image should be scaled normally. Some kind of semantic zoom (showing and hiding sub nodes on request) should be possible. Which library or tool would be suitable to solve this problem?
Update: The graph should be displayed similar to an UML class diagram.