import net.sourceforge.phpdt.core.compiler.InvalidInputException;
import net.sourceforge.phpdt.internal.compiler.parser.Scanner;
import net.sourceforge.phpdt.internal.compiler.parser.SyntaxError;
-import net.sourceforge.phpdt.internal.core.CompilationUnit;
import net.sourceforge.phpdt.internal.ui.actions.CompositeActionGroup;
import net.sourceforge.phpdt.internal.ui.actions.FoldingActionGroup;
import net.sourceforge.phpdt.internal.ui.actions.SelectionConverter;
import net.sourceforge.phpdt.internal.ui.text.JavaWordIterator;
import net.sourceforge.phpdt.internal.ui.text.PHPPairMatcher;
import net.sourceforge.phpdt.internal.ui.text.PreferencesAdapter;
-import net.sourceforge.phpdt.internal.ui.text.java.JavaExpandHover;
+import net.sourceforge.phpdt.internal.ui.text.java.hover.JavaExpandHover;
import net.sourceforge.phpdt.internal.ui.viewsupport.ISelectionListenerWithAST;
import net.sourceforge.phpdt.internal.ui.viewsupport.IViewPartInputProvider;
import net.sourceforge.phpdt.internal.ui.viewsupport.SelectionListenerWithASTManager;
import org.eclipse.jface.text.ITextSelection;
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.jface.text.ITextViewerExtension2;
-import org.eclipse.jface.text.ITextViewerExtension3;
import org.eclipse.jface.text.ITextViewerExtension4;
import org.eclipse.jface.text.ITextViewerExtension5;
import org.eclipse.jface.text.ITypedRegion;
import org.eclipse.jface.text.source.ISourceViewer;
import org.eclipse.jface.text.source.ISourceViewerExtension2;
import org.eclipse.jface.text.source.IVerticalRuler;
+import org.eclipse.jface.text.source.IVerticalRulerColumn;
import org.eclipse.jface.text.source.OverviewRuler;
import org.eclipse.jface.text.source.SourceViewerConfiguration;
import org.eclipse.jface.text.source.projection.ProjectionSupport;
try {
int widgetLocation = styledText.getOffsetAtLocation(new Point(x, y));
- if (textViewer instanceof ITextViewerExtension3) {
- ITextViewerExtension3 extension = (ITextViewerExtension3) textViewer;
+ if (textViewer instanceof ITextViewerExtension5) {
+ ITextViewerExtension5 extension = (ITextViewerExtension5) textViewer;
return extension.widgetOffset2ModelOffset(widgetLocation);
} else {
IRegion visibleRegion = textViewer.getVisibleRegion();
* <code>true</code> if search direction is forward,
* <code>false</code> if backward
*/
- public void gotoAnnotation(boolean forward) {
+ public Annotation gotoAnnotation(boolean forward) {
ITextSelection selection = (ITextSelection) getSelectionProvider().getSelection();
Position position = new Position(0, 0);
+ Annotation annotation=null;
if (false /* delayed - see bug 18316 */) {
- getNextAnnotation(selection.getOffset(), selection.getLength(), forward, position);
+ annotation=getNextAnnotation(selection.getOffset(), selection.getLength(), forward, position);
selectAndReveal(position.getOffset(), position.getLength());
} else /* no delay - see bug 18316 */{
- Annotation annotation = getNextAnnotation(selection.getOffset(), selection.getLength(), forward, position);
+ annotation = getNextAnnotation(selection.getOffset(), selection.getLength(), forward, position);
setStatusLineErrorMessage(null);
setStatusLineMessage(null);
if (annotation != null) {
setStatusLineMessage(annotation.getText());
}
}
+ return annotation;
}
/**
int targetOffset = (PHPPairMatcher.RIGHT == anchor) ? offset : offset + length - 1;
boolean visible = false;
- if (sourceViewer instanceof ITextViewerExtension3) {
- ITextViewerExtension3 extension = (ITextViewerExtension3) sourceViewer;
+ if (sourceViewer instanceof ITextViewerExtension5) {
+ ITextViewerExtension5 extension = (ITextViewerExtension5) sourceViewer;
visible = (extension.modelOffset2WidgetOffset(targetOffset) > -1);
} else {
IRegion visibleRegion = sourceViewer.getVisibleRegion();
* otherwise
* @since 3.0
*/
- private boolean isNavigationTarget(Annotation annotation) {
+ protected boolean isNavigationTarget(Annotation annotation) {
Preferences preferences = EditorsUI.getPluginPreferences();
AnnotationPreference preference = getAnnotationPreferenceLookup().getAnnotationPreference(annotation);
// See bug 41689
/*
* @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#createCompositeRuler()
*/
- protected CompositeRuler createCompositeRuler() {
+// protected CompositeRuler createCompositeRuler() {
+// if (!getPreferenceStore().getBoolean(PreferenceConstants.EDITOR_ANNOTATION_ROLL_OVER))
+// return super.createCompositeRuler();
+//
+// CompositeRuler ruler = new CompositeRuler();
+// AnnotationRulerColumn column = new AnnotationRulerColumn(VERTICAL_RULER_WIDTH, getAnnotationAccess());
+// column.setHover(new JavaExpandHover(ruler, getAnnotationAccess(), new IDoubleClickListener() {
+//
+// public void doubleClick(DoubleClickEvent event) {
+// // for now: just invoke ruler double click action
+// triggerAction(ITextEditorActionConstants.RULER_DOUBLE_CLICK);
+// }
+//
+// private void triggerAction(String actionID) {
+// IAction action = getAction(actionID);
+// if (action != null) {
+// if (action instanceof IUpdate)
+// ((IUpdate) action).update();
+// // hack to propagate line change
+// if (action instanceof ISelectionListener) {
+// ((ISelectionListener) action).selectionChanged(null, null);
+// }
+// if (action.isEnabled())
+// action.run();
+// }
+// }
+//
+// }));
+// ruler.addDecorator(0, column);
+//
+// if (isLineNumberRulerVisible())
+// ruler.addDecorator(1, createLineNumberRulerColumn());
+// else if (isPrefQuickDiffAlwaysOn())
+// ruler.addDecorator(1, createChangeRulerColumn());
+//
+// return ruler;
+// }
+
+ /*
+ * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#createAnnotationRulerColumn(org.eclipse.jface.text.source.CompositeRuler)
+ * @since 3.2
+ */
+ protected IVerticalRulerColumn createAnnotationRulerColumn(CompositeRuler ruler) {
if (!getPreferenceStore().getBoolean(PreferenceConstants.EDITOR_ANNOTATION_ROLL_OVER))
- return super.createCompositeRuler();
+ return super.createAnnotationRulerColumn(ruler);
- CompositeRuler ruler = new CompositeRuler();
- AnnotationRulerColumn column = new AnnotationRulerColumn(VERTICAL_RULER_WIDTH, getAnnotationAccess());
+ AnnotationRulerColumn column= new AnnotationRulerColumn(VERTICAL_RULER_WIDTH, getAnnotationAccess());
column.setHover(new JavaExpandHover(ruler, getAnnotationAccess(), new IDoubleClickListener() {
public void doubleClick(DoubleClickEvent event) {
}
private void triggerAction(String actionID) {
- IAction action = getAction(actionID);
+ IAction action= getAction(actionID);
if (action != null) {
if (action instanceof IUpdate)
((IUpdate) action).update();
// hack to propagate line change
if (action instanceof ISelectionListener) {
- ((ISelectionListener) action).selectionChanged(null, null);
+ ((ISelectionListener)action).selectionChanged(null, null);
}
if (action.isEnabled())
action.run();
}
}));
- ruler.addDecorator(0, column);
-
- if (isLineNumberRulerVisible())
- ruler.addDecorator(1, createLineNumberRulerColumn());
- else if (isPrefQuickDiffAlwaysOn())
- ruler.addDecorator(1, createChangeRulerColumn());
-
- return ruler;
+
+ return column;
}
-
/**
* Returns the folding action group, or <code>null</code> if there is none.
*