Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 99530 Details for
Bug 231283
[hovering] Cannot tab back to browser in BrowserInformationControl on WinXP
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Workaround using display filter
231283_patch.txt (text/plain), 4.04 KB, created by
Markus Keller
on 2008-05-09 14:18:44 EDT
(
hide
)
Description:
Workaround using display filter
Filename:
MIME Type:
Creator:
Markus Keller
Created:
2008-05-09 14:18:44 EDT
Size:
4.04 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jface.text >Index: src/org/eclipse/jface/internal/text/html/BrowserInformationControl.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/html/BrowserInformationControl.java,v >retrieving revision 1.25 >diff -u -r1.25 BrowserInformationControl.java >--- src/org/eclipse/jface/internal/text/html/BrowserInformationControl.java 23 Apr 2008 07:59:26 -0000 1.25 >+++ src/org/eclipse/jface/internal/text/html/BrowserInformationControl.java 9 May 2008 18:17:46 -0000 >@@ -16,13 +16,7 @@ > > import org.eclipse.core.runtime.Assert; > import org.eclipse.core.runtime.ListenerList; >-import org.eclipse.jface.action.ToolBarManager; >-import org.eclipse.jface.resource.JFaceResources; >-import org.eclipse.jface.text.AbstractInformationControl; >-import org.eclipse.jface.text.IDelayedInputChangeProvider; >-import org.eclipse.jface.text.IInformationControlExtension2; >-import org.eclipse.jface.text.IInputChangedListener; >-import org.eclipse.jface.text.TextPresentation; >+ > import org.eclipse.swt.SWT; > import org.eclipse.swt.SWTError; > import org.eclipse.swt.browser.Browser; >@@ -30,8 +24,10 @@ > import org.eclipse.swt.browser.ProgressAdapter; > import org.eclipse.swt.browser.ProgressEvent; > import org.eclipse.swt.custom.StyleRange; >-import org.eclipse.swt.events.KeyEvent; >-import org.eclipse.swt.events.KeyListener; >+import org.eclipse.swt.events.DisposeEvent; >+import org.eclipse.swt.events.DisposeListener; >+import org.eclipse.swt.events.ShellAdapter; >+import org.eclipse.swt.events.ShellEvent; > import org.eclipse.swt.graphics.Color; > import org.eclipse.swt.graphics.Font; > import org.eclipse.swt.graphics.FontData; >@@ -42,10 +38,20 @@ > import org.eclipse.swt.graphics.TextStyle; > import org.eclipse.swt.widgets.Composite; > import org.eclipse.swt.widgets.Display; >+import org.eclipse.swt.widgets.Event; >+import org.eclipse.swt.widgets.Listener; > import org.eclipse.swt.widgets.Menu; > import org.eclipse.swt.widgets.Shell; > import org.eclipse.swt.widgets.Slider; > >+import org.eclipse.jface.action.ToolBarManager; >+import org.eclipse.jface.resource.JFaceResources; >+import org.eclipse.jface.text.AbstractInformationControl; >+import org.eclipse.jface.text.IDelayedInputChangeProvider; >+import org.eclipse.jface.text.IInformationControlExtension2; >+import org.eclipse.jface.text.IInputChangedListener; >+import org.eclipse.jface.text.TextPresentation; >+ > > /** > * Displays HTML information in a {@link org.eclipse.swt.browser.Browser} widget. >@@ -211,15 +217,31 @@ > Display display= getShell().getDisplay(); > fBrowser.setForeground(display.getSystemColor(SWT.COLOR_INFO_FOREGROUND)); > fBrowser.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND)); >- fBrowser.addKeyListener(new KeyListener() { >- >- public void keyPressed(KeyEvent e) { >+ >+ //START workaround for bugs 231283, 231311, 231303 >+ final Listener escapeListener= new Listener() { >+ public void handleEvent(Event e) { > if (e.character == 0x1B) // ESC >- getShell().dispose(); // XXX: Just hide? Would avoid constant recreations. >+ if (! fBrowser.isDisposed() && fBrowser.isFocusControl()) >+ getShell().dispose(); // XXX: Just hide? Would avoid constant recreations. >+ } >+ }; >+ fBrowser.addDisposeListener(new DisposeListener() { >+ public void widgetDisposed(DisposeEvent e) { >+ e.display.removeFilter(SWT.KeyDown, escapeListener); >+ } >+ }); >+ getShell().addShellListener(new ShellAdapter() { >+ public void shellActivated(ShellEvent e) { >+ e.display.addFilter(SWT.KeyDown, escapeListener); >+ } >+ public void shellDeactivated(ShellEvent e) { >+ e.display.removeFilter(SWT.KeyDown, escapeListener); > } >- >- public void keyReleased(KeyEvent e) {} > }); >+ if (isFocusControl()) >+ display.addFilter(SWT.KeyDown, escapeListener); >+ //END workaround > > fBrowser.addProgressListener(new ProgressAdapter() { > public void completed(ProgressEvent event) {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 231283
:
99530