Configurable wheel zoom

This commit is contained in:
bancika
2011-01-24 18:21:57 +00:00
parent b33b6b6495
commit 6d361283a1
@@ -28,6 +28,8 @@ public class CanvasPlugin implements IPlugIn {
private static final Logger LOG = Logger.getLogger(CanvasPlugin.class); private static final Logger LOG = Logger.getLogger(CanvasPlugin.class);
private static final String WHEEL_ZOOM = "wheelZoom";
private RulerScrollPane scrollPane; private RulerScrollPane scrollPane;
private CanvasPanel canvasPanel; private CanvasPanel canvasPanel;
private IPlugInPort plugInPort; private IPlugInPort plugInPort;
@@ -62,8 +64,9 @@ public class CanvasPlugin implements IPlugIn {
SizeUnit.in).convertToPixels()); SizeUnit.in).convertToPixels());
boolean metric = ConfigurationManager.getInstance().readBoolean(Presenter.METRIC_KEY, boolean metric = ConfigurationManager.getInstance().readBoolean(Presenter.METRIC_KEY,
true); true);
boolean wheelZoom = ConfigurationManager.getInstance().readBoolean(WHEEL_ZOOM, false);
scrollPane.setMetric(metric); scrollPane.setMetric(metric);
scrollPane.setWheelScrollingEnabled(false); scrollPane.setWheelScrollingEnabled(!wheelZoom);
scrollPane.addUnitListener(new IRulerListener() { scrollPane.addUnitListener(new IRulerListener() {
@Override @Override
@@ -71,6 +74,7 @@ public class CanvasPlugin implements IPlugIn {
plugInPort.setMetric(isMetric); plugInPort.setMetric(isMetric);
} }
}); });
if (wheelZoom) {
scrollPane.addMouseWheelListener(new MouseWheelListener() { scrollPane.addMouseWheelListener(new MouseWheelListener() {
@Override @Override
@@ -85,7 +89,8 @@ public class CanvasPlugin implements IPlugIn {
plugInPort.setZoomLevel(availableZoomLevels[i]); plugInPort.setZoomLevel(availableZoomLevels[i]);
} else { } else {
int i = 0; int i = 0;
while (i < availableZoomLevels.length - 1 && availableZoomLevels[i] <= d) { while (i < availableZoomLevels.length - 1
&& availableZoomLevels[i] <= d) {
i++; i++;
} }
plugInPort.setZoomLevel(availableZoomLevels[i]); plugInPort.setZoomLevel(availableZoomLevels[i]);
@@ -93,6 +98,7 @@ public class CanvasPlugin implements IPlugIn {
} }
}); });
} }
}
return scrollPane; return scrollPane;
} }