/** * Add the given handler. * * @param handler the handler to call when a visible line height change. */ private void addHandler(Consumer<StyledText> handler) { if (handlers.isEmpty()) { viewer.getTextWidget().addPaintListener(this); } handlers.add(handler); }
@Override public void handleEvent(Event event) { if (event.keyCode != SWT.ESC) return; if (!isBreadcrumbEvent(event)) return; fTextViewer.getTextWidget().setFocus(); } };
/** * Checks that the state has not changed since it was saved. * * @return returns <code>true</code> if the current state is the same as * when it was last saved. */ private boolean hasSameState() { return fIndex == fViewer.getTextWidget().getCaretOffset(); }
@Override public IInformationControl createInformationControl(Shell parent) { Color foregroundColor= fTextViewer.getTextWidget().getForeground(); Color backgroundColor= fTextViewer.getTextWidget().getBackground(); return new LinkListInformationControl(parent, fManager, foregroundColor, backgroundColor); } };
@Override public void lineGetBackground(LineBackgroundEvent event) { // don't use cached line information because of asynchronous painting StyledText textWidget= fViewer.getTextWidget(); if (textWidget != null) { int caret= textWidget.getCaretOffset(); int length= event.lineText.length(); if (event.lineOffset <= caret && caret <= event.lineOffset + length && !hasMultiLineSelection(textWidget)) event.lineBackground= fHighlightColor; } }
/** * Returns the last, possibly partially, visible line in the view port. * * @param viewer the text viewer * @return the last, possibly partially, visible line in the view port */ public static int getPartialBottomIndex(ITextViewer viewer) { StyledText textWidget= viewer.getTextWidget(); int widgetBottom= getPartialBottomIndex(textWidget); return widgetLine2ModelLine(viewer, widgetBottom); }
@Override public String getLineDelimiter() { if (fContentAssistSubjectControl != null) return fContentAssistSubjectControl.getLineDelimiter(); return fViewer.getTextWidget().getLineDelimiter(); }
@Override public String getLineDelimiter() { if (fContentAssistSubjectControl != null) return fContentAssistSubjectControl.getLineDelimiter(); return fViewer.getTextWidget().getLineDelimiter(); }
private void ensureListenerRemoved() { if (fBackspaceListener != null) { ITextViewer viewer= fViewer; if (viewer instanceof ITextViewerExtension) ((ITextViewerExtension) viewer).removeVerifyKeyListener(fBackspaceListener); else viewer.getTextWidget().removeVerifyKeyListener(fBackspaceListener); fBackspaceListener= null; } }
/** * Returns the last, possibly partially, visible line in the view port. * * @param viewer the text viewer * @return the last, possibly partially, visible line in the view port */ public static int getPartialBottomIndex(ITextViewer viewer) { StyledText textWidget= viewer.getTextWidget(); int widgetBottom= getPartialBottomIndex(textWidget); return widgetLine2ModelLine(viewer, widgetBottom); }
@Override public void addKeyListener(KeyListener keyListener) { if (fContentAssistSubjectControl != null) fContentAssistSubjectControl.addKeyListener(keyListener); else fViewer.getTextWidget().addKeyListener(keyListener); }
@Override public void stop() { if (fDisplay != null && !fDisplay.isDisposed()) { fDisplay.removeFilter(SWT.FocusOut, this); fDisplay.removeFilter(SWT.MouseMove, this); fTextViewer.getTextWidget().removeKeyListener(this); fTextViewer.getTextWidget().removeMouseListener(this); } fSubjectArea= null; }
private void handleException(ITextViewer viewer, Exception e, IRegion region) { JavaPlugin.log(e); openErrorDialog(viewer.getTextWidget().getShell(), e); fSelectedRegion= region; }
@Override public int getLineHeight() { if (fContentAssistSubjectControl != null) return fContentAssistSubjectControl.getLineHeight(); return fViewer.getTextWidget().getLineHeight(getCaretOffset()); }
private void ensureListenerInstalled() { if (fBackspaceListener == null) { fBackspaceListener= new BackspaceListener(); ITextViewer viewer= fViewer; if (viewer instanceof ITextViewerExtension) ((ITextViewerExtension) viewer).prependVerifyKeyListener(fBackspaceListener); else viewer.getTextWidget().addVerifyKeyListener(fBackspaceListener); } }
private void ensureListenerInstalled() { if (fBackspaceListener == null) { fBackspaceListener= new BackspaceListener(); ITextViewer viewer= fViewer; if (viewer instanceof ITextViewerExtension) ((ITextViewerExtension) viewer).prependVerifyKeyListener(fBackspaceListener); else viewer.getTextWidget().addVerifyKeyListener(fBackspaceListener); } }
@Override protected Point computeInformationControlLocation(Rectangle subjectArea, Point controlSize) { Point result= super.computeInformationControlLocation(subjectArea, controlSize); Point cursorLocation= fTextViewer.getTextWidget().getDisplay().getCursorLocation(); if (isTakingFocusWhenVisible() || cursorLocation.x <= result.x + controlSize.x) return result; result.x= cursorLocation.x + 20 - controlSize.x; return result; }
private void openErrorDialog(BadLocationException e) { Shell shell= getTextViewer().getTextWidget().getShell(); String message= e.getMessage(); MessageDialog.openError(shell, JavaTextMessages.FilledArgumentNamesMethodProposal_error_msg, message == null ? e.toString() : message); }
@Override public void install(ITextViewer viewer) { super.install(viewer); fTextViewer= viewer; fManager= new MultipleHyperlinkHoverManager(new MultipleHyperlinkHover(), fTextViewer, this); fManager.install(viewer.getTextWidget()); fManager.setSizeConstraints(100, 12, false, true); }
private void addListeners(ITextViewer viewer) { fWidgetEventSource= viewer.getTextWidget(); if (fWidgetEventSource != null) { fWidgetEventSource.addVerifyKeyListener(fEventListener); fWidgetEventSource.addMouseListener(fEventListener); fWidgetEventSource.addFocusListener(fEventListener); } ICommandService commandService= (ICommandService)PlatformUI.getWorkbench().getAdapter(ICommandService.class); if (commandService != null) commandService.addExecutionListener(fEventListener); }