Coverage details for edu.uci.ics.jung.visualization.transform.shape.ViewLensSupport

LineHitsSource
1 /*
2  * Copyright (c) 2003, the JUNG Project and the Regents of the University of
3  * California All rights reserved.
4  *
5  * This software is open-source under the BSD license; see either "license.txt"
6  * or http://jung.sourceforge.net/license.txt for a description.
7  *
8  */
9 package edu.uci.ics.jung.visualization.transform.shape;
10  
11 import java.awt.Dimension;
12  
13 import edu.uci.ics.jung.visualization.PluggableRenderer;
14 import edu.uci.ics.jung.visualization.Renderer;
15 import edu.uci.ics.jung.visualization.VisualizationViewer;
16 import edu.uci.ics.jung.visualization.control.ModalGraphMouse;
17 import edu.uci.ics.jung.visualization.control.ModalLensGraphMouse;
18 import edu.uci.ics.jung.visualization.transform.AbstractLensSupport;
19 import edu.uci.ics.jung.visualization.transform.LensSupport;
20 import edu.uci.ics.jung.visualization.transform.LensTransformer;
21  
22 /**
23  * Uses a LensTransformer to use in the view
24  * transform. This one will distort Vertex shapes.
25  *
26  * @author Tom Nelson - RABA Technologies
27  *
28  *
29  */
30 public class ViewLensSupport extends AbstractLensSupport
31     implements LensSupport {
32     
33     protected PluggableRenderer pluggableRenderer;
34     protected TransformingPluggableRenderer transformingPluggableRenderer;
35     protected Renderer renderer;
36     
37     public ViewLensSupport(VisualizationViewer vv) {
380        this(vv, new HyperbolicShapeTransformer(vv),
39                 new ModalLensGraphMouse());
400    }
41     public ViewLensSupport(VisualizationViewer vv, LensTransformer lensTransformer,
42             ModalGraphMouse lensGraphMouse) {
430        super(vv, lensGraphMouse);
440        this.renderer = vv.getRenderer();
450        this.lensTransformer = lensTransformer;
460        Dimension d = vv.getSize();
470        if(d.width == 0 || d.height == 0) {
480            d = vv.getPreferredSize();
49         }
500        lensTransformer.setViewRadius(d.width/5);
51  
520        if(renderer instanceof PluggableRenderer) {
530            this.pluggableRenderer = (PluggableRenderer)renderer;
54         } else {
550            this.pluggableRenderer = new PluggableRenderer();
56         }
570    }
58     public void activate() {
590        if(lens == null) {
600            lens = new Lens(lensTransformer);
61         }
620        if(lensControls == null) {
630            lensControls = new LensControls(lensTransformer);
64         }
650        vv.setViewTransformer(lensTransformer);
660        if(transformingPluggableRenderer == null) {
670            transformingPluggableRenderer =
68                     new TransformingPluggableRenderer(pluggableRenderer);
69         }
700        transformingPluggableRenderer.setTransformer(lensTransformer);
710        vv.setRenderer(transformingPluggableRenderer);
720        vv.addPreRenderPaintable(lens);
730        vv.addPostRenderPaintable(lensControls);
740        vv.setGraphMouse(lensGraphMouse);
750        vv.setToolTipText(instructions);
760        vv.repaint();
770    }
78  
79     public void deactivate() {
800        vv.setViewTransformer(savedViewTransformer);
810        vv.removePreRenderPaintable(lens);
820        vv.removePostRenderPaintable(lensControls);
830        vv.setRenderer(renderer);
840        vv.setToolTipText(defaultToolTipText);
850        vv.setGraphMouse(graphMouse);
860        vv.repaint();
870    }
88 }

this report was generated by version 1.0.5 of jcoverage.
visit www.jcoverage.com for updates.

copyright © 2003, jcoverage ltd. all rights reserved.
Java is a trademark of Sun Microsystems, Inc. in the United States and other countries.