Bug 16938 DCR: Class File Editor should scroll more naturally
20020521 (F1) (This may not be a debug PR - I wasn't sure). - put a breakpoint in a java file, right before a System.out.println statement - debug to the breakpoint - step in to the println call (I happened to go in to StringBuffer first - all that matters is that you do not have the source for the class you just stepped into) - a Class File Editor opens - click on the scrollbar's down arrow Problem: the editor only scrolls one pixel at a time. It should scroll one line at a time when you click on the arrows. - click on the scrollbar's background to scroll a page at a time Problem: the editor only scrolls about a line at a time when it should be scrolling a page at a time. Grabbing the thumb and scrolling with that works well. So the workaround, if the user wants to scroll through the Class File editor, is to always use the thumb.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/ClassFileEditor.java
*
		 *  // replace default action with class file specific ones
		 *
		 *	setAction(ITextEditorActionConstants.BOOKMARK, new AddClassFileMarkerAction("AddBookmark.", this, IMarker.BOOKMARK, true)); 
		 *	setAction(ITextEditorActionConstants.ADD_TASK, new AddClassFileMarkerAction("AddTask.", this, IMarker.TASK, false)); 
		 *	setAction(ITextEditorActionConstants.RULER_MANAGE_BOOKMARKS, new ClassFileMarkerRulerAction("ManageBookmarks.", getVerticalRuler(), this, IMarker.BOOKMARK, true)); 
		 *	setAction(ITextEditorActionConstants.RULER_MANAGE_TASKS, new ClassFileMarkerRulerAction("ManageTasks.", getVerticalRuler(), this, IMarker.TASK, true)); 
		 */
		setAction(ITextEditorActionConstants.BOOKMARK, null);
		setAction(ITextEditorActionConstants.ADD_TASK, null);		
	}
	
	/*
	 * @see JavaEditor#getElementAt(int)
	 */
	protected IJavaElement getElementAt(int offset) {
		if (getEditorInput() instanceof IClassFileEditorInput) {
			try {
				IClassFileEditorInput input= (IClassFileEditorInput) getEditorInput();
				return input.getClassFile().getElementAt(offset);
			} catch (JavaModelException x) {
			}
		}
		return null;
	}
	
	/*
	 * @see JavaEditor#getCorrespondingElement(IJavaElement)
	 */
	protected IJavaElement getCorrespondingElement(IJavaElement element) {