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 String WHEEL_ZOOM = "wheelZoom";
private RulerScrollPane scrollPane;
private CanvasPanel canvasPanel;
private IPlugInPort plugInPort;
@@ -62,8 +64,9 @@ public class CanvasPlugin implements IPlugIn {
SizeUnit.in).convertToPixels());
boolean metric = ConfigurationManager.getInstance().readBoolean(Presenter.METRIC_KEY,
true);
boolean wheelZoom = ConfigurationManager.getInstance().readBoolean(WHEEL_ZOOM, false);
scrollPane.setMetric(metric);
scrollPane.setWheelScrollingEnabled(false);
scrollPane.setWheelScrollingEnabled(!wheelZoom);
scrollPane.addUnitListener(new IRulerListener() {
@Override
@@ -71,6 +74,7 @@ public class CanvasPlugin implements IPlugIn {
plugInPort.setMetric(isMetric);
}
});
if (wheelZoom) {
scrollPane.addMouseWheelListener(new MouseWheelListener() {
@Override
@@ -85,7 +89,8 @@ public class CanvasPlugin implements IPlugIn {
plugInPort.setZoomLevel(availableZoomLevels[i]);
} else {
int i = 0;
while (i < availableZoomLevels.length - 1 && availableZoomLevels[i] <= d) {
while (i < availableZoomLevels.length - 1
&& availableZoomLevels[i] <= d) {
i++;
}
plugInPort.setZoomLevel(availableZoomLevels[i]);
@@ -93,6 +98,7 @@ public class CanvasPlugin implements IPlugIn {
}
});
}
}
return scrollPane;
}