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
if (path == null) {			
								createLabel(composite, JavaEditorMessages.getFormattedString("SourceAttachmentForm.message.noSourceAttachment", root.getElementName())); 
								createLabel(composite, JavaEditorMessages.getString("SourceAttachmentForm.message.pressButtonToAttach")); 
								createLabel(composite, null);
		
								button= createButton(composite, JavaEditorMessages.getString("SourceAttachmentForm.button.attachSource"));		 
		
							} else {
								createLabel(composite, JavaEditorMessages.getFormattedString("SourceAttachmentForm.message.noSourceInAttachment", fFile.getElementName())); 
								createLabel(composite, JavaEditorMessages.getString("SourceAttachmentForm.message.pressButtonToChange")); 
								createLabel(composite, null);
		
								button= createButton(composite, JavaEditorMessages.getString("SourceAttachmentForm.button.changeAttachedSource")); 
							}
		
							button.addSelectionListener(new SelectionListener() {
								public void widgetSelected(SelectionEvent event) {				
									try {
										SourceAttachmentDialog dialog= new SourceAttachmentDialog(fScrolledComposite.getShell(), root);
										if (dialog.open() == SourceAttachmentDialog.OK)
											verifyInput(getEditorInput());
		
									} catch (CoreException e) {
										String title= JavaEditorMessages.getString("SourceAttachmentForm.error.title"); 
										String message= JavaEditorMessages.getString("SourceAttachmentForm.error.message"); 
										ExceptionHandler.handle(e, fScrolledComposite.getShell(), title, message);				
									}
								}
		
								public void widgetDefaultSelected(SelectionEvent e) {}