@Override public void run() { try { while (true) { synchronized (fMutex) { if (fAutoActivationDelay != 0) fMutex.wait(fAutoActivationDelay); if (fIsReset) { fIsReset= false; continue; } } showAssist(fShowStyle); break; } } catch (InterruptedException e) { } fThread= null; }
fAutoAssistListener= new AutoAssistListener(); if (fViewer instanceof ITextViewerExtension) { ITextViewerExtension extension= (ITextViewerExtension) fViewer;
fAutoAssistListener= new AutoAssistListener(); if (fViewer instanceof ITextViewerExtension) { ITextViewerExtension extension= (ITextViewerExtension) fViewer;
@Override public void verifyKey(VerifyEvent e) { // Only act on typed characters and ignore modifier-only events if (e.character == 0 && (e.keyCode & SWT.KEYCODE_BIT) == 0) return; if (e.character != 0 && (e.stateMask == SWT.ALT)) return; int showStyle; int pos= fViewer.getSelectedRange().x; char[] activation= getCompletionProposalAutoActivationCharacters(fViewer, pos); if (contains(activation, e.character) && !fProposalPopup.isActive()) showStyle= SHOW_PROPOSALS; else { activation= getContextInformationAutoActivationCharacters(fViewer, pos); if (contains(activation, e.character) && !fContextInfoPopup.isActive()) showStyle= SHOW_CONTEXT_INFO; else { if (fThread != null && fThread.isAlive()) stop(); return; } } if (fThread != null && fThread.isAlive()) reset(showStyle); else start(showStyle); }
@Override public void verifyKey(VerifyEvent e) { // Only act on typed characters and ignore modifier-only events if (e.character == 0 && (e.keyCode & SWT.KEYCODE_BIT) == 0) return; if (e.character != 0 && (e.stateMask == SWT.ALT)) return; int showStyle; int pos= fViewer.getSelectedRange().x; char[] activation= getCompletionProposalAutoActivationCharacters(fViewer, pos); if (contains(activation, e.character) && !fProposalPopup.isActive()) showStyle= SHOW_PROPOSALS; else { activation= getContextInformationAutoActivationCharacters(fViewer, pos); if (contains(activation, e.character) && !fContextInfoPopup.isActive()) showStyle= SHOW_CONTEXT_INFO; else { if (fThread != null && fThread.isAlive()) stop(); return; } } if (fThread != null && fThread.isAlive()) reset(showStyle); else start(showStyle); }
@Override public void run() { try { while (true) { synchronized (fMutex) { if (fAutoActivationDelay != 0) fMutex.wait(fAutoActivationDelay); if (fIsReset) { fIsReset= false; continue; } } showAssist(fShowStyle); break; } } catch (InterruptedException e) { } fThread= null; }