diff --git a/editor/org.processing.editor/src/org/processing/actions/RunButton.java b/editor/org.processing.editor/src/org/processing/actions/RunButton.java deleted file mode 100644 index 72b17f4de..000000000 --- a/editor/org.processing.editor/src/org/processing/actions/RunButton.java +++ /dev/null @@ -1,170 +0,0 @@ -package org.processing.actions; - - -import java.io.PrintWriter; -import java.io.StringWriter; - -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.ui.IEditorActionDelegate; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.texteditor.IDocumentProvider; -import org.eclipse.ui.texteditor.ITextEditor; - -import org.processing.editor.ProcessingLog; - -import processing.app.preproc.PdePreprocessor; // get the preprocessor stuff -import processing.app.preproc.PreprocessResult; -import processing.app.Preferences; // test test 1, 2 - -/** - * Right now this just does some hello world test stuff. - * Soon it will run the preprocessor only. - * Eventually it will function like the run button in the PDE. - * - * @author lonnen - * - */ -public class RunButton implements IEditorActionDelegate { - String editorContents = null; - - /** Main logic for the button */ - public void run(IAction action) { - ProcessingLog.logInfo("Someone hit the toolbar button!"); - - // Get program as a string -- editorContents contains the program as a string - spoof_preferences();// fake the preferences object. - - // Fire up that preprocessor - try{ - PdePreprocessor preproc = new PdePreprocessor("test"); // PdePreprocessor("sketch name", tabWidth), hard coded for now - - StringWriter feedback = new StringWriter(); - PreprocessResult result = preproc.write(feedback, editorContents); - ProcessingLog.logInfo(feedback.toString()); - }catch(antlr.RecognitionException re){ // adapted from Sketch.java preprocess method - String msg = re.getMessage(); - - // skipped some stuff to find where the error appeared. - // at some point it should be put in here. - // lonnen july 5 2010 - - // changed these helpers to change what is logged - // instead of throwing an exception - if (msg.equals("expecting RCURLY, found 'null'")) { - // This can be a problem since the error is sometimes listed as a line - // that's actually past the number of lines. For instance, it might - // report "line 15" of a 14 line program. Added code to highlightLine() - // inside Editor to deal with this situation (since that code is also - // useful for other similar situations). -// throw new RunnerException("Found one too many { characters " + -// "without a } to match it.", -// errorFile, errorLine, re.getColumn()); - msg = "Found one too many { characters without a } to match it."; - } - - if (msg.indexOf("expecting RBRACK") != -1) { - System.err.println(msg); -// throw new RunnerException("Syntax error, " + -// "maybe a missing ] character?", -// errorFile, errorLine, re.getColumn()); - msg = "Syntax error, maybe a missing right ] character?"; - } - - if (msg.indexOf("expecting SEMI") != -1) { - System.err.println(msg); -// throw new RunnerException("Syntax error, " + -// "maybe a missing semicolon?", -// errorFile, errorLine, re.getColumn()); - msg = "Syntax error, maybe a missing semicolon?"; - } - - if (msg.indexOf("expecting RPAREN") != -1) { - System.err.println(msg); -// throw new RunnerException("Syntax error, " + -// "maybe a missing right parenthesis?", -// errorFile, errorLine, re.getColumn()); - msg = "Syntax error, maybe a missing right parenthesis?"; - } - - if (msg.indexOf("preproc.web_colors") != -1) { -// throw new RunnerException("A web color (such as #ffcc00) " + -// "must be six digits.", -// errorFile, errorLine, re.getColumn(), false); - msg = "A web color (such as #ffcc00) must be six digits."; - } - - //System.out.println("msg is " + msg); - // throw new RunnerException(msg, errorFile, errorLine, re.getColumn()); - - // if there is no friendly translation, just report what you can - ProcessingLog.logError(msg, re); - - } catch (Exception e){ - ProcessingLog.logError(e); - } - //to the java batch compiler! - org.eclipse.jdt.core.compiler.CompilationProgress progress = null; - -// String baseCommand[] = new String[]{ -// "-Xemacs", -// //"-noExit", // not necessary for ecj -// "-source", "1.5", -// "-target", "1.5", -// "-classpath", sketch.getClassPath(), -// "-nowarn", // we're not currently interested in warnings (works in ecj) -// "-d", buildPath // output the classes in the buildPath -// }; - - org.eclipse.jdt.core.compiler.batch.BatchCompiler.compile("-verbose", new PrintWriter(System.out), new PrintWriter(System.err), progress); - // do something with it - - } - - /** - * Notifies this action delegate that the selection in the workbench has changed. - * - * We're required to implement this, but right now it does nothing. - */ - public void selectionChanged(IAction action, ISelection selection) { - // ignore. we don't care about the selection, but we have to implement this - } - - /** - * Retrieved the editor contents when a new editor is set. - * This is messy but this is how we get the editor contents from - * the IEditorActionDelegate. When the preprocessor is implemented - * as a proper builder it will be able to retrieve an up-to-date - * copy of the editor contents. - */ - public void setActiveEditor(IAction action, IEditorPart targetEditor) { - if (targetEditor instanceof ITextEditor) { - IDocumentProvider provider= ((ITextEditor) targetEditor).getDocumentProvider(); - IEditorInput input= targetEditor.getEditorInput(); - IDocument document= provider.getDocument(input); - editorContents = document.get(); - } - } - - /** - * Sets up the Static processing.app.Preferences class. - */ - private void spoof_preferences(){ - Preferences.set("editor.tabs.size", "4"); - Preferences.set("preproc.substitute_floats","true"); - Preferences.set("preproc.web_colors", "true"); - Preferences.set("preproc.color_datatype", "true"); - Preferences.set("preproc.enhanced_casting", "true"); - Preferences.set("preproc.substitute.unicode", "true"); - Preferences.set("preproc.output_parse.tree", "false"); - Preferences.set("export.application.fullscreen", "false"); - Preferences.set("run.present.bgcolor", "#666666"); - Preferences.set("export.application.stop", "true"); - Preferences.set("run.present.stop.color", "#cccccc"); - Preferences.set("run.window.bgcolor", "#ECE9D8"); - Preferences.set("preproc.imports.list", "java.applet.*,java.awt.Dimension,java.awt.Frame,java.awt.event.MouseEvent,java.awt.event.KeyEvent,java.awt.event.FocusEvent,java.awt.Image,java.io.*,java.net.*,java.text.*,java.util.*,java.util.zip.*,java.util.regex.*"); - } - -} diff --git a/editor/org.processing.editor/src/org/processing/editor/PresentationAction.java b/editor/org.processing.editor/src/org/processing/editor/PresentationAction.java deleted file mode 100644 index f5785a5dc..000000000 --- a/editor/org.processing.editor/src/org/processing/editor/PresentationAction.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.processing.editor; - - -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(ProcessingEditorMessages.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/editor/org.processing.editor/src/org/processing/editor/ProcessingActionContributor.java b/editor/org.processing.editor/src/org/processing/editor/ProcessingActionContributor.java deleted file mode 100644 index 0e9c8f807..000000000 --- a/editor/org.processing.editor/src/org/processing/editor/ProcessingActionContributor.java +++ /dev/null @@ -1,93 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.processing.editor; - - -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 ProcessingActionContributor extends TextEditorActionContributor { - - protected RetargetTextEditorAction fContentAssistProposal; - protected RetargetTextEditorAction fContentAssistTip; - protected TextEditorAction fTogglePresentation; - - /** - * Default constructor. - */ - public ProcessingActionContributor() { - super(); - fContentAssistProposal= new RetargetTextEditorAction(ProcessingEditorMessages.getResourceBundle(), "ContentAssistProposal."); //$NON-NLS-1$ - fContentAssistProposal.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - fContentAssistTip= new RetargetTextEditorAction(ProcessingEditorMessages.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/editor/org.processing.editor/src/org/processing/editor/ProcessingAnnotationHover.java b/editor/org.processing.editor/src/org/processing/editor/ProcessingAnnotationHover.java deleted file mode 100644 index 33f9d14e3..000000000 --- a/editor/org.processing.editor/src/org/processing/editor/ProcessingAnnotationHover.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.processing.editor; - - -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.source.IAnnotationHover; -import org.eclipse.jface.text.source.ISourceViewer; - -/** - * Provides the information thats displayed in the presentation area of hover popup windows. - * Right now this doesn't provide anything useful. It just hands back the contents of the line - * the mouse is hovering on. - * - * @see org.eclipse.jface.text.source.IAnnotationHover - */ - -public class ProcessingAnnotationHover 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/editor/org.processing.editor/src/org/processing/editor/ProcessingContentOutlinePage.java b/editor/org.processing.editor/src/org/processing/editor/ProcessingContentOutlinePage.java deleted file mode 100644 index 71900ee36..000000000 --- a/editor/org.processing.editor/src/org/processing/editor/ProcessingContentOutlinePage.java +++ /dev/null @@ -1,253 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.processing.editor; - - -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.BadPositionCategoryException; -import org.eclipse.jface.text.DefaultPositionUpdater; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IPositionUpdater; -import org.eclipse.jface.text.Position; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.ITreeContentProvider; -import org.eclipse.jface.viewers.LabelProvider; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.jface.viewers.Viewer; -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 ProcessingContentOutlinePage 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(ProcessingEditorMessages.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. - * - * @param provider the document provider - * @param editor the editor - */ - public ProcessingContentOutlinePage(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 - * - * @param input the input of this 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/editor/org.processing.editor/src/org/processing/editor/ProcessingDocumentSetupParticipant.java b/editor/org.processing.editor/src/org/processing/editor/ProcessingDocumentSetupParticipant.java deleted file mode 100644 index bad95c6af..000000000 --- a/editor/org.processing.editor/src/org/processing/editor/ProcessingDocumentSetupParticipant.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.processing.editor; - -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.FastPartitioner; - -/** - * Participates in the setup of a text file buffer document. - *
- * Requires the "org.eclipse.core.filebuffers.documentSetup" extension point.
- *
- * @see org.eclipse.core.filebuffers.IDocumentSetupParticipant
- */
-public class ProcessingDocumentSetupParticipant implements IDocumentSetupParticipant {
-
- /**
- * Doesn't do much.
- */
- public ProcessingDocumentSetupParticipant() {
- }
-
- /**
- * Sets up the document.
- */
- public void setup(IDocument document) {
- if (document instanceof IDocumentExtension3) {
- IDocumentExtension3 extension3= (IDocumentExtension3) document;
- IDocumentPartitioner partitioner= new FastPartitioner(ProcessingEditorPlugin.getDefault().getProcessingPartitionScanner(), ProcessingPartitionScanner.JAVA_PARTITION_TYPES);
- extension3.setDocumentPartitioner(ProcessingEditorPlugin.PROCESSING_PARTITIONING, partitioner);
- partitioner.connect(document);
- }
- }
-}
diff --git a/editor/org.processing.editor/src/org/processing/editor/ProcessingEditor.java b/editor/org.processing.editor/src/org/processing/editor/ProcessingEditor.java
deleted file mode 100644
index 845ba4d72..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/ProcessingEditor.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.processing.editor;
-
-
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-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.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Composite;
-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;
-
-/**
- * Sets up a Processing specific text editor.
- *
- * @see org.eclipse.ui.editors.text.TextEditor
- */
-public class ProcessingEditor 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 ProcessingContentOutlinePage fOutlinePage;
- /** The projection support */
- private ProjectionSupport fProjectionSupport;
-
- /**
- * Default
- */
- public ProcessingEditor() {
- super();
- }
-
- /** The
- * Two editor preferences are included as examples, but
- * currently do not do anything.
- *
- * //TODO transfer Processing.app preferences here
- * this may involve subclassing PreferencePage,
- * but things could be setup such that these are read
- * from a file, and we could use a customized version of
- * a standard Processing preferences file to store this.
- *
- * Added some validation and warning messages as examples.
- * If we really want to implement ones of any complexity
- * there should be an addition of propertyChange() and checkState()
- * methods.
- * See: http://sites.google.com/site/eclipseplugindevelopment/9-preference-pages
- */
-
-public class ProcessingPreferencesPage
- extends FieldEditorPreferencePage
- implements IWorkbenchPreferencePage {
-
- public ProcessingPreferencesPage() {
- super(GRID);
- setPreferenceStore(ProcessingEditorPlugin.getDefault().getPreferenceStore());
- setDescription("Processing Plugin Preferences (nothing here is used, see JavaDoc)");
- }
-
- /**
- * Creates the field editors. Field editors are abstractions of
- * the common GUI blocks needed to manipulate various types
- * of preferences. Each field editor knows how to save and
- * restore itself.
- */
- public void createFieldEditors() {
- // Sketchbook Directory Item setup
- DirectoryFieldEditor nextField = new DirectoryFieldEditor(PreferenceConstants.PROCESSING_SKETCHBOOK, "Sketchbook Directory:", getFieldEditorParent());
- nextField.setEmptyStringAllowed(false);
- nextField.setErrorMessage("The Sketchbook Directory shouldn't be empty!");
- addField(nextField);
- // Library Path item setup
- nextField = new DirectoryFieldEditor(PreferenceConstants.PROCESSING_LIBRARIES, "Processing Library Path:", getFieldEditorParent());
- nextField.setEmptyStringAllowed(false);
- nextField.setErrorMessage("A library path is required to use libraries!");
- addField(nextField);
- // Checkbox example setup!
- addField(
- new BooleanFieldEditor(
- PreferenceConstants.PROCESSING_AUTO_INDENT,
- "Auto indent",
- getFieldEditorParent()));
- }
-
- /**
- * Initializes the preference page. Nothing to do here, but it has to be subclassed.
- */
- public void init(IWorkbench workbench) {}
-
-}
\ No newline at end of file
ProcessingEditor implementation of this
- * AbstractTextEditor method extend the
- * actions to add those specific to the receiver
- */
- protected void createActions() {
- super.createActions();
- // accessing the ResourceBundle was causing an ExceptionInInitializerError, not sure what I changed to fix it [lonnen] June 10 2010
- IAction a= new TextOperationAction(ProcessingEditorMessages.getResourceBundle(), "ContentAssistProposal.", this, ISourceViewer.CONTENTASSIST_PROPOSALS); //$NON-NLS-1$
- a.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
- setAction("ContentAssistProposal", a); //$NON-NLS-1$
-
- a= new TextOperationAction(ProcessingEditorMessages.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(ProcessingEditorMessages.getResourceBundle(), "DefineFoldingRegion.", this); //$NON-NLS-1$
- setAction("DefineFoldingRegion", a); //$NON-NLS-1$
- }
-
- /** The ProcessingEditor implementation of this
- * AbstractTextEditor method performs any extra
- * disposal actions required by the java editor.
- */
- public void dispose() {
- if (fOutlinePage != null)
- fOutlinePage.setInput(null);
- super.dispose();
- }
-
- /** The ProcessingEditor implementation of this
- * AbstractTextEditor method performs any extra
- * revert behavior required by the java editor.
- */
- public void doRevertToSaved() {
- super.doRevertToSaved();
- if (fOutlinePage != null)
- fOutlinePage.update();
- }
-
- /** The ProcessingEditor implementation of this
- * AbstractTextEditor method performs any extra
- * save behavior required by the java editor.
- *
- * @param monitor the progress monitor
- */
- public void doSave(IProgressMonitor monitor) {
- super.doSave(monitor);
- if (fOutlinePage != null)
- fOutlinePage.update();
- }
-
- /** The ProcessingEditor implementation of this
- * AbstractTextEditor method performs any extra
- * save as behavior required by the java editor.
- */
- public void doSaveAs() {
- super.doSaveAs();
- if (fOutlinePage != null)
- fOutlinePage.update();
- }
-
- /** The ProcessingEditor implementation of this
- * AbstractTextEditor method performs sets the
- * input of the outline page after AbstractTextEditor has set input.
- *
- * @param input the editor input
- * @throws CoreException in case the input can not be set
- */
- public void doSetInput(IEditorInput input) throws CoreException {
- super.doSetInput(input);
- if (fOutlinePage != null)
- fOutlinePage.setInput(input);
- }
-
- /**
- * {@inheritDoc}
- */
- protected void editorContextMenuAboutToShow(IMenuManager menu) {
- super.editorContextMenuAboutToShow(menu);
- //These menu items are linked to non-functional things. Disabling [lonnen] june 18, 2010
- //addAction(menu, "ContentAssistProposal"); //$NON-NLS-1$
- //addAction(menu, "ContentAssistTip"); //$NON-NLS-1$
- addAction(menu, "DefineFoldingRegion"); //$NON-NLS-1$
- }
-
-//TODO Write a useful outline
-// The outline wasn't doing anything useful. Until it does, leave this commented
-// out to keep the outline from showing up at all.
-//
-// /** The ProcessingEditor implementation of this
-// * AbstractTextEditor method gets the outline page
-// * when it is requested.
-// *
-// * @param required the required type
-// * @return an adapter for the required type or null
-// */
-// public Object getAdapter(Class required) {
-//
-// if (IContentOutlinePage.class.equals(required)) {
-// if (fOutlinePage == null) {
-// fOutlinePage= new ProcessingContentOutlinePage(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);
-// }
-
- /**
- * Initializes this editor and provides a SourceViewerConfiguration
- *
- * @see org.eclipse.jface.text.source.SourceViewerConfiguration
- */
- protected void initializeEditor() {
- super.initializeEditor();
- setSourceViewerConfiguration(new ProcessingSourceViewerConfiguration());
- }
-
- /**
- * {@inheritDoc}
- */
- 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.
- // preferred over SourceViewerDecorationSupport due to impending API changes [lonnen] june 11, 2010
- fSourceViewerDecorationSupport = getSourceViewerDecorationSupport(viewer);
-
- return viewer;
- }
-
- /**
- * {@inheritDoc}
- *
- * @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);
- }
-
- /**
- * {@inheritDoc}
- *
- * @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/editor/org.processing.editor/src/org/processing/editor/ProcessingEditorMessages.java b/editor/org.processing.editor/src/org/processing/editor/ProcessingEditorMessages.java
deleted file mode 100644
index a2ff97029..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/ProcessingEditorMessages.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.processing.editor;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Processing Editor Messages object handles localization stuff
- * using the ProcessingEditorMessages.preferences file. This class
- * is never instantiated, and all of its variables and methods are
- * static.
- *
- * @author lonnen
- */
-public class ProcessingEditorMessages {
-
- private static final String RESOURCE_BUNDLE= "org.processing.editor.ProcessingEditorMessages";//$NON-NLS-1$
-
- private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
- private ProcessingEditorMessages() {
- }
-
- 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/editor/org.processing.editor/src/org/processing/editor/ProcessingEditorMessages.properties b/editor/org.processing.editor/src/org/processing/editor/ProcessingEditorMessages.properties
deleted file mode 100644
index 840497670..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/ProcessingEditorMessages.properties
+++ /dev/null
@@ -1,46 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-# Essentially the same as JavaEditorMessage.properties from the Java example [lonnen] June 10 2010
-
-## 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/editor/org.processing.editor/src/org/processing/editor/ProcessingEditorPlugin.java b/editor/org.processing.editor/src/org/processing/editor/ProcessingEditorPlugin.java
deleted file mode 100644
index 45fa8dc55..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/ProcessingEditorPlugin.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.processing.editor;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.jface.text.rules.RuleBasedScanner;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.processing.editor.javadoc.JavaDocScanner;
-import org.processing.editor.language.ProcessingCodeScanner;
-import org.processing.editor.util.ProcessingColorProvider;
-
-/**
- * Processing editor plug-in class.
- * Uses a singleton pattern to controls access to a few objects that need to be shared
- * across the plugin. Access these options with ProcessingEditorPlugin.getDefault().method()
- * @since 3.0
- */
-public class ProcessingEditorPlugin extends AbstractUIPlugin {
-
- public static final String PLUGIN_ID = "org.processing.ProcessingEditor";
- //public static final String JAVA_PARTITIONING= "__java_example_partitioning"; //$NON-NLS-1$
- public static final String PROCESSING_PARTITIONING= "__processing_partitioning"; //$NON-NLS-1$
-
- // The shared instance
- private static ProcessingEditorPlugin fgInstance;
-
- // Supporting objects that are managed by the singleton
- private ProcessingPartitionScanner fPartitionScanner;
- private ProcessingColorProvider fColorProvider;
- private ProcessingCodeScanner fCodeScanner;
- private JavaDocScanner fDocScanner;
-
- /**
- * Creates a new plug-in instance.
- */
- public ProcessingEditorPlugin() {
- //any init code should go in start()
- }
-
- /**
- * Called when the plugin is loaded.
- *
- * All initialization stuff goes here. Make sure to de-initialize it in stop()
- * Also, try to keep these methods lean. If it takes too long the platform will
- * cancel loading the plug-in.
- */
- public void start(BundleContext context) throws Exception {
- super.start(context);
- fgInstance = this;
- }
-
- /**
- * Called when the plugin is unloaded.
- *
- * Make sure to remove anything here that was initialized to prevent memory
- * leaks. Keep this lean, or the platform will cancel the operation.
- */
- public void stop(BundleContext context) throws Exception {
- fgInstance = null;
- super.stop(context);
- }
-
-
- /**
- * Returns the default plug-in instance.
- *
- * @return the default plug-in instance
- */
- public static ProcessingEditorPlugin getDefault() { return fgInstance; }
-
- /**
- * Return a scanner for creating Processing partitions.
- * Processing uses Java's commenting scheme, so our partitioner is almost identical. Unlike
- * the Java partitioner, however, this Processing one currently treats the JavaDoc style
- * comments as simple multiline comments.
- *
- * @return a scanner for creating Processing partitions
- */
- public ProcessingPartitionScanner getProcessingPartitionScanner() {
- if (fPartitionScanner == null)
- fPartitionScanner= new ProcessingPartitionScanner();
- return fPartitionScanner;
- }
-
- /**
- * Returns the singleton Processing code scanner.
- *
- * @return the singleton Processing code scanner
- */
- public RuleBasedScanner getProcessingCodeScanner() {
- if (fCodeScanner == null)
- fCodeScanner= new ProcessingCodeScanner(getProcessingColorProvider());
- return fCodeScanner;
- }
-
- /**
- * Returns the singleton Processing color provider.
- *
- * @return the singleton Processing color provider
- */
- public ProcessingColorProvider getProcessingColorProvider() {
- if (fColorProvider == null)
- fColorProvider= new ProcessingColorProvider();
- return fColorProvider;
- }
-
- /**
- * Returns the singleton Processingdoc scanner.
- *
- * @return the singleton Processingdoc scanner
- */
- public RuleBasedScanner getProcessingDocScanner() {
- if (fDocScanner == null)
- fDocScanner= new JavaDocScanner(fColorProvider);
- return fDocScanner;
- }
-
- /**
- * Returns a buffered input stream for a file in the plug-in directory.
- *
- * @param filename the file to be loaded
- * @return BufferedInputStream to read the file with
- */
- public BufferedInputStream getFileInputStream(String filename) {
- Bundle bundle = getDefault().getBundle();
- URL fileLocation;
- try {
- fileLocation = FileLocator.toFileURL(bundle.getEntry(filename));
- BufferedInputStream file = new BufferedInputStream(fileLocation.openStream());
- return file;
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null; // this should be more explicit than a null pointer from a caught exception, right? [lonnen] June 15, 2010
- }
-
-
-}
diff --git a/editor/org.processing.editor/src/org/processing/editor/ProcessingLog.java b/editor/org.processing.editor/src/org/processing/editor/ProcessingLog.java
deleted file mode 100644
index 315ed625a..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/ProcessingLog.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-// This is actually all original code, but it is part of an EPL project, so maybe I still need this?
-// If I wanted to worry about licensing I would have applied to law school. Back to code. [lonnen] June 18 2010
-package org.processing.editor;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * Container class for all the methods related to logging exceptions and other such
- * information that is useful to have written to a log file somewhere.
- *
- * @author lonnen
- */
-public class ProcessingLog {
-
- // Who needs a constructor?
-
- /**
- * Convenience method for appending a string to the log file.
- * Don't use this if there is an error.
- *
- * @param message something to append to the log file
- */
- public static void logInfo(String message){
- log(IStatus.INFO, IStatus.OK, message, null);
- }
-
- /**
- * Convenience method for appending an unexpected exception to the log file
- *
- * @param exception some problem
- */
- public static void logError(Throwable exception){
- logError("Unexpected Exception", exception);
- }
-
- /**
- * Convenience method for appending an exception with a message
- *
- * @param message a message, preferably something about the problem
- * @param exception the problem
- */
- public static void logError(String message, Throwable exception){
- log(IStatus.ERROR, IStatus.OK, message, exception);
- }
-
- /**
- * Adapter method that creates the appropriate status to be logged
- *
- * @param severity integer code indicating the type of message
- * @param code plug-in-specific status code
- * @param message a human readable message
- */
- public static void log(int severity, int code, String message, Throwable exception){
- log(createStatus(severity, code, message, exception));
- }
-
- /**
- * Creates a status object to log
- *
- * @param severity integer code indicating the type of message
- * @param code plug-in-specific status code
- * @param message a human readable message
- * @param a low-level exception, or null
- * @return status object
- */
- public static IStatus createStatus(int severity, int code, String message, Throwable exception){
- return new Status(severity, ProcessingEditorPlugin.PLUGIN_ID, code, message, exception);
- }
-
- /**
- * Write a status to the log
- *
- * @param status
- */
- public static void log(IStatus status){
- ProcessingEditorPlugin.getDefault().getLog().log(status);
- }
-
-}
diff --git a/editor/org.processing.editor/src/org/processing/editor/ProcessingPartitionScanner.java b/editor/org.processing.editor/src/org/processing/editor/ProcessingPartitionScanner.java
deleted file mode 100644
index 27eea7283..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/ProcessingPartitionScanner.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.processing.editor;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.rules.EndOfLineRule;
-import org.eclipse.jface.text.rules.ICharacterScanner;
-import org.eclipse.jface.text.rules.IPredicateRule;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.IWordDetector;
-import org.eclipse.jface.text.rules.MultiLineRule;
-import org.eclipse.jface.text.rules.RuleBasedPartitionScanner;
-import org.eclipse.jface.text.rules.SingleLineRule;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.rules.WordRule;
-
-/**
- * Processing uses Java comments, so we use the same scanner. The class name is
- * changed for consistency.
- *
- * This scanner recognizes the JavaDoc comments and Java multi line comments.
- */
-public class ProcessingPartitionScanner extends RuleBasedPartitionScanner {
-
- public final static String JAVA_MULTILINE_COMMENT= "__java_multiline_comment"; //$NON-NLS-1$
- //Removing JavaDoc support from sketches, but leave in code
-// 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 };
- public final static String[] JAVA_PARTITION_TYPES= new String[] { JAVA_MULTILINE_COMMENT };
-
- /**
- * 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 ProcessingPartitionScanner() {
- super();
- //Removing JavaDoc support from sketches, but leave in code
-// 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.
- //Removing JavaDoc support from sketches, but leave in code
-// 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/editor/org.processing.editor/src/org/processing/editor/ProcessingSourceViewerConfiguration.java b/editor/org.processing.editor/src/org/processing/editor/ProcessingSourceViewerConfiguration.java
deleted file mode 100644
index aff27dbf7..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/ProcessingSourceViewerConfiguration.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.processing.editor;
-
-import org.eclipse.jface.text.DefaultIndentLineAutoEditStrategy;
-import org.eclipse.jface.text.IAutoEditStrategy;
-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.swt.graphics.RGB;
-import org.processing.editor.language.ProcessingAutoIndentStrategy;
-import org.processing.editor.language.ProcessingCompletionProcessor;
-import org.processing.editor.language.ProcessingDoubleClickSelector;
-import org.processing.editor.util.ProcessingColorProvider;
-
-/**
- * Configuration for the ProcessingSourceViewer.
- */
-public class ProcessingSourceViewerConfiguration extends SourceViewerConfiguration {
-
- /**
- * Single token scanner.
- */
- static class SingleTokenScanner extends BufferedRuleBasedScanner {
- public SingleTokenScanner(TextAttribute attribute) {
- setDefaultReturnToken(new Token(attribute));
- }
- }
-
- /**
- * Default constructor.
- */
- public ProcessingSourceViewerConfiguration() {
- }
-
- /* (non-Javadoc)
- * Method declared on SourceViewerConfiguration
- */
- public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
- return new ProcessingAnnotationHover();
- }
-
- /*
- * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getAutoEditStrategies(org.eclipse.jface.text.source.ISourceViewer, java.lang.String)
- */
- public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
- IAutoEditStrategy strategy= (IDocument.DEFAULT_CONTENT_TYPE.equals(contentType) ? new ProcessingAutoIndentStrategy() : new DefaultIndentLineAutoEditStrategy());
- return new IAutoEditStrategy[] { strategy };
- }
-
- /*
- * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getConfiguredDocumentPartitioning(org.eclipse.jface.text.source.ISourceViewer)
- */
- public String getConfiguredDocumentPartitioning(ISourceViewer sourceViewer) {
- return ProcessingEditorPlugin.PROCESSING_PARTITIONING;
- }
-
- /* (non-Javadoc)
- * Method declared on SourceViewerConfiguration
- */
- public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
- //Removing JavaDoc support from sketches, but leave in code
- //return new String[] { IDocument.DEFAULT_CONTENT_TYPE, ProcessingPartitionScanner.JAVA_DOC, ProcessingPartitionScanner.JAVA_MULTILINE_COMMENT };
- return new String[] { IDocument.DEFAULT_CONTENT_TYPE, ProcessingPartitionScanner.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 ProcessingCompletionProcessor(), IDocument.DEFAULT_CONTENT_TYPE);
- // Disabling JavaDoc support [lonnen] june 12 2010
- //assistant.setContentAssistProcessor(new JavaDocCompletionProcessor(), ProcessingPartitionScanner.JAVA_DOC);
-
- assistant.enableAutoActivation(true);
- assistant.setAutoActivationDelay(500);
- assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
- assistant.setContextInformationPopupOrientation(IContentAssistant.CONTEXT_INFO_ABOVE);
- assistant.setContextInformationPopupBackground(ProcessingEditorPlugin.getDefault().getProcessingColorProvider().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 ProcessingDoubleClickSelector();
- }
-
- /* (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) {
-
- ProcessingColorProvider provider= ProcessingEditorPlugin.getDefault().getProcessingColorProvider();
-
- PresentationReconciler reconciler= new PresentationReconciler();
- reconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
-
- DefaultDamagerRepairer dr= new DefaultDamagerRepairer(ProcessingEditorPlugin.getDefault().getProcessingCodeScanner());
- reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
- reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
-
- //Removing JavaDoc support from sketches, but leave in code
-// dr= new DefaultDamagerRepairer(ProcessingEditorPlugin.getDefault().getProcessingDocScanner());
-// reconciler.setDamager(dr, ProcessingPartitionScanner.JAVA_DOC);
-// reconciler.setRepairer(dr, ProcessingPartitionScanner.JAVA_DOC);
-
- dr= new DefaultDamagerRepairer(new SingleTokenScanner(new TextAttribute(provider.getColor(ProcessingColorProvider.COMMENT1))));
- reconciler.setDamager(dr, ProcessingPartitionScanner.JAVA_MULTILINE_COMMENT);
- reconciler.setRepairer(dr, ProcessingPartitionScanner.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 ProcessingTextHover();
- }
-}
diff --git a/editor/org.processing.editor/src/org/processing/editor/ProcessingTextHover.java b/editor/org.processing.editor/src/org/processing/editor/ProcessingTextHover.java
deleted file mode 100644
index 8cecda67b..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/ProcessingTextHover.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.processing.editor;
-
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Region;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * Example implementation for an ITextHover which hovers over Java code.
- */
-public class ProcessingTextHover implements ITextHover {
-
- /* (non-Javadoc)
- * Method declared on ITextHover
- */
- public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion) {
- if (hoverRegion != null) {
- try {
- if (hoverRegion.getLength() > -1)
- //TODO Implement a hover that returns something useful
- return textViewer.getDocument().get(hoverRegion.getOffset(), hoverRegion.getLength());
- } catch (BadLocationException x) {
- }
- }
- return ProcessingEditorMessages.getString("ProcessingTextHover.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/editor/org.processing.editor/src/org/processing/editor/javadoc/JavaDocCompletionProcessor.java b/editor/org.processing.editor/src/org/processing/editor/javadoc/JavaDocCompletionProcessor.java
deleted file mode 100644
index 32aad9f20..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/javadoc/JavaDocCompletionProcessor.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.processing.editor.javadoc;
-
-
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.CompletionProposal;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-
-/**
- * Example Java doc completion processor. Should work for Processing unmodified. Do we even use Javadoc?
- */
-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/editor/org.processing.editor/src/org/processing/editor/javadoc/JavaDocScanner.java b/editor/org.processing.editor/src/org/processing/editor/javadoc/JavaDocScanner.java
deleted file mode 100644
index 765c9327d..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/javadoc/JavaDocScanner.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.processing.editor.javadoc;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.rules.IRule;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.IWordDetector;
-import org.eclipse.jface.text.rules.RuleBasedScanner;
-import org.eclipse.jface.text.rules.SingleLineRule;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.rules.WhitespaceRule;
-import org.eclipse.jface.text.rules.WordRule;
-import org.processing.editor.util.ProcessingColorProvider;
-import org.processing.editor.util.ProcessingWhitespaceDetector;
-
-
-/**
- * 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 javadoc scanner for the given color provider.
- *
- * @param provider the color provider
- */
- public JavaDocScanner(ProcessingColorProvider provider) {
- super();
-
- IToken keyword= new Token(new TextAttribute(provider.getColor(ProcessingColorProvider.JAVADOC_KEYWORD)));
- IToken tag= new Token(new TextAttribute(provider.getColor(ProcessingColorProvider.JAVADOC_TAG)));
- IToken link= new Token(new TextAttribute(provider.getColor(ProcessingColorProvider.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 ProcessingWhitespaceDetector()));
-
- // 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/editor/org.processing.editor/src/org/processing/editor/language/ProcessingAutoIndentStrategy.java b/editor/org.processing.editor/src/org/processing/editor/language/ProcessingAutoIndentStrategy.java
deleted file mode 100644
index 449cef152..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/language/ProcessingAutoIndentStrategy.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.processing.editor.language;
-
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DefaultIndentLineAutoEditStrategy;
-import org.eclipse.jface.text.DocumentCommand;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.TextUtilities;
-
-/**
- * Auto indent line strategy sensitive to brackets. Should work for Processing unmodified.
- */
-public class ProcessingAutoIndentStrategy extends DefaultIndentLineAutoEditStrategy {
-
- public ProcessingAutoIndentStrategy() {
- }
-
- /* (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 given text ends with one of the documents legal line delimiters.
- *
- * @param d the document
- * @param txt the text
- * @return true if txt ends with one of the document's line delimiters, false otherwise
- */
- 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.
- *
- * @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
- * @return the line number of the next matching bracket after end
- * @throws BadLocationException in case the line numbers are invalid in the document
- */
- 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.
- *
- * @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
- * @return the bracket value of a section of text
- * @throws BadLocationException in case the positions are invalid in the document
- */
- 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 of a comment starting at the given position.
- *
- * @param document - the document being parsed
- * @param position - the start position for the search
- * @param end - the end position for the search
- * @return the end position of a comment starting at the given position
- * @throws BadLocationException in case position and end are invalid in the document
- */
- 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 content of the given line without the leading whitespace.
- *
- * @param document - the document being parsed
- * @param line - the line being searched
- * @return the content of the given line without the leading whitespace
- * @throws BadLocationException in case line is invalid in the document
- */
- 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);
- }
- return ""; //$NON-NLS-1$
- }
-
- /**
- * Returns the position of the character in the document after position.
- *
- * @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
- * @return the next location of character
- * @throws BadLocationException in case position is invalid in the document
- */
- 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(ProcessingEditorMessages.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(ProcessingEditorMessages.getString("AutoIndent.error.bad_location_2")); //$NON-NLS-1$
- }
- }
-}
diff --git a/editor/org.processing.editor/src/org/processing/editor/language/ProcessingCodeScanner.java b/editor/org.processing.editor/src/org/processing/editor/language/ProcessingCodeScanner.java
deleted file mode 100644
index 8e7ca492e..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/language/ProcessingCodeScanner.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.processing.editor.language;
-
-
-import java.io.BufferedReader;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.rules.EndOfLineRule;
-import org.eclipse.jface.text.rules.IRule;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.RuleBasedScanner;
-import org.eclipse.jface.text.rules.SingleLineRule;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.rules.WhitespaceRule;
-import org.eclipse.jface.text.rules.WordRule;
-import org.processing.editor.ProcessingEditorPlugin;
-import org.processing.editor.util.ProcessingColorProvider;
-import org.processing.editor.util.ProcessingWhitespaceDetector;
-import org.processing.editor.util.ProcessingWordDetector;
-
-/**
- * A Processing code scanner.
- */
-public class ProcessingCodeScanner extends RuleBasedScanner {
-
- private static String keywordsFile = "keywords.txt"; // name of the syntax highlighting file
-
- private static String[] fgKeywords1; // keywords (new, return, super)
- private static String[] fgKeywords2; // PDE methods (setup, random, size)
- private static String[] fgKeywords3; // primitive types (int, color, float)
- private static String[] fgLiterals1; // static tokens (null, true, P2D)
- private static String[] fgLiterals2; // environmental variables (mouseX, width, pixels)
- private static String[] fgLabels; // possibly unused? Supporting them here because Processing does.
- private static String[] fgOperators; // mathematical operators (+, -, *)
- private static String[] fgInvalids; // possibly unused? Supporting them here because Processing does.
-
- /*
- * Static initialization block to load Processing Keywords in from keywords.txt
- * This is similar to the way the Processing Developer Environment loads keywords
- * for syntax highlighting.
- *
- * Reads in the keyword file and splits each line at the tabs. The first string
- * is the symbol, the second is the category (empty strings indicate operators)
- * and the third string is ignored. In Processing it is used to lookup reference
- * HTML.
- *
- * A HashMap stores each category as a key corresponding to a HashSet value that
- * holds the tokens belonging to each category. After the keywordsFile is
- * processed, the HashMap sets are converted to string arrays and loaded into the
- * static keyword lists the document expects. At the moment each set of keywords
- * we create rules for are explicitly listed. If the keywords categories change in
- * the future, there will need to new categories introduced in the code scanner
- * and ProcessingColorProvider.
- *
- * Unexpected categories in the keywords file will be silently ignored.
- * 'Unsure of how to JavaDoc an init block so I did this' - [lonnen] june 16, 2010
- */
- static {
- HashMaptrue if successful,
- * false otherwise.
- *
- * @return true if brackets match, 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;
- fStartPos= -1;
- } else if (fEndPos > -1) {
- fStartPos= searchForOpenBracket(fEndPos, fgBrackets[bracketIndex2 - 1], nextChar, doc);
- if (fStartPos > -1)
- return true;
- fEndPos= -1;
- }
-
- } catch (BadLocationException x) {
- }
-
- return false;
- }
-
- /**
- * Select the word at the current selection location. Return true if successful,
- * false otherwise.
- *
- * @return true if a word can be found at the current selection location, 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.
- *
- * @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
- * @return the location of the closing bracket.
- * @throws BadLocationException in case startPosition is invalid in the document
- */
- 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;
- return -1;
-
- }
-
- /**
- * Returns the position of the open bracket before startPosition.
- *
- * @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
- * @return the location of the starting bracket.
- * @throws BadLocationException in case startPosition is invalid in the document
- */
- 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;
- return -1;
- }
-
- /**
- * Select the area between the selected bracket and the closing bracket.
- *
- * @return true if selection was successful, false otherwise
- */
- 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/editor/org.processing.editor/src/org/processing/editor/language/ProcessingEditorMessages.java b/editor/org.processing.editor/src/org/processing/editor/language/ProcessingEditorMessages.java
deleted file mode 100644
index 79f7f86b4..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/language/ProcessingEditorMessages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.processing.editor.language;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ProcessingEditorMessages {
-
- private static final String RESOURCE_BUNDLE= "org.processing.editor.ProcessingEditorMessages";//$NON-NLS-1$
-
- private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
- private ProcessingEditorMessages() {
- }
-
- 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/editor/org.processing.editor/src/org/processing/editor/util/ProcessingColorProvider.java b/editor/org.processing.editor/src/org/processing/editor/util/ProcessingColorProvider.java
deleted file mode 100644
index 4ac3b9b3b..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/util/ProcessingColorProvider.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.processing.editor.util;
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-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 ProcessingColorProvider {
-
- public static final RGB COMMENT1= new RGB(126, 126, 126); //comment 1
- public static final RGB COMMENT2= new RGB(126, 126, 126); //comment 2
- public static final RGB KEYWORD1= new RGB(204, 102, 0);
- public static final RGB KEYWORD2= new RGB(204, 102, 0);
- public static final RGB KEYWORD3= new RGB(204, 102, 0);
- public static final RGB LITERAL1= new RGB(0, 102, 153); // currently unused [lonnen] june 16, 2010
- public static final RGB LITERAL2= new RGB(0, 102, 153);
- public static final RGB LABEL= new RGB(0, 0, 128); // use listed as '?' in p5 doc
- public static final RGB OPERATOR= new RGB(0, 0, 0);
- public static final RGB INVALID= new RGB(126, 126, 126); // never used [lonnen] june 16, 2010
- public static final RGB STRING= new RGB(0, 102, 153);
- public static final RGB DEFAULT= new RGB(0, 0, 0);
-
- // used to color JavaDoc by org.processing.editor.javadoc.JavaDocScanner
- // currently ignored, as JavaDoc is treated like normal multiline comments
- // left available to avoid compiler errors from the JavaDocScanner.java class
- // which is never instantiated but wants access to them anyway because the
- // compiler doesn't realize these things. [lonnen] june 16, 2010
- public static final RGB JAVADOC_KEYWORD= new RGB(126, 126, 126);
- public static final RGB JAVADOC_TAG= new RGB(126, 126, 126);
- public static final RGB JAVADOC_LINK= new RGB(126, 126, 126);
- public static final RGB JAVADOC_DEFAULT= new RGB(126, 126, 126);
-
- protected Map fColorTable= new HashMap(17);
-
- /**
- * 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 under the given RGB
- * value.
- *
- * @param rgb the RGB value
- * @return the color stored in the color table for the given RGB value
- */
- 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/editor/org.processing.editor/src/org/processing/editor/util/ProcessingWhitespaceDetector.java b/editor/org.processing.editor/src/org/processing/editor/util/ProcessingWhitespaceDetector.java
deleted file mode 100644
index 93c328433..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/util/ProcessingWhitespaceDetector.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.processing.editor.util;
-
-
-import org.eclipse.jface.text.rules.IWhitespaceDetector;
-
-/**
- * A Processing aware white space detector, same as a java aware white space detector.
- */
-public class ProcessingWhitespaceDetector implements IWhitespaceDetector {
-
- /* (non-Javadoc)
- * Method declared on IWhitespaceDetector
- */
- public boolean isWhitespace(char character) {
- return Character.isWhitespace(character);
- }
-}
diff --git a/editor/org.processing.editor/src/org/processing/editor/util/ProcessingWordDetector.java b/editor/org.processing.editor/src/org/processing/editor/util/ProcessingWordDetector.java
deleted file mode 100644
index 3b42dadea..000000000
--- a/editor/org.processing.editor/src/org/processing/editor/util/ProcessingWordDetector.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.processing.editor.util;
-
-
-import org.eclipse.jface.text.rules.IWordDetector;
-
-/**
- * A Processing aware word detector. Same as a java aware word detector.
- */
-public class ProcessingWordDetector 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);
- }
-}
diff --git a/editor/org.processing.editor/src/org/processing/preferences/PreferenceConstants.java b/editor/org.processing.editor/src/org/processing/preferences/PreferenceConstants.java
deleted file mode 100644
index be9b58470..000000000
--- a/editor/org.processing.editor/src/org/processing/preferences/PreferenceConstants.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.processing.preferences;
-
-/**
- * Constant definitions for plug-in preferences
- */
-public class PreferenceConstants {
-
- // Editor Preferences
- public static final String PROCESSING_SKETCHBOOK = "sketch_path"; // path preference
- public static final String PROCESSING_LIBRARIES = "library_path"; // path preference
- public static final String PROCESSING_AUTO_INDENT = "eclipse.editor.auto.indent";
-
-// // PROCESSING_PREFERENCES prefix indicates membership in the processing.app preferences class
-// public static final String PROCESSING_APP_PREFERENCES_EDITOR_TABS_SIZE = "editor.tabs.size";
-// public static final String PROCESSING_APP_PREFERENCES_PREPROC_SUBSTITUTE_FLOATS= "preproc.substitute_floats";
-// public static final String PROCESSING_APP_PREFERENCES_PREPROC_WEB_COLORS = "preproc.web_colors";
-// public static final String PROCESSING_APP_PREFERENCES_PREPROC_COLOR_DATATYPE = "preproc.color_datatype";
-// public static final String PROCESSING_APP_PREFERENCES_PREPROC_ENHANCED_CASTING = "preproc.enhanced_casted";
-// public static final String PROCESSING_APP_PREFERENCES_PREPROC_SUBSTITUTE_UNICODE = "preproc.substitute.unicode";
-// public static final String PROCESSING_APP_PREFERENCES_PREPROC_OUTPUT_PARSE_TREE = "preproc.output_parse.tree";
-// public static final String PROCESSING_APP_PREFERENCES_PREPROC_EXPORT_APPLICATION_FULLSCREEN = "export.application.fullscreen";
-// public static final String PROCESSING_APP_PREFERENCES_PREPROC_RUN_PRESENT_BGCOLOR = "run.present.bgcolor";
-// public static final String PROCESSING_APP_PREFERENCES_PREPROC_EXPORT_APPLICATION_STOP = "export.application.stop";
-// public static final String PROCESSING_APP_PREFERENCES_PREPROC_RUN_PRESENT_STOP_COLOR = "run.present.stop.color";
-// public static final String PROCESSING_APP_PREFERENCES_PREPROC_RUN_WINDOW_BGCOLOR = "run.window.bgcolor";
-// public static final String PROCESSING_APP_PREFERENCES_PREPROC_PREPROC_IMPORTS_LIST = "preproc.imports.list";
-
-}
diff --git a/editor/org.processing.editor/src/org/processing/preferences/PreferenceInitializer.java b/editor/org.processing.editor/src/org/processing/preferences/PreferenceInitializer.java
deleted file mode 100644
index 2533609f5..000000000
--- a/editor/org.processing.editor/src/org/processing/preferences/PreferenceInitializer.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.processing.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.processing.editor.ProcessingEditorPlugin;
-
-/**
- * Class used to initialize default preference values.
- */
-public class PreferenceInitializer extends AbstractPreferenceInitializer {
-
- /**
- * Sets the default preference values
- */
- public void initializeDefaultPreferences() {
- IPreferenceStore store = ProcessingEditorPlugin.getDefault().getPreferenceStore();
-
- //store.setDefault(PreferenceContants.PROCESSING_SKETCH, value);
- store.setDefault(PreferenceConstants.PROCESSING_AUTO_INDENT, true);
-
- // PROCESSING_PREFERENCES are processing.app preferences
-// store.setDefault(PreferenceConstants.PROCESSING_APP_PREFERENCES_EDITOR_TABS_SIZE, "4");
-// store.setDefault(PreferenceConstants.PROCESSING_APP_PREFERENCES_PREPROC_SUBSTITUTE_FLOATS, "true");
-// store.setDefault(PreferenceConstants.PROCESSING_APP_PREFERENCES_PREPROC_WEB_COLORS, "true");
-// store.setDefault(PreferenceConstants.PROCESSING_APP_PREFERENCES_PREPROC_COLOR_DATATYPE, "true");
-// store.setDefault(PreferenceConstants.PROCESSING_APP_PREFERENCES_PREPROC_ENHANCED_CASTING, "true");
-// store.setDefault(PreferenceConstants.PROCESSING_APP_PREFERENCES_PREPROC_SUBSTITUTE_UNICODE, "true");
-// store.setDefault(PreferenceConstants.PROCESSING_APP_PREFERENCES_PREPROC_OUTPUT_PARSE_TREE, "false");
-// store.setDefault(PreferenceConstants.PROCESSING_APP_PREFERENCES_PREPROC_EXPORT_APPLICATION_FULLSCREEN, "false");
-// store.setDefault(PreferenceConstants.PROCESSING_APP_PREFERENCES_PREPROC_RUN_PRESENT_BGCOLOR, "#666666");
-// store.setDefault(PreferenceConstants.PROCESSING_APP_PREFERENCES_PREPROC_EXPORT_APPLICATION_STOP, "true");
-// store.setDefault(PreferenceConstants.PROCESSING_APP_PREFERENCES_PREPROC_RUN_PRESENT_STOP_COLOR, "#cccccc");
-// store.setDefault(PreferenceConstants.PROCESSING_APP_PREFERENCES_PREPROC_RUN_WINDOW_BGCOLOR, "#ECE9D8");
-// store.setDefault(PreferenceConstants.PROCESSING_APP_PREFERENCES_PREPROC_PREPROC_IMPORTS_LIST, "java.applet.*,java.awt.Dimension,java.awt.Frame,java.awt.event.MouseEvent,java.awt.event.KeyEvent,java.awt.event.FocusEvent,java.awt.Image,java.io.*,java.net.*,java.text.*,java.util.*,java.util.zip.*,java.util.regex.*");
- }
-
-}
diff --git a/editor/org.processing.editor/src/org/processing/preferences/ProcessingPreferencesPage.java b/editor/org.processing.editor/src/org/processing/preferences/ProcessingPreferencesPage.java
deleted file mode 100644
index 8ad2ade58..000000000
--- a/editor/org.processing.editor/src/org/processing/preferences/ProcessingPreferencesPage.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.processing.preferences;
-
-import org.eclipse.jface.preference.*;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.IWorkbench;
-import org.processing.editor.ProcessingEditorPlugin;
-
-/**
- * This page is used to modify preferences only. They
- * are stored in the preference store that belongs to
- * the main plug-in class. That way, preferences can
- * be accessed directly via the preference store.
- *