edu.uci.ics.jung.visualization.control.SatelliteScalingGraphMousePlugin Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jung-visualization Show documentation
Show all versions of jung-visualization Show documentation
Core visualization support for the JUNG project
The newest version!
/*
* Copyright (c) 2005, The JUNG Authors
* All rights reserved.
*
* This software is open-source under the BSD license; see either "license.txt"
* or https://github.com/jrtom/jung/blob/master/LICENSE for a description.
*
* Created on Aug 15, 2005
*/
package edu.uci.ics.jung.visualization.control;
import java.awt.event.MouseWheelEvent;
import edu.uci.ics.jung.visualization.VisualizationViewer;
/**
* Overrides ScalingGraphMousePlugin so that mouse events in the
* satellite view will cause scaling in the main view
*
* @see ScalingGraphMousePlugin
* @author Tom Nelson
*
*/
public class SatelliteScalingGraphMousePlugin extends ScalingGraphMousePlugin {
public SatelliteScalingGraphMousePlugin(ScalingControl scaler, int modifiers) {
super(scaler, modifiers);
}
public SatelliteScalingGraphMousePlugin(ScalingControl scaler, int modifiers, float in, float out) {
super(scaler, modifiers, in, out);
}
/**
* zoom the master view display in or out, depending on the direction of the
* mouse wheel motion.
*/
public void mouseWheelMoved(MouseWheelEvent e) {
boolean accepted = checkModifiers(e);
if(accepted == true) {
VisualizationViewer, ?> vv = (VisualizationViewer, ?>)e.getSource();
if(vv instanceof SatelliteVisualizationViewer) {
VisualizationViewer, ?> vvMaster =
((SatelliteVisualizationViewer, ?>)vv).getMaster();
int amount = e.getWheelRotation();
if(amount > 0) {
scaler.scale(vvMaster, in, vvMaster.getCenter());
} else if(amount < 0) {
scaler.scale(vvMaster, out, vvMaster.getCenter());
}
e.consume();
vv.repaint();
}
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy