diff options
Diffstat (limited to 'org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example')
23 files changed, 0 insertions, 2190 deletions
diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaActionContributor.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaActionContributor.java deleted file mode 100644 index fc01c69b071..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaActionContributor.java +++ /dev/null @@ -1,90 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor; - - -import org.eclipse.jface.action.*; -import org.eclipse.ui.*; -import org.eclipse.ui.editors.text.TextEditorActionContributor; -import org.eclipse.ui.texteditor.*; - -/** - * Contributes interesting Java actions to the desktop's Edit menu and the toolbar. - */ -public class JavaActionContributor extends TextEditorActionContributor { - - protected RetargetTextEditorAction fContentAssistProposal; - protected RetargetTextEditorAction fContentAssistTip; - protected TextEditorAction fTogglePresentation; - - /** - * Default constructor. - */ - public JavaActionContributor() { - super(); - fContentAssistProposal= new RetargetTextEditorAction(JavaEditorMessages.getResourceBundle(), "ContentAssistProposal."); //$NON-NLS-1$ - fContentAssistProposal.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - fContentAssistTip= new RetargetTextEditorAction(JavaEditorMessages.getResourceBundle(), "ContentAssistTip."); //$NON-NLS-1$ - fContentAssistTip.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_CONTEXT_INFORMATION); - fTogglePresentation= new PresentationAction(); - } - - /* - * @see IEditorActionBarContributor#init(IActionBars) - */ - public void init(IActionBars bars) { - super.init(bars); - - IMenuManager menuManager= bars.getMenuManager(); - IMenuManager editMenu= menuManager.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); - if (editMenu != null) { - editMenu.add(new Separator()); - editMenu.add(fContentAssistProposal); - editMenu.add(fContentAssistTip); - } - - IToolBarManager toolBarManager= bars.getToolBarManager(); - if (toolBarManager != null) { - toolBarManager.add(new Separator()); - toolBarManager.add(fTogglePresentation); - } - } - - private void doSetActiveEditor(IEditorPart part) { - super.setActiveEditor(part); - - ITextEditor editor= null; - if (part instanceof ITextEditor) - editor= (ITextEditor) part; - - fContentAssistProposal.setAction(getAction(editor, "ContentAssistProposal")); //$NON-NLS-1$ - fContentAssistTip.setAction(getAction(editor, "ContentAssistTip")); //$NON-NLS-1$ - - fTogglePresentation.setEditor(editor); - fTogglePresentation.update(); - } - - /* - * @see IEditorActionBarContributor#setActiveEditor(IEditorPart) - */ - public void setActiveEditor(IEditorPart part) { - super.setActiveEditor(part); - doSetActiveEditor(part); - } - - /* - * @see IEditorActionBarContributor#dispose() - */ - public void dispose() { - doSetActiveEditor(null); - super.dispose(); - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaAnnotationHover.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaAnnotationHover.java deleted file mode 100644 index 27b6e534813..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaAnnotationHover.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor; - - -import org.eclipse.jface.text.*; -import org.eclipse.jface.text.source.IAnnotationHover; -import org.eclipse.jface.text.source.ISourceViewer; - -/** - * The JavaAnnotationHover provides the hover support for java editors. - */ - -public class JavaAnnotationHover implements IAnnotationHover { - - /* (non-Javadoc) - * Method declared on IAnnotationHover - */ - public String getHoverInfo(ISourceViewer sourceViewer, int lineNumber) { - IDocument document= sourceViewer.getDocument(); - - try { - IRegion info= document.getLineInformation(lineNumber); - return document.get(info.getOffset(), info.getLength()); - } catch (BadLocationException x) { - } - - return null; - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaContentOutlinePage.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaContentOutlinePage.java deleted file mode 100644 index 723812cacc3..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaContentOutlinePage.java +++ /dev/null @@ -1,237 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor; - - -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.jface.text.*; -import org.eclipse.jface.viewers.*; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.ui.texteditor.IDocumentProvider; -import org.eclipse.ui.texteditor.ITextEditor; -import org.eclipse.ui.views.contentoutline.ContentOutlinePage; - -/** - * A content outline page which always represents the content of the - * connected editor in 10 segments. - */ -public class JavaContentOutlinePage extends ContentOutlinePage { - - /** - * A segment element. - */ - protected static class Segment { - public String name; - public Position position; - - public Segment(String name, Position position) { - this.name= name; - this.position= position; - } - - public String toString() { - return name; - } - } - - /** - * Divides the editor's document into ten segments and provides elements for them. - */ - protected class ContentProvider implements ITreeContentProvider { - - protected final static String SEGMENTS= "__java_segments"; //$NON-NLS-1$ - protected IPositionUpdater fPositionUpdater= new DefaultPositionUpdater(SEGMENTS); - protected List fContent= new ArrayList(10); - - protected void parse(IDocument document) { - - int lines= document.getNumberOfLines(); - int increment= Math.max(Math.round(lines / 10), 10); - - for (int line= 0; line < lines; line += increment) { - - int length= increment; - if (line + increment > lines) - length= lines - line; - - try { - - int offset= document.getLineOffset(line); - int end= document.getLineOffset(line + length); - length= end - offset; - Position p= new Position(offset, length); - document.addPosition(SEGMENTS, p); - fContent.add(new Segment(MessageFormat.format(JavaEditorMessages.getString("OutlinePage.segment.title_pattern"), new Object[] { new Integer(offset) }), p)); //$NON-NLS-1$ - - } catch (BadPositionCategoryException x) { - } catch (BadLocationException x) { - } - } - } - - /* - * @see IContentProvider#inputChanged(Viewer, Object, Object) - */ - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - if (oldInput != null) { - IDocument document= fDocumentProvider.getDocument(oldInput); - if (document != null) { - try { - document.removePositionCategory(SEGMENTS); - } catch (BadPositionCategoryException x) { - } - document.removePositionUpdater(fPositionUpdater); - } - } - - fContent.clear(); - - if (newInput != null) { - IDocument document= fDocumentProvider.getDocument(newInput); - if (document != null) { - document.addPositionCategory(SEGMENTS); - document.addPositionUpdater(fPositionUpdater); - - parse(document); - } - } - } - - /* - * @see IContentProvider#dispose - */ - public void dispose() { - if (fContent != null) { - fContent.clear(); - fContent= null; - } - } - - /* - * @see IContentProvider#isDeleted(Object) - */ - public boolean isDeleted(Object element) { - return false; - } - - /* - * @see IStructuredContentProvider#getElements(Object) - */ - public Object[] getElements(Object element) { - return fContent.toArray(); - } - - /* - * @see ITreeContentProvider#hasChildren(Object) - */ - public boolean hasChildren(Object element) { - return element == fInput; - } - - /* - * @see ITreeContentProvider#getParent(Object) - */ - public Object getParent(Object element) { - if (element instanceof Segment) - return fInput; - return null; - } - - /* - * @see ITreeContentProvider#getChildren(Object) - */ - public Object[] getChildren(Object element) { - if (element == fInput) - return fContent.toArray(); - return new Object[0]; - } - } - - protected Object fInput; - protected IDocumentProvider fDocumentProvider; - protected ITextEditor fTextEditor; - - /** - * Creates a content outline page using the given provider and the given editor. - */ - public JavaContentOutlinePage(IDocumentProvider provider, ITextEditor editor) { - super(); - fDocumentProvider= provider; - fTextEditor= editor; - } - - /* (non-Javadoc) - * Method declared on ContentOutlinePage - */ - public void createControl(Composite parent) { - - super.createControl(parent); - - TreeViewer viewer= getTreeViewer(); - viewer.setContentProvider(new ContentProvider()); - viewer.setLabelProvider(new LabelProvider()); - viewer.addSelectionChangedListener(this); - - if (fInput != null) - viewer.setInput(fInput); - } - - /* (non-Javadoc) - * Method declared on ContentOutlinePage - */ - public void selectionChanged(SelectionChangedEvent event) { - - super.selectionChanged(event); - - ISelection selection= event.getSelection(); - if (selection.isEmpty()) - fTextEditor.resetHighlightRange(); - else { - Segment segment= (Segment) ((IStructuredSelection) selection).getFirstElement(); - int start= segment.position.getOffset(); - int length= segment.position.getLength(); - try { - fTextEditor.setHighlightRange(start, length, true); - } catch (IllegalArgumentException x) { - fTextEditor.resetHighlightRange(); - } - } - } - - /** - * Sets the input of the outline page - */ - public void setInput(Object input) { - fInput= input; - update(); - } - - /** - * Updates the outline page. - */ - public void update() { - TreeViewer viewer= getTreeViewer(); - - if (viewer != null) { - Control control= viewer.getControl(); - if (control != null && !control.isDisposed()) { - control.setRedraw(false); - viewer.setInput(fInput); - viewer.expandAll(); - control.setRedraw(true); - } - } - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaDocumentSetupParticipant.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaDocumentSetupParticipant.java deleted file mode 100644 index 3c468a93402..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaDocumentSetupParticipant.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor; - -import org.eclipse.core.filebuffers.IDocumentSetupParticipant; - -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IDocumentExtension3; -import org.eclipse.jface.text.IDocumentPartitioner; -import org.eclipse.jface.text.rules.DefaultPartitioner; - -/** - * - */ -public class JavaDocumentSetupParticipant implements IDocumentSetupParticipant { - - /** - */ - public JavaDocumentSetupParticipant() { - } - - /* - * @see org.eclipse.core.filebuffers.IDocumentSetupParticipant#setup(org.eclipse.jface.text.IDocument) - */ - public void setup(IDocument document) { - if (document instanceof IDocumentExtension3) { - IDocumentExtension3 extension3= (IDocumentExtension3) document; - IDocumentPartitioner partitioner= new DefaultPartitioner(JavaEditorExamplePlugin.getDefault().getJavaPartitionScanner(), JavaPartitionScanner.JAVA_PARTITION_TYPES); - extension3.setDocumentPartitioner(JavaEditorExamplePlugin.JAVA_PARTITIONING, partitioner); - partitioner.connect(document); - } - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditor.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditor.java deleted file mode 100644 index 94f7243412e..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditor.java +++ /dev/null @@ -1,255 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor; - - -import java.util.ResourceBundle; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; - -import org.eclipse.swt.widgets.Composite; - -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.viewers.ISelection; - -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.ITextSelection; -import org.eclipse.jface.text.ITextViewerExtension5; -import org.eclipse.jface.text.Position; -import org.eclipse.jface.text.Region; -import org.eclipse.jface.text.source.IAnnotationModel; -import org.eclipse.jface.text.source.ISourceViewer; -import org.eclipse.jface.text.source.IVerticalRuler; -import org.eclipse.jface.text.source.projection.ProjectionAnnotation; -import org.eclipse.jface.text.source.projection.ProjectionAnnotationModel; -import org.eclipse.jface.text.source.projection.ProjectionSupport; -import org.eclipse.jface.text.source.projection.ProjectionViewer; - -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.editors.text.TextEditor; -import org.eclipse.ui.texteditor.ITextEditor; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; -import org.eclipse.ui.texteditor.TextEditorAction; -import org.eclipse.ui.texteditor.TextOperationAction; -import org.eclipse.ui.views.contentoutline.IContentOutlinePage; - - -/** - * Java specific text editor. - */ -public class JavaEditor extends TextEditor { - - - private class DefineFoldingRegionAction extends TextEditorAction { - - public DefineFoldingRegionAction(ResourceBundle bundle, String prefix, ITextEditor editor) { - super(bundle, prefix, editor); - } - - private IAnnotationModel getAnnotationModel(ITextEditor editor) { - return (IAnnotationModel) editor.getAdapter(ProjectionAnnotationModel.class); - } - - /* - * @see org.eclipse.jface.action.Action#run() - */ - public void run() { - ITextEditor editor= getTextEditor(); - ISelection selection= editor.getSelectionProvider().getSelection(); - if (selection instanceof ITextSelection) { - ITextSelection textSelection= (ITextSelection) selection; - if (!textSelection.isEmpty()) { - IAnnotationModel model= getAnnotationModel(editor); - if (model != null) { - - int start= textSelection.getStartLine(); - int end= textSelection.getEndLine(); - - try { - IDocument document= editor.getDocumentProvider().getDocument(editor.getEditorInput()); - int offset= document.getLineOffset(start); - int endOffset= document.getLineOffset(end + 1); - Position position= new Position(offset, endOffset - offset); - model.addAnnotation(new ProjectionAnnotation(), position); - } catch (BadLocationException x) { - // ignore - } - } - } - } - } - } - - /** The outline page */ - private JavaContentOutlinePage fOutlinePage; - /** The projection support */ - private ProjectionSupport fProjectionSupport; - - /** - * Default constructor. - */ - public JavaEditor() { - super(); - } - - /** The <code>JavaEditor</code> implementation of this - * <code>AbstractTextEditor</code> method extend the - * actions to add those specific to the receiver - */ - protected void createActions() { - super.createActions(); - - IAction a= new TextOperationAction(JavaEditorMessages.getResourceBundle(), "ContentAssistProposal.", this, ISourceViewer.CONTENTASSIST_PROPOSALS); //$NON-NLS-1$ - a.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - setAction("ContentAssistProposal", a); //$NON-NLS-1$ - - a= new TextOperationAction(JavaEditorMessages.getResourceBundle(), "ContentAssistTip.", this, ISourceViewer.CONTENTASSIST_CONTEXT_INFORMATION); //$NON-NLS-1$ - a.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_CONTEXT_INFORMATION); - setAction("ContentAssistTip", a); //$NON-NLS-1$ - - a= new DefineFoldingRegionAction(JavaEditorMessages.getResourceBundle(), "DefineFoldingRegion.", this); //$NON-NLS-1$ - setAction("DefineFoldingRegion", a); //$NON-NLS-1$ - } - - /** The <code>JavaEditor</code> implementation of this - * <code>AbstractTextEditor</code> method performs any extra - * disposal actions required by the java editor. - */ - public void dispose() { - if (fOutlinePage != null) - fOutlinePage.setInput(null); - super.dispose(); - } - - /** The <code>JavaEditor</code> implementation of this - * <code>AbstractTextEditor</code> method performs any extra - * revert behavior required by the java editor. - */ - public void doRevertToSaved() { - super.doRevertToSaved(); - if (fOutlinePage != null) - fOutlinePage.update(); - } - - /** The <code>JavaEditor</code> implementation of this - * <code>AbstractTextEditor</code> method performs any extra - * save behavior required by the java editor. - */ - public void doSave(IProgressMonitor monitor) { - super.doSave(monitor); - if (fOutlinePage != null) - fOutlinePage.update(); - } - - /** The <code>JavaEditor</code> implementation of this - * <code>AbstractTextEditor</code> method performs any extra - * save as behavior required by the java editor. - */ - public void doSaveAs() { - super.doSaveAs(); - if (fOutlinePage != null) - fOutlinePage.update(); - } - - /** The <code>JavaEditor</code> implementation of this - * <code>AbstractTextEditor</code> method performs sets the - * input of the outline page after AbstractTextEditor has set input. - */ - public void doSetInput(IEditorInput input) throws CoreException { - super.doSetInput(input); - if (fOutlinePage != null) - fOutlinePage.setInput(input); - } - - /* - * @see org.eclipse.ui.texteditor.ExtendedTextEditor#editorContextMenuAboutToShow(org.eclipse.jface.action.IMenuManager) - */ - protected void editorContextMenuAboutToShow(IMenuManager menu) { - super.editorContextMenuAboutToShow(menu); - addAction(menu, "ContentAssistProposal"); //$NON-NLS-1$ - addAction(menu, "ContentAssistTip"); //$NON-NLS-1$ - addAction(menu, "DefineFoldingRegion"); //$NON-NLS-1$ - } - - /** The <code>JavaEditor</code> implementation of this - * <code>AbstractTextEditor</code> method performs gets - * the java content outline page if request is for a an - * outline page. - */ - public Object getAdapter(Class required) { - if (IContentOutlinePage.class.equals(required)) { - if (fOutlinePage == null) { - fOutlinePage= new JavaContentOutlinePage(getDocumentProvider(), this); - if (getEditorInput() != null) - fOutlinePage.setInput(getEditorInput()); - } - return fOutlinePage; - } - - if (fProjectionSupport != null) { - Object adapter= fProjectionSupport.getAdapter(getSourceViewer(), required); - if (adapter != null) - return adapter; - } - - return super.getAdapter(required); - } - - /* (non-Javadoc) - * Method declared on AbstractTextEditor - */ - protected void initializeEditor() { - super.initializeEditor(); - setSourceViewerConfiguration(new JavaSourceViewerConfiguration()); - } - - /* - * @see org.eclipse.ui.texteditor.ExtendedTextEditor#createSourceViewer(org.eclipse.swt.widgets.Composite, org.eclipse.jface.text.source.IVerticalRuler, int) - */ - protected ISourceViewer createSourceViewer(Composite parent, IVerticalRuler ruler, int styles) { - - fAnnotationAccess= createAnnotationAccess(); - fOverviewRuler= createOverviewRuler(getSharedColors()); - - ISourceViewer viewer= new ProjectionViewer(parent, ruler, getOverviewRuler(), isOverviewRulerVisible(), styles); - // ensure decoration support has been created and configured. - getSourceViewerDecorationSupport(viewer); - - return viewer; - } - - /* - * @see org.eclipse.ui.texteditor.ExtendedTextEditor#createPartControl(org.eclipse.swt.widgets.Composite) - */ - public void createPartControl(Composite parent) { - super.createPartControl(parent); - ProjectionViewer viewer= (ProjectionViewer) getSourceViewer(); - fProjectionSupport= new ProjectionSupport(viewer, getAnnotationAccess(), getSharedColors()); - fProjectionSupport.addSummarizableAnnotationType("org.eclipse.ui.workbench.texteditor.error"); //$NON-NLS-1$ - fProjectionSupport.addSummarizableAnnotationType("org.eclipse.ui.workbench.texteditor.warning"); //$NON-NLS-1$ - fProjectionSupport.install(); - viewer.doOperation(ProjectionViewer.TOGGLE); - } - - /* - * @see org.eclipse.ui.texteditor.AbstractTextEditor#adjustHighlightRange(int, int) - */ - protected void adjustHighlightRange(int offset, int length) { - ISourceViewer viewer= getSourceViewer(); - if (viewer instanceof ITextViewerExtension5) { - ITextViewerExtension5 extension= (ITextViewerExtension5) viewer; - extension.exposeModelRange(new Region(offset, length)); - } - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditorExamplePlugin.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditorExamplePlugin.java deleted file mode 100644 index 216cdb40f06..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditorExamplePlugin.java +++ /dev/null @@ -1,99 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPluginDescriptor; - -import org.eclipse.jface.text.rules.RuleBasedScanner; - -import org.eclipse.ui.examples.javaeditor.java.JavaCodeScanner; -import org.eclipse.ui.examples.javaeditor.javadoc.JavaDocScanner; -import org.eclipse.ui.examples.javaeditor.util.JavaColorProvider; -import org.eclipse.ui.plugin.AbstractUIPlugin; - -/** - * The example java editor plugin class. - * - * @since 3.0 - */ -public class JavaEditorExamplePlugin extends AbstractUIPlugin { - - public final static String JAVA_PARTITIONING= "__java_example_partitioning"; //$NON-NLS-1$ - - private static JavaEditorExamplePlugin fgInstance; - private JavaPartitionScanner fPartitionScanner; - private JavaColorProvider fColorProvider; - private JavaCodeScanner fCodeScanner; - private JavaDocScanner fDocScanner; - - /** - * Creates a new plugin instance. - * - * @param descriptor - */ - public JavaEditorExamplePlugin(IPluginDescriptor descriptor) { - super(descriptor); - fgInstance= this; - } - - /** - * Returns the default plugin instance. - * - * @return the default plugin instance - */ - public static JavaEditorExamplePlugin getDefault() { - return fgInstance; - } - - /* - * @see org.eclipse.ui.plugin.AbstractUIPlugin#shutdown() - */ - public void shutdown() throws CoreException { - super.shutdown(); - } - - /** - * Return a scanner for creating java partitions. - */ - public JavaPartitionScanner getJavaPartitionScanner() { - if (fPartitionScanner == null) - fPartitionScanner= new JavaPartitionScanner(); - return fPartitionScanner; - } - - /** - * Returns the singleton scanner. - */ - public RuleBasedScanner getJavaCodeScanner() { - if (fCodeScanner == null) - fCodeScanner= new JavaCodeScanner(getJavaColorProvider()); - return fCodeScanner; - } - - /** - * Returns the singleton color provider. - */ - public JavaColorProvider getJavaColorProvider() { - if (fColorProvider == null) - fColorProvider= new JavaColorProvider(); - return fColorProvider; - } - - /** - * Returns the singleton document scanner. - */ - public RuleBasedScanner getJavaDocScanner() { - if (fDocScanner == null) - fDocScanner= new JavaDocScanner(fColorProvider); - return fDocScanner; - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditorMessages.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditorMessages.java deleted file mode 100644 index 2e95f60768a..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditorMessages.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor; - -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -public class JavaEditorMessages { - - private static final String RESOURCE_BUNDLE= "org.eclipse.ui.examples.javaeditor.JavaEditorMessages";//$NON-NLS-1$ - - private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE); - - private JavaEditorMessages() { - } - - public static String getString(String key) { - try { - return fgResourceBundle.getString(key); - } catch (MissingResourceException e) { - return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$ - } - } - - public static ResourceBundle getResourceBundle() { - return fgResourceBundle; - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditorMessages.properties b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditorMessages.properties deleted file mode 100644 index df31e13c20e..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditorMessages.properties +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2004 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Common Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/cpl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -## Actions ## - -ContentAssistProposal.label=Content Assist@Ctrl+SPACE -ContentAssistProposal.tooltip=Content Assist -ContentAssistProposal.image= -ContentAssistProposal.description=Content Assist - -ContentAssistTip.label=Content Tip@Ctrl+SHIFT+SPACE -ContentAssistTip.tooltip=Content Tip -ContentAssistTip.image= -ContentAssistTip.description=Content Tip - -DefineFoldingRegion.label=Define Folding Region -DefineFoldingRegion.tooltip=Define Folding Region -DefineFoldingRegion.image= -DefineFoldingRegion.description=Define Folding Region - -TogglePresentation.label=Change Presentation -TogglePresentation.tooltip=Enable/Disable Segmented Source Viewer -TogglePresentation.image=togglepresentation.gif -TogglePresentation.description=Enable/Disable Segmented Source Viewer - -OutlinePage.segment.title_pattern=position {0} - -AutoIndent.error.bad_location_1=JavaAutoIndentStrategy.getAutoIndentString: BadLocationException -AutoIndent.error.bad_location_2=JavaAutoIndentStrategy.calcShiftBackReplace: BadLocationException - -CompletionProcessor.ContextInfo.display.pattern=proposal {0} at position {1} -CompletionProcessor.ContextInfo.value.pattern=proposal {0} valid from {1} to {2} -CompletionProcessor.Proposal.ContextInfo.pattern={0} valid 5 characters around insertion point -CompletionProcessor.Proposal.hoverinfo.pattern=Java keyword: {0} - -JavaTextHover.emptySelection=empty selection diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaPartitionScanner.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaPartitionScanner.java deleted file mode 100644 index ca52b53b556..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaPartitionScanner.java +++ /dev/null @@ -1,105 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor; - - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.jface.text.rules.*; - -/** - * This scanner recognizes the JavaDoc comments and Java multi line comments. - */ -public class JavaPartitionScanner extends RuleBasedPartitionScanner { - - public final static String JAVA_MULTILINE_COMMENT= "__java_multiline_comment"; //$NON-NLS-1$ - public final static String JAVA_DOC= "__java_javadoc"; //$NON-NLS-1$ - public final static String[] JAVA_PARTITION_TYPES= new String[] { JAVA_MULTILINE_COMMENT, JAVA_DOC }; - - /** - * Detector for empty comments. - */ - static class EmptyCommentDetector implements IWordDetector { - - /* (non-Javadoc) - * Method declared on IWordDetector - */ - public boolean isWordStart(char c) { - return (c == '/'); - } - - /* (non-Javadoc) - * Method declared on IWordDetector - */ - public boolean isWordPart(char c) { - return (c == '*' || c == '/'); - } - } - - /** - * - */ - static class WordPredicateRule extends WordRule implements IPredicateRule { - - private IToken fSuccessToken; - - public WordPredicateRule(IToken successToken) { - super(new EmptyCommentDetector()); - fSuccessToken= successToken; - addWord("/**/", fSuccessToken); //$NON-NLS-1$ - } - - /* - * @see org.eclipse.jface.text.rules.IPredicateRule#evaluate(ICharacterScanner, boolean) - */ - public IToken evaluate(ICharacterScanner scanner, boolean resume) { - return super.evaluate(scanner); - } - - /* - * @see org.eclipse.jface.text.rules.IPredicateRule#getSuccessToken() - */ - public IToken getSuccessToken() { - return fSuccessToken; - } - } - - /** - * Creates the partitioner and sets up the appropriate rules. - */ - public JavaPartitionScanner() { - super(); - - IToken javaDoc= new Token(JAVA_DOC); - IToken comment= new Token(JAVA_MULTILINE_COMMENT); - - List rules= new ArrayList(); - - // Add rule for single line comments. - rules.add(new EndOfLineRule("//", Token.UNDEFINED)); //$NON-NLS-1$ - - // Add rule for strings and character constants. - rules.add(new SingleLineRule("\"", "\"", Token.UNDEFINED, '\\')); //$NON-NLS-2$ //$NON-NLS-1$ - rules.add(new SingleLineRule("'", "'", Token.UNDEFINED, '\\')); //$NON-NLS-2$ //$NON-NLS-1$ - - // Add special case word rule. - rules.add(new WordPredicateRule(comment)); - - // Add rules for multi-line comments and javadoc. - rules.add(new MultiLineRule("/**", "*/", javaDoc, (char) 0, true)); //$NON-NLS-1$ //$NON-NLS-2$ - rules.add(new MultiLineRule("/*", "*/", comment, (char) 0, true)); //$NON-NLS-1$ //$NON-NLS-2$ - - IPredicateRule[] result= new IPredicateRule[rules.size()]; - rules.toArray(result); - setPredicateRules(result); - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaSourceViewerConfiguration.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaSourceViewerConfiguration.java deleted file mode 100644 index 353a3e97bcf..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaSourceViewerConfiguration.java +++ /dev/null @@ -1,166 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor; - - -import org.eclipse.swt.graphics.RGB; - -import org.eclipse.jface.text.DefaultAutoIndentStrategy; -import org.eclipse.jface.text.IAutoIndentStrategy; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.ITextDoubleClickStrategy; -import org.eclipse.jface.text.ITextHover; -import org.eclipse.jface.text.TextAttribute; -import org.eclipse.jface.text.contentassist.ContentAssistant; -import org.eclipse.jface.text.contentassist.IContentAssistant; -import org.eclipse.jface.text.presentation.IPresentationReconciler; -import org.eclipse.jface.text.presentation.PresentationReconciler; -import org.eclipse.jface.text.rules.BufferedRuleBasedScanner; -import org.eclipse.jface.text.rules.DefaultDamagerRepairer; -import org.eclipse.jface.text.rules.Token; -import org.eclipse.jface.text.source.IAnnotationHover; -import org.eclipse.jface.text.source.ISourceViewer; -import org.eclipse.jface.text.source.SourceViewerConfiguration; - -import org.eclipse.ui.examples.javaeditor.java.JavaAutoIndentStrategy; -import org.eclipse.ui.examples.javaeditor.java.JavaCompletionProcessor; -import org.eclipse.ui.examples.javaeditor.java.JavaDoubleClickSelector; -import org.eclipse.ui.examples.javaeditor.javadoc.JavaDocCompletionProcessor; -import org.eclipse.ui.examples.javaeditor.util.JavaColorProvider; - -/** - * Example configuration for an <code>SourceViewer</code> which shows Java code. - */ -public class JavaSourceViewerConfiguration extends SourceViewerConfiguration { - - - /** - * Single token scanner. - */ - static class SingleTokenScanner extends BufferedRuleBasedScanner { - public SingleTokenScanner(TextAttribute attribute) { - setDefaultReturnToken(new Token(attribute)); - } - } - - - /** - * Default constructor. - */ - public JavaSourceViewerConfiguration() { - } - - /* (non-Javadoc) - * Method declared on SourceViewerConfiguration - */ - public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) { - return new JavaAnnotationHover(); - } - - /* (non-Javadoc) - * Method declared on SourceViewerConfiguration - */ - public IAutoIndentStrategy getAutoIndentStrategy(ISourceViewer sourceViewer, String contentType) { - return (IDocument.DEFAULT_CONTENT_TYPE.equals(contentType) ? new JavaAutoIndentStrategy() : new DefaultAutoIndentStrategy()); - } - - /* - * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getConfiguredDocumentPartitioning(org.eclipse.jface.text.source.ISourceViewer) - */ - public String getConfiguredDocumentPartitioning(ISourceViewer sourceViewer) { - return JavaEditorExamplePlugin.JAVA_PARTITIONING; - } - - /* (non-Javadoc) - * Method declared on SourceViewerConfiguration - */ - public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) { - return new String[] { IDocument.DEFAULT_CONTENT_TYPE, JavaPartitionScanner.JAVA_DOC, JavaPartitionScanner.JAVA_MULTILINE_COMMENT }; - } - - /* (non-Javadoc) - * Method declared on SourceViewerConfiguration - */ - public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) { - - ContentAssistant assistant= new ContentAssistant(); - assistant.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer)); - assistant.setContentAssistProcessor(new JavaCompletionProcessor(), IDocument.DEFAULT_CONTENT_TYPE); - assistant.setContentAssistProcessor(new JavaDocCompletionProcessor(), JavaPartitionScanner.JAVA_DOC); - - assistant.enableAutoActivation(true); - assistant.setAutoActivationDelay(500); - assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY); - assistant.setContextInformationPopupOrientation(IContentAssistant.CONTEXT_INFO_ABOVE); - assistant.setContextInformationPopupBackground(JavaEditorExamplePlugin.getDefault().getJavaColorProvider().getColor(new RGB(150, 150, 0))); - - return assistant; - } - - /* (non-Javadoc) - * Method declared on SourceViewerConfiguration - */ - public String getDefaultPrefix(ISourceViewer sourceViewer, String contentType) { - return (IDocument.DEFAULT_CONTENT_TYPE.equals(contentType) ? "//" : null); //$NON-NLS-1$ - } - - /* (non-Javadoc) - * Method declared on SourceViewerConfiguration - */ - public ITextDoubleClickStrategy getDoubleClickStrategy(ISourceViewer sourceViewer, String contentType) { - return new JavaDoubleClickSelector(); - } - - /* (non-Javadoc) - * Method declared on SourceViewerConfiguration - */ - public String[] getIndentPrefixes(ISourceViewer sourceViewer, String contentType) { - return new String[] { "\t", " " }; //$NON-NLS-1$ //$NON-NLS-2$ - } - - /* (non-Javadoc) - * Method declared on SourceViewerConfiguration - */ - public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) { - - JavaColorProvider provider= JavaEditorExamplePlugin.getDefault().getJavaColorProvider(); - PresentationReconciler reconciler= new PresentationReconciler(); - reconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer)); - - DefaultDamagerRepairer dr= new DefaultDamagerRepairer(JavaEditorExamplePlugin.getDefault().getJavaCodeScanner()); - reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE); - reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE); - - dr= new DefaultDamagerRepairer(new SingleTokenScanner(new TextAttribute(provider.getColor(JavaColorProvider.JAVADOC_DEFAULT)))); - reconciler.setDamager(dr, JavaPartitionScanner.JAVA_DOC); - reconciler.setRepairer(dr, JavaPartitionScanner.JAVA_DOC); - - dr= new DefaultDamagerRepairer(new SingleTokenScanner(new TextAttribute(provider.getColor(JavaColorProvider.MULTI_LINE_COMMENT)))); - reconciler.setDamager(dr, JavaPartitionScanner.JAVA_MULTILINE_COMMENT); - reconciler.setRepairer(dr, JavaPartitionScanner.JAVA_MULTILINE_COMMENT); - - return reconciler; - } - - /* (non-Javadoc) - * Method declared on SourceViewerConfiguration - */ - public int getTabWidth(ISourceViewer sourceViewer) { - return 4; - } - - /* (non-Javadoc) - * Method declared on SourceViewerConfiguration - */ - public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType) { - return new JavaTextHover(); - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaTextHover.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaTextHover.java deleted file mode 100644 index 31b525eeed9..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaTextHover.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor; - - -import org.eclipse.jface.text.*; -import org.eclipse.swt.graphics.Point; - -/** - * Example implementation for an <code>ITextHover</code> which hovers over Java code. - */ -public class JavaTextHover implements ITextHover { - - /* (non-Javadoc) - * Method declared on ITextHover - */ - public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion) { - if (hoverRegion != null) { - try { - if (hoverRegion.getLength() > -1) - return textViewer.getDocument().get(hoverRegion.getOffset(), hoverRegion.getLength()); - } catch (BadLocationException x) { - } - } - return JavaEditorMessages.getString("JavaTextHover.emptySelection"); //$NON-NLS-1$ - } - - /* (non-Javadoc) - * Method declared on ITextHover - */ - public IRegion getHoverRegion(ITextViewer textViewer, int offset) { - Point selection= textViewer.getSelectedRange(); - if (selection.x <= offset && offset < selection.x + selection.y) - return new Region(selection.x, selection.y); - return new Region(offset, 0); - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/PresentationAction.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/PresentationAction.java deleted file mode 100644 index 9175d61650a..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/PresentationAction.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor; - - -import org.eclipse.ui.texteditor.ITextEditor; -import org.eclipse.ui.texteditor.TextEditorAction; - -/** - * A toolbar action which toggles the presentation model of the - * connected text editor. The editor shows either the highlight range - * only or always the whole document. - */ -public class PresentationAction extends TextEditorAction { - - /** - * Constructs and updates the action. - */ - public PresentationAction() { - super(JavaEditorMessages.getResourceBundle(), "TogglePresentation.", null); //$NON-NLS-1$ - update(); - } - - /* (non-Javadoc) - * Method declared on IAction - */ - public void run() { - - ITextEditor editor= getTextEditor(); - - editor.resetHighlightRange(); - boolean show= editor.showsHighlightRangeOnly(); - setChecked(!show); - editor.showHighlightRangeOnly(!show); - } - - /* (non-Javadoc) - * Method declared on TextEditorAction - */ - public void update() { - setChecked(getTextEditor() != null && getTextEditor().showsHighlightRangeOnly()); - setEnabled(true); - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaAutoIndentStrategy.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaAutoIndentStrategy.java deleted file mode 100644 index 9cec1cf2864..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaAutoIndentStrategy.java +++ /dev/null @@ -1,263 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor.java; - - -import org.eclipse.jface.text.*; - -/** - * Auto indent strategy sensitive to brackets. - */ -public class JavaAutoIndentStrategy extends DefaultAutoIndentStrategy { - - public JavaAutoIndentStrategy() { - } - - /* (non-Javadoc) - * Method declared on IAutoIndentStrategy - */ - public void customizeDocumentCommand(IDocument d, DocumentCommand c) { - if (c.length == 0 && c.text != null && endsWithDelimiter(d, c.text)) - smartIndentAfterNewLine(d, c); - else if ("}".equals(c.text)) { //$NON-NLS-1$ - smartInsertAfterBracket(d, c); - } - } - - /** - * Returns whether or not the text ends with one of the given search strings. - */ - private boolean endsWithDelimiter(IDocument d, String txt) { - String[] delimiters= d.getLegalLineDelimiters(); - if (delimiters != null) - return TextUtilities.endsWith(delimiters, txt) > -1; - return false; - } - - /** - * Returns the line number of the next bracket after end. - * @returns the line number of the next matching bracket after end - * @param document - the document being parsed - * @param line - the line to start searching back from - * @param end - the end position to search back from - * @param closingBracketIncrease - the number of brackets to skip - */ - protected int findMatchingOpenBracket(IDocument document, int line, int end, int closingBracketIncrease) throws BadLocationException { - - int start= document.getLineOffset(line); - int brackcount= getBracketCount(document, start, end, false) - closingBracketIncrease; - - // sum up the brackets counts of each line (closing brackets count negative, - // opening positive) until we find a line the brings the count to zero - while (brackcount < 0) { - line--; - if (line < 0) { - return -1; - } - start= document.getLineOffset(line); - end= start + document.getLineLength(line) - 1; - brackcount += getBracketCount(document, start, end, false); - } - return line; - } - - /** - * Returns the bracket value of a section of text. Closing brackets have a value of -1 and - * open brackets have a value of 1. - * @returns the line number of the next matching bracket after end - * @param document - the document being parsed - * @param start - the start position for the search - * @param end - the end position for the search - * @param ignoreCloseBrackets - whether or not to ignore closing brackets in the count - */ - private int getBracketCount(IDocument document, int start, int end, boolean ignoreCloseBrackets) throws BadLocationException { - - int begin = start; - int bracketcount= 0; - while (begin < end) { - char curr= document.getChar(begin); - begin++; - switch (curr) { - case '/' : - if (begin < end) { - char next= document.getChar(begin); - if (next == '*') { - // a comment starts, advance to the comment end - begin= getCommentEnd(document, begin + 1, end); - } else if (next == '/') { - // '//'-comment: nothing to do anymore on this line - begin= end; - } - } - break; - case '*' : - if (begin < end) { - char next= document.getChar(begin); - if (next == '/') { - // we have been in a comment: forget what we read before - bracketcount= 0; - begin++; - } - } - break; - case '{' : - bracketcount++; - ignoreCloseBrackets= false; - break; - case '}' : - if (!ignoreCloseBrackets) { - bracketcount--; - } - break; - case '"' : - case '\'' : - begin= getStringEnd(document, begin, end, curr); - break; - default : - } - } - return bracketcount; - } - - /** - * Returns the end position a comment starting at pos. - * @returns the end position a comment starting at pos - * @param document - the document being parsed - * @param position - the start position for the search - * @param end - the end position for the search - */ - private int getCommentEnd(IDocument document, int position, int end) throws BadLocationException { - int currentPosition = position; - while (currentPosition < end) { - char curr= document.getChar(currentPosition); - currentPosition++; - if (curr == '*') { - if (currentPosition < end && document.getChar(currentPosition) == '/') { - return currentPosition + 1; - } - } - } - return end; - } - - /** - * Returns the String at line with the leading whitespace removed. - * @returns the String at line with the leading whitespace removed. - * @param document - the document being parsed - * @param line - the line being searched - */ - protected String getIndentOfLine(IDocument document, int line) throws BadLocationException { - if (line > -1) { - int start= document.getLineOffset(line); - int end= start + document.getLineLength(line) - 1; - int whiteend= findEndOfWhiteSpace(document, start, end); - return document.get(start, whiteend - start); - } else { - return ""; //$NON-NLS-1$ - } - } - - /** - * Returns the position of the character in the document after position. - * @returns the next location of character. - * @param document - the document being parsed - * @param position - the position to start searching from - * @param end - the end of the document - * @param character - the character you are trying to match - */ - private int getStringEnd(IDocument document, int position, int end, char character) throws BadLocationException { - int currentPosition = position; - while (currentPosition < end) { - char currentCharacter= document.getChar(currentPosition); - currentPosition++; - if (currentCharacter == '\\') { - // ignore escaped characters - currentPosition++; - } else if (currentCharacter == character) { - return currentPosition; - } - } - return end; - } - - /** - * Set the indent of a new line based on the command provided in the supplied document. - * @param document - the document being parsed - * @param command - the command being performed - */ - protected void smartIndentAfterNewLine(IDocument document, DocumentCommand command) { - - int docLength= document.getLength(); - if (command.offset == -1 || docLength == 0) - return; - - try { - int p= (command.offset == docLength ? command.offset - 1 : command.offset); - int line= document.getLineOfOffset(p); - - StringBuffer buf= new StringBuffer(command.text); - if (command.offset < docLength && document.getChar(command.offset) == '}') { - int indLine= findMatchingOpenBracket(document, line, command.offset, 0); - if (indLine == -1) { - indLine= line; - } - buf.append(getIndentOfLine(document, indLine)); - } else { - int start= document.getLineOffset(line); - int whiteend= findEndOfWhiteSpace(document, start, command.offset); - buf.append(document.get(start, whiteend - start)); - if (getBracketCount(document, start, command.offset, true) > 0) { - buf.append('\t'); - } - } - command.text= buf.toString(); - - } catch (BadLocationException excp) { - System.out.println(JavaEditorMessages.getString("AutoIndent.error.bad_location_1")); //$NON-NLS-1$ - } - } - - /** - * Set the indent of a bracket based on the command provided in the supplied document. - * @param document - the document being parsed - * @param command - the command being performed - */ - protected void smartInsertAfterBracket(IDocument document, DocumentCommand command) { - if (command.offset == -1 || document.getLength() == 0) - return; - - try { - int p= (command.offset == document.getLength() ? command.offset - 1 : command.offset); - int line= document.getLineOfOffset(p); - int start= document.getLineOffset(line); - int whiteend= findEndOfWhiteSpace(document, start, command.offset); - - // shift only when line does not contain any text up to the closing bracket - if (whiteend == command.offset) { - // evaluate the line with the opening bracket that matches out closing bracket - int indLine= findMatchingOpenBracket(document, line, command.offset, 1); - if (indLine != -1 && indLine != line) { - // take the indent of the found line - StringBuffer replaceText= new StringBuffer(getIndentOfLine(document, indLine)); - // add the rest of the current line including the just added close bracket - replaceText.append(document.get(whiteend, command.offset - whiteend)); - replaceText.append(command.text); - // modify document command - command.length= command.offset - start; - command.offset= start; - command.text= replaceText.toString(); - } - } - } catch (BadLocationException excp) { - System.out.println(JavaEditorMessages.getString("AutoIndent.error.bad_location_2")); //$NON-NLS-1$ - } - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaCodeScanner.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaCodeScanner.java deleted file mode 100644 index 1ff6538065a..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaCodeScanner.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor.java; - - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.jface.text.TextAttribute; -import org.eclipse.jface.text.rules.*; -import org.eclipse.ui.examples.javaeditor.util.*; - -/** - * A Java code scanner. - */ -public class JavaCodeScanner extends RuleBasedScanner { - - private static String[] fgKeywords= { "abstract", "break", "case", "catch", "class", "continue", "default", "do", "else", "extends", "final", "finally", "for", "if", "implements", "import", "instanceof", "interface", "native", "new", "package", "private", "protected", "public", "return", "static", "super", "switch", "synchronized", "this", "throw", "throws", "transient", "try", "volatile", "while" }; //$NON-NLS-36$ //$NON-NLS-35$ //$NON-NLS-34$ //$NON-NLS-33$ //$NON-NLS-32$ //$NON-NLS-31$ //$NON-NLS-30$ //$NON-NLS-29$ //$NON-NLS-28$ //$NON-NLS-27$ //$NON-NLS-26$ //$NON-NLS-25$ //$NON-NLS-24$ //$NON-NLS-23$ //$NON-NLS-22$ //$NON-NLS-21$ //$NON-NLS-20$ //$NON-NLS-19$ //$NON-NLS-18$ //$NON-NLS-17$ //$NON-NLS-16$ //$NON-NLS-15$ //$NON-NLS-14$ //$NON-NLS-13$ //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$ - - private static String[] fgTypes= { "void", "boolean", "char", "byte", "short", "int", "long", "float", "double" }; //$NON-NLS-1$ //$NON-NLS-5$ //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-2$ - - private static String[] fgConstants= { "false", "null", "true" }; //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$ - - /** - * Creates a Java code scanner - */ - public JavaCodeScanner(JavaColorProvider provider) { - - IToken keyword= new Token(new TextAttribute(provider.getColor(JavaColorProvider.KEYWORD))); - IToken type= new Token(new TextAttribute(provider.getColor(JavaColorProvider.TYPE))); - IToken string= new Token(new TextAttribute(provider.getColor(JavaColorProvider.STRING))); - IToken comment= new Token(new TextAttribute(provider.getColor(JavaColorProvider.SINGLE_LINE_COMMENT))); - IToken other= new Token(new TextAttribute(provider.getColor(JavaColorProvider.DEFAULT))); - - List rules= new ArrayList(); - - // Add rule for single line comments. - rules.add(new EndOfLineRule("//", comment)); //$NON-NLS-1$ - - // Add rule for strings and character constants. - rules.add(new SingleLineRule("\"", "\"", string, '\\')); //$NON-NLS-2$ //$NON-NLS-1$ - rules.add(new SingleLineRule("'", "'", string, '\\')); //$NON-NLS-2$ //$NON-NLS-1$ - - // Add generic whitespace rule. - rules.add(new WhitespaceRule(new JavaWhitespaceDetector())); - - // Add word rule for keywords, types, and constants. - WordRule wordRule= new WordRule(new JavaWordDetector(), other); - for (int i= 0; i < fgKeywords.length; i++) - wordRule.addWord(fgKeywords[i], keyword); - for (int i= 0; i < fgTypes.length; i++) - wordRule.addWord(fgTypes[i], type); - for (int i= 0; i < fgConstants.length; i++) - wordRule.addWord(fgConstants[i], type); - rules.add(wordRule); - - IRule[] result= new IRule[rules.size()]; - rules.toArray(result); - setRules(result); - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaCompletionProcessor.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaCompletionProcessor.java deleted file mode 100644 index 410bf8b02ec..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaCompletionProcessor.java +++ /dev/null @@ -1,111 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor.java; - - -import java.text.MessageFormat; - -import org.eclipse.jface.text.ITextViewer; -import org.eclipse.jface.text.TextPresentation; -import org.eclipse.jface.text.contentassist.*; - -/** - * Example Java completion processor. - */ -public class JavaCompletionProcessor implements IContentAssistProcessor { - - /** - * Simple content assist tip closer. The tip is valid in a range - * of 5 characters around its popup location. - */ - protected static class Validator implements IContextInformationValidator, IContextInformationPresenter { - - protected int fInstallOffset; - - /* - * @see IContextInformationValidator#isContextInformationValid(int) - */ - public boolean isContextInformationValid(int offset) { - return Math.abs(fInstallOffset - offset) < 5; - } - - /* - * @see IContextInformationValidator#install(IContextInformation, ITextViewer, int) - */ - public void install(IContextInformation info, ITextViewer viewer, int offset) { - fInstallOffset= offset; - } - - /* - * @see org.eclipse.jface.text.contentassist.IContextInformationPresenter#updatePresentation(int, TextPresentation) - */ - public boolean updatePresentation(int documentPosition, TextPresentation presentation) { - return false; - } - } - - protected final static String[] fgProposals= - { "abstract", "boolean", "break", "byte", "case", "catch", "char", "class", "continue", "default", "do", "double", "else", "extends", "false", "final", "finally", "float", "for", "if", "implements", "import", "instanceof", "int", "interface", "long", "native", "new", "null", "package", "private", "protected", "public", "return", "short", "static", "super", "switch", "synchronized", "this", "throw", "throws", "transient", "true", "try", "void", "volatile", "while" }; //$NON-NLS-48$ //$NON-NLS-47$ //$NON-NLS-46$ //$NON-NLS-45$ //$NON-NLS-44$ //$NON-NLS-43$ //$NON-NLS-42$ //$NON-NLS-41$ //$NON-NLS-40$ //$NON-NLS-39$ //$NON-NLS-38$ //$NON-NLS-37$ //$NON-NLS-36$ //$NON-NLS-35$ //$NON-NLS-34$ //$NON-NLS-33$ //$NON-NLS-32$ //$NON-NLS-31$ //$NON-NLS-30$ //$NON-NLS-29$ //$NON-NLS-28$ //$NON-NLS-27$ //$NON-NLS-26$ //$NON-NLS-25$ //$NON-NLS-24$ //$NON-NLS-23$ //$NON-NLS-22$ //$NON-NLS-21$ //$NON-NLS-20$ //$NON-NLS-19$ //$NON-NLS-18$ //$NON-NLS-17$ //$NON-NLS-16$ //$NON-NLS-15$ //$NON-NLS-14$ //$NON-NLS-13$ //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$ - - protected IContextInformationValidator fValidator= new Validator(); - - /* (non-Javadoc) - * Method declared on IContentAssistProcessor - */ - public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) { - ICompletionProposal[] result= new ICompletionProposal[fgProposals.length]; - for (int i= 0; i < fgProposals.length; i++) { - IContextInformation info= new ContextInformation(fgProposals[i], MessageFormat.format(JavaEditorMessages.getString("CompletionProcessor.Proposal.ContextInfo.pattern"), new Object[] { fgProposals[i] })); //$NON-NLS-1$ - result[i]= new CompletionProposal(fgProposals[i], documentOffset, 0, fgProposals[i].length(), null, fgProposals[i], info, MessageFormat.format(JavaEditorMessages.getString("CompletionProcessor.Proposal.hoverinfo.pattern"), new Object[] { fgProposals[i]})); //$NON-NLS-1$ - } - return result; - } - - /* (non-Javadoc) - * Method declared on IContentAssistProcessor - */ - public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset) { - IContextInformation[] result= new IContextInformation[5]; - for (int i= 0; i < result.length; i++) - result[i]= new ContextInformation( - MessageFormat.format(JavaEditorMessages.getString("CompletionProcessor.ContextInfo.display.pattern"), new Object[] { new Integer(i), new Integer(documentOffset) }), //$NON-NLS-1$ - MessageFormat.format(JavaEditorMessages.getString("CompletionProcessor.ContextInfo.value.pattern"), new Object[] { new Integer(i), new Integer(documentOffset - 5), new Integer(documentOffset + 5)})); //$NON-NLS-1$ - return result; - } - - /* (non-Javadoc) - * Method declared on IContentAssistProcessor - */ - public char[] getCompletionProposalAutoActivationCharacters() { - return new char[] { '.', '(' }; - } - - /* (non-Javadoc) - * Method declared on IContentAssistProcessor - */ - public char[] getContextInformationAutoActivationCharacters() { - return new char[] { '#' }; - } - - /* (non-Javadoc) - * Method declared on IContentAssistProcessor - */ - public IContextInformationValidator getContextInformationValidator() { - return fValidator; - } - - /* (non-Javadoc) - * Method declared on IContentAssistProcessor - */ - public String getErrorMessage() { - return null; - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaDoubleClickSelector.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaDoubleClickSelector.java deleted file mode 100644 index 407a485a824..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaDoubleClickSelector.java +++ /dev/null @@ -1,240 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor.java; - - -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.ITextDoubleClickStrategy; -import org.eclipse.jface.text.ITextViewer; - -/** - * Double click strategy aware of Java identifier syntax rules. - */ -public class JavaDoubleClickSelector implements ITextDoubleClickStrategy { - - protected ITextViewer fText; - protected int fPos; - protected int fStartPos; - protected int fEndPos; - - protected static char[] fgBrackets= { '{', '}', '(', ')', '[', ']', '"', '"' }; - - /* - * Create a JavaDoubleClickSelector. - */ - public JavaDoubleClickSelector() { - super(); - } - - /* (non-Javadoc) - * Method declared on ITextDoubleClickStrategy - */ - public void doubleClicked(ITextViewer text) { - - fPos= text.getSelectedRange().x; - - if (fPos < 0) - return; - - fText= text; - - if (!selectBracketBlock()) - selectWord(); - } - - /** - * Match the brackets at the current selection. Return true if successful, - * false otherwise. - */ - protected boolean matchBracketsAt() { - - char prevChar, nextChar; - - int i; - int bracketIndex1= fgBrackets.length; - int bracketIndex2= fgBrackets.length; - - fStartPos= -1; - fEndPos= -1; - - // get the chars preceding and following the start position - try { - - IDocument doc= fText.getDocument(); - - prevChar= doc.getChar(fPos - 1); - nextChar= doc.getChar(fPos); - - // is the char either an open or close bracket? - for (i= 0; i < fgBrackets.length; i= i + 2) { - if (prevChar == fgBrackets[i]) { - fStartPos= fPos - 1; - bracketIndex1= i; - } - } - for (i= 1; i < fgBrackets.length; i= i + 2) { - if (nextChar == fgBrackets[i]) { - fEndPos= fPos; - bracketIndex2= i; - } - } - - if (fStartPos > -1 && bracketIndex1 < bracketIndex2) { - fEndPos= searchForClosingBracket(fStartPos, prevChar, fgBrackets[bracketIndex1 + 1], doc); - if (fEndPos > -1) - return true; - else - fStartPos= -1; - } else if (fEndPos > -1) { - fStartPos= searchForOpenBracket(fEndPos, fgBrackets[bracketIndex2 - 1], nextChar, doc); - if (fStartPos > -1) - return true; - else - fEndPos= -1; - } - - } catch (BadLocationException x) { - } - - return false; - } - - /** - * Select the word at the current selection. Return true if successful, - * false otherwise. - */ - protected boolean matchWord() { - - IDocument doc= fText.getDocument(); - - try { - - int pos= fPos; - char c; - - while (pos >= 0) { - c= doc.getChar(pos); - if (!Character.isJavaIdentifierPart(c)) - break; - --pos; - } - - fStartPos= pos; - - pos= fPos; - int length= doc.getLength(); - - while (pos < length) { - c= doc.getChar(pos); - if (!Character.isJavaIdentifierPart(c)) - break; - ++pos; - } - - fEndPos= pos; - - return true; - - } catch (BadLocationException x) { - } - - return false; - } - - /** - * Returns the position of the closing bracket after startPosition. - * @returns the location of the closing bracket. - * @param startPosition - the beginning position - * @param openBracket - the character that represents the open bracket - * @param closeBracket - the character that represents the close bracket - * @param document - the document being searched - */ - protected int searchForClosingBracket(int startPosition, char openBracket, char closeBracket, IDocument document) throws BadLocationException { - int stack= 1; - int closePosition= startPosition + 1; - int length= document.getLength(); - char nextChar; - - while (closePosition < length && stack > 0) { - nextChar= document.getChar(closePosition); - if (nextChar == openBracket && nextChar != closeBracket) - stack++; - else if (nextChar == closeBracket) - stack--; - closePosition++; - } - - if (stack == 0) - return closePosition - 1; - else - return -1; - - } - - /** - * Returns the position of the open bracket before startPosition. - * @returns the location of the starting bracket. - * @param startPosition - the beginning position - * @param openBracket - the character that represents the open bracket - * @param closeBracket - the character that represents the close bracket - * @param document - the document being searched - */ - protected int searchForOpenBracket(int startPosition, char openBracket, char closeBracket, IDocument document) throws BadLocationException { - int stack= 1; - int openPos= startPosition - 1; - char nextChar; - - while (openPos >= 0 && stack > 0) { - nextChar= document.getChar(openPos); - if (nextChar == closeBracket && nextChar != openBracket) - stack++; - else if (nextChar == openBracket) - stack--; - openPos--; - } - - if (stack == 0) - return openPos + 1; - else - return -1; - } - - /** - * Select the area between the selected bracket and the closing bracket. Return - * true if successful. - */ - protected boolean selectBracketBlock() { - if (matchBracketsAt()) { - - if (fStartPos == fEndPos) - fText.setSelectedRange(fStartPos, 0); - else - fText.setSelectedRange(fStartPos + 1, fEndPos - fStartPos - 1); - - return true; - } - return false; - } - - /** - * Select the word at the current selection. - */ - protected void selectWord() { - if (matchWord()) { - - if (fStartPos == fEndPos) - fText.setSelectedRange(fStartPos, 0); - else - fText.setSelectedRange(fStartPos + 1, fEndPos - fStartPos - 1); - } - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaEditorMessages.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaEditorMessages.java deleted file mode 100644 index 1339ae2bba8..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaEditorMessages.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor.java; - -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -public class JavaEditorMessages { - - private static final String RESOURCE_BUNDLE= "org.eclipse.ui.examples.javaeditor.JavaEditorMessages";//$NON-NLS-1$ - - private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE); - - private JavaEditorMessages() { - } - - public static String getString(String key) { - try { - return fgResourceBundle.getString(key); - } catch (MissingResourceException e) { - return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$ - } - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/javadoc/JavaDocCompletionProcessor.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/javadoc/JavaDocCompletionProcessor.java deleted file mode 100644 index 7de71ee6060..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/javadoc/JavaDocCompletionProcessor.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor.javadoc; - - -import org.eclipse.jface.text.ITextViewer; -import org.eclipse.jface.text.contentassist.*; - -/** - * Example Java doc completion processor. - */ -public class JavaDocCompletionProcessor implements IContentAssistProcessor { - - protected final static String[] fgProposals= { "@author", "@deprecated", "@exception", "@param", "@return", "@see", "@serial", "@serialData", "@serialField", "@since", "@throws", "@version" }; //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-7$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$ - - /* (non-Javadoc) - * Method declared on IContentAssistProcessor - */ - public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) { - ICompletionProposal[] result= new ICompletionProposal[fgProposals.length]; - for (int i= 0; i < fgProposals.length; i++) - result[i]= new CompletionProposal(fgProposals[i], documentOffset, 0, fgProposals[i].length()); - return result; - } - - /* (non-Javadoc) - * Method declared on IContentAssistProcessor - */ - public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset) { - return null; - } - - /* (non-Javadoc) - * Method declared on IContentAssistProcessor - */ - public char[] getCompletionProposalAutoActivationCharacters() { - return null; - } - - /* (non-Javadoc) - * Method declared on IContentAssistProcessor - */ - public char[] getContextInformationAutoActivationCharacters() { - return null; - } - - /* (non-Javadoc) - * Method declared on IContentAssistProcessor - */ - public IContextInformationValidator getContextInformationValidator() { - return null; - } - - /* (non-Javadoc) - * Method declared on IContentAssistProcessor - */ - public String getErrorMessage() { - return null; - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/javadoc/JavaDocScanner.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/javadoc/JavaDocScanner.java deleted file mode 100644 index 0a5d98cd1cf..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/javadoc/JavaDocScanner.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor.javadoc; - - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.jface.text.TextAttribute; -import org.eclipse.jface.text.rules.*; -import org.eclipse.ui.examples.javaeditor.util.JavaColorProvider; -import org.eclipse.ui.examples.javaeditor.util.JavaWhitespaceDetector; - -/** - * A rule based JavaDoc scanner. - */ -public class JavaDocScanner extends RuleBasedScanner { - - /** - * A key word detector. - */ - static class JavaDocWordDetector implements IWordDetector { - - /* (non-Javadoc) - * Method declared on IWordDetector - */ - public boolean isWordStart(char c) { - return (c == '@'); - } - - /* (non-Javadoc) - * Method declared on IWordDetector - */ - public boolean isWordPart(char c) { - return Character.isLetter(c); - } - } - - private static String[] fgKeywords= { "@author", "@deprecated", "@exception", "@param", "@return", "@see", "@serial", "@serialData", "@serialField", "@since", "@throws", "@version" }; //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-7$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$ - - /** - * Create a new java doc scanner. - */ - public JavaDocScanner(JavaColorProvider provider) { - super(); - - IToken keyword= new Token(new TextAttribute(provider.getColor(JavaColorProvider.JAVADOC_KEYWORD))); - IToken tag= new Token(new TextAttribute(provider.getColor(JavaColorProvider.JAVADOC_TAG))); - IToken link= new Token(new TextAttribute(provider.getColor(JavaColorProvider.JAVADOC_LINK))); - - List list= new ArrayList(); - - // Add rule for tags. - list.add(new SingleLineRule("<", ">", tag)); //$NON-NLS-2$ //$NON-NLS-1$ - - // Add rule for links. - list.add(new SingleLineRule("{", "}", link)); //$NON-NLS-2$ //$NON-NLS-1$ - - // Add generic whitespace rule. - list.add(new WhitespaceRule(new JavaWhitespaceDetector())); - - // Add word rule for keywords. - WordRule wordRule= new WordRule(new JavaDocWordDetector()); - for (int i= 0; i < fgKeywords.length; i++) - wordRule.addWord(fgKeywords[i], keyword); - list.add(wordRule); - - IRule[] result= new IRule[list.size()]; - list.toArray(result); - setRules(result); - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/togglepresentation.gif b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/togglepresentation.gif Binary files differdeleted file mode 100644 index a0831f04bc6..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/togglepresentation.gif +++ /dev/null diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/util/JavaColorProvider.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/util/JavaColorProvider.java deleted file mode 100644 index 05ec622e68b..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/util/JavaColorProvider.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor.util; - - -import java.util.*; - -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.RGB; -import org.eclipse.swt.widgets.Display; - -/** - * Manager for colors used in the Java editor - */ -public class JavaColorProvider { - - public static final RGB MULTI_LINE_COMMENT= new RGB(128, 0, 0); - public static final RGB SINGLE_LINE_COMMENT= new RGB(128, 128, 0); - public static final RGB KEYWORD= new RGB(0, 0, 128); - public static final RGB TYPE= new RGB(0, 0, 128); - public static final RGB STRING= new RGB(0, 128, 0); - public static final RGB DEFAULT= new RGB(0, 0, 0); - public static final RGB JAVADOC_KEYWORD= new RGB(0, 128, 0); - public static final RGB JAVADOC_TAG= new RGB(128, 128, 128); - public static final RGB JAVADOC_LINK= new RGB(128, 128, 128); - public static final RGB JAVADOC_DEFAULT= new RGB(0, 128, 128); - - protected Map fColorTable= new HashMap(10); - - /** - * Release all of the color resources held onto by the receiver. - */ - public void dispose() { - Iterator e= fColorTable.values().iterator(); - while (e.hasNext()) - ((Color) e.next()).dispose(); - } - - /** - * Return the Color that is stored in the Color table as rgb. - */ - public Color getColor(RGB rgb) { - Color color= (Color) fColorTable.get(rgb); - if (color == null) { - color= new Color(Display.getCurrent(), rgb); - fColorTable.put(rgb, color); - } - return color; - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/util/JavaWhitespaceDetector.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/util/JavaWhitespaceDetector.java deleted file mode 100644 index 971522caa89..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/util/JavaWhitespaceDetector.java +++ /dev/null @@ -1,27 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor.util; - - -import org.eclipse.jface.text.rules.IWhitespaceDetector; - -/** - * A java aware white space detector. - */ -public class JavaWhitespaceDetector implements IWhitespaceDetector { - - /* (non-Javadoc) - * Method declared on IWhitespaceDetector - */ - public boolean isWhitespace(char character) { - return Character.isWhitespace(character); - } -} diff --git a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/util/JavaWordDetector.java b/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/util/JavaWordDetector.java deleted file mode 100644 index 977acf6ae56..00000000000 --- a/org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/util/JavaWordDetector.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.ui.examples.javaeditor.util; - - -import org.eclipse.jface.text.rules.IWordDetector; - -/** - * A Java aware word detector. - */ -public class JavaWordDetector implements IWordDetector { - - /* (non-Javadoc) - * Method declared on IWordDetector. - */ - public boolean isWordPart(char character) { - return Character.isJavaIdentifierPart(character); - } - - /* (non-Javadoc) - * Method declared on IWordDetector. - */ - public boolean isWordStart(char character) { - return Character.isJavaIdentifierStart(character); - } -} |