Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Keller2015-09-03 19:26:53 +0000
committerMarkus Keller2015-09-03 19:26:53 +0000
commit24f2d349df52c2b9d8c0e778757335f0287fb84c (patch)
tree435066a37e424ea54ccab06963db185cf4383d4e
parent95d13081e0809f76f0cf43102c2fca0a2cf66fa9 (diff)
downloadeclipse.platform.text-24f2d349df52c2b9d8c0e778757335f0287fb84c.tar.gz
eclipse.platform.text-24f2d349df52c2b9d8c0e778757335f0287fb84c.tar.xz
eclipse.platform.text-24f2d349df52c2b9d8c0e778757335f0287fb84c.zip
Bug 468856: [rulers] Can't scroll with mouse wheel when mouse over line number ruler
-rw-r--r--org.eclipse.jface.text/src/org/eclipse/jface/text/source/AnnotationRulerColumn.java20
-rw-r--r--org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberRulerColumn.java10
-rw-r--r--org.eclipse.jface.text/src/org/eclipse/jface/text/source/OverviewRuler.java20
3 files changed, 46 insertions, 4 deletions
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/AnnotationRulerColumn.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/AnnotationRulerColumn.java
index 027b46205af..2bd1cc3f5d2 100644
--- a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/AnnotationRulerColumn.java
+++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/AnnotationRulerColumn.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
+ * Copyright (c) 2000, 2015 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -28,6 +28,7 @@ import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.events.MouseMoveListener;
+import org.eclipse.swt.events.MouseWheelListener;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.graphics.Cursor;
@@ -337,6 +338,12 @@ public class AnnotationRulerColumn implements IVerticalRulerColumn, IVerticalRul
handleMouseMove(e);
}
});
+
+ fCanvas.addMouseWheelListener(new MouseWheelListener() {
+ public void mouseScrolled(MouseEvent e) {
+ handleMouseScrolled(e);
+ }
+ });
if (fCachedTextViewer != null) {
fCachedTextViewer.addViewportListener(fInternalListener);
@@ -423,6 +430,17 @@ public class AnnotationRulerColumn implements IVerticalRulerColumn, IVerticalRul
}
/**
+ * Handles mouse scrolls.
+ *
+ * @param event the mouse scrolled event
+ */
+ private void handleMouseScrolled(MouseEvent event) {
+ if (fCachedTextViewer != null) {
+ fCachedTextViewer.setTopIndex(fCachedTextViewer.getTopIndex() - event.count);
+ }
+ }
+
+ /**
* Tells whether the given line contains an annotation.
*
* @param lineNumber the line number
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberRulerColumn.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberRulerColumn.java
index cbcd61663c2..f7cfa00c169 100644
--- a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberRulerColumn.java
+++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberRulerColumn.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
+ * Copyright (c) 2000, 2015 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -21,6 +21,7 @@ import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.events.MouseMoveListener;
+import org.eclipse.swt.events.MouseWheelListener;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.graphics.Color;
@@ -99,7 +100,7 @@ public class LineNumberRulerColumn implements IVerticalRulerColumn {
/**
* Handles all the mouse interaction in this line number ruler column.
*/
- class MouseHandler implements MouseListener, MouseMoveListener {
+ class MouseHandler implements MouseListener, MouseMoveListener, MouseWheelListener {
/** The cached view port size. */
private int fCachedViewportSize;
@@ -361,6 +362,10 @@ public class LineNumberRulerColumn implements IVerticalRulerColumn {
}
return -1;
}
+
+ public void mouseScrolled(MouseEvent e) {
+ fCachedTextViewer.setTopIndex(fCachedTextViewer.getTopIndex() - e.count);
+ }
}
/** This column's parent ruler */
@@ -620,6 +625,7 @@ public class LineNumberRulerColumn implements IVerticalRulerColumn {
fMouseHandler= new MouseHandler();
fCanvas.addMouseListener(fMouseHandler);
fCanvas.addMouseMoveListener(fMouseHandler);
+ fCanvas.addMouseWheelListener(fMouseHandler);
if (fCachedTextViewer != null) {
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/OverviewRuler.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/OverviewRuler.java
index bfaeb3dbe26..ac8576a2b89 100644
--- a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/OverviewRuler.java
+++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/OverviewRuler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2012 IBM Corporation and others.
+ * Copyright (c) 2000, 2015 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -26,6 +26,7 @@ import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseMoveListener;
import org.eclipse.swt.events.MouseTrackAdapter;
+import org.eclipse.swt.events.MouseWheelListener;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.graphics.Color;
@@ -606,6 +607,12 @@ public class OverviewRuler implements IOverviewRulerExtension, IOverviewRuler {
}
});
+ fCanvas.addMouseWheelListener(new MouseWheelListener() {
+ public void mouseScrolled(MouseEvent e) {
+ handleMouseScrolled(e);
+ }
+ });
+
if (fTextViewer != null)
fTextViewer.addTextListener(fInternalListener);
@@ -1120,6 +1127,17 @@ public class OverviewRuler implements IOverviewRulerExtension, IOverviewRuler {
}
}
+ /**
+ * Handles mouse scrolls.
+ *
+ * @param event the mouse scrolled event
+ */
+ private void handleMouseScrolled(MouseEvent event) {
+ if (fTextViewer != null) {
+ fTextViewer.setTopIndex(fTextViewer.getTopIndex() - event.count);
+ }
+ }
+
/*
* @see org.eclipse.jface.text.source.IOverviewRuler#addAnnotationType(java.lang.Object)
*/

Back to the top