diff --git a/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 366a9963e7d..9f07dc37036 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -74,13 +74,12 @@ import org.eclipse.swt.dnd.Clipboard; import org.eclipse.swt.dnd.DND; import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.dnd.Transfer; -import org.eclipse.swt.events.FocusEvent; -import org.eclipse.swt.events.FocusListener; import org.eclipse.swt.events.KeyAdapter; import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.KeyListener; import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent; +import org.eclipse.swt.events.MouseTrackListener; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; @@ -143,7 +142,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC private KeyListener fKeyHandler; private final ITerminalListener fTerminalListener; private String fMsg = ""; //$NON-NLS-1$ - private TerminalFocusListener fFocusListener; + private TerminalMouseTrackListener fFocusListener; private ITerminalConnector fConnector; private final ITerminalConnector[] fConnectors; private final boolean fUseCommonPrefs; @@ -793,10 +792,10 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC protected void setupListeners() { fKeyHandler = new TerminalKeyHandler(); - fFocusListener = new TerminalFocusListener(); + fFocusListener = new TerminalMouseTrackListener(); getCtlText().addKeyListener(fKeyHandler); - getCtlText().addFocusListener(fFocusListener); + getCtlText().addMouseTrackListener(fFocusListener); } @@ -878,17 +877,21 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public VT100Emulator getTerminalText() { return fTerminalText; } - protected class TerminalFocusListener implements FocusListener { + protected class TerminalMouseTrackListener implements MouseTrackListener { private IContextActivation terminalContextActivation = null; private IContextActivation editContextActivation = null; - protected TerminalFocusListener() { + protected TerminalMouseTrackListener() { super(); } @Override - @SuppressWarnings("cast") - public void focusGained(FocusEvent event) { + public void mouseHover(MouseEvent e) { + } + + @Override + @SuppressWarnings("cast") + public void mouseEnter(MouseEvent e) { // Disable all keyboard accelerators (e.g., Control-B) so the Terminal view // can see every keystroke. Without this, Emacs, vi, and Bash are unusable // in the Terminal view. @@ -900,8 +903,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } @Override - @SuppressWarnings("cast") - public void focusLost(FocusEvent event) { + @SuppressWarnings("cast") + public void mouseExit(MouseEvent e) { // Enable all keybindings. captureKeyEvents(false);