X-Git-Url: http://secure.phpeclipse.com
diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/spelling/SpellReconcileStrategy.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/spelling/SpellReconcileStrategy.java
deleted file mode 100644
index 9074743..0000000
--- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/spelling/SpellReconcileStrategy.java
+++ /dev/null
@@ -1,413 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *****************************************************************************/
-
-package net.sourceforge.phpdt.internal.ui.text.spelling;
-
-import java.text.MessageFormat;
-import java.util.Locale;
-
-import net.sourceforge.phpdt.core.IProblemRequestor;
-import net.sourceforge.phpdt.core.compiler.IProblem;
-import net.sourceforge.phpdt.internal.ui.PHPUIMessages;
-import net.sourceforge.phpdt.internal.ui.text.spelling.engine.ISpellCheckEngine;
-import net.sourceforge.phpdt.internal.ui.text.spelling.engine.ISpellCheckPreferenceKeys;
-import net.sourceforge.phpdt.internal.ui.text.spelling.engine.ISpellChecker;
-import net.sourceforge.phpdt.internal.ui.text.spelling.engine.ISpellEvent;
-import net.sourceforge.phpdt.internal.ui.text.spelling.engine.ISpellEventListener;
-import net.sourceforge.phpeclipse.phpeditor.php.PHPDocumentPartitioner;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Reconcile strategy to spell-check comments.
- *
- * @since 3.0
- */
-public class SpellReconcileStrategy implements IReconcilingStrategy,
- IReconcilingStrategyExtension, ISpellEventListener {
-
- /**
- * Spelling problem to be accepted by problem requestors.
- */
- public class SpellProblem implements IProblem {
-
- /** The id of the problem */
- public static final int Spelling = 0x80000000;
-
- /** The end offset of the problem */
- private int fEnd = 0;
-
- /** The line number of the problem */
- private int fLine = 1;
-
- /** Was the word found in the dictionary? */
- private boolean fMatch;
-
- /** Does the word start a new sentence? */
- private boolean fSentence = false;
-
- /** The start offset of the problem */
- private int fStart = 0;
-
- /** The word which caused the problem */
- private final String fWord;
-
- /**
- * Creates a new spelling problem
- *
- * @param word
- * The word which caused the problem
- */
- protected SpellProblem(final String word) {
- fWord = word;
- }
-
- /*
- * @see net.sourceforge.phpdt.core.compiler.IProblem#getArguments()
- */
- public String[] getArguments() {
-
- String prefix = ""; //$NON-NLS-1$
- String postfix = ""; //$NON-NLS-1$
-
- try {
-
- final IRegion line = fDocument
- .getLineInformationOfOffset(fStart);
-
- prefix = fDocument.get(line.getOffset(), fStart
- - line.getOffset());
- postfix = fDocument.get(fEnd + 1, line.getOffset()
- + line.getLength() - fEnd);
-
- } catch (BadLocationException exception) {
- // Do nothing
- }
- return new String[] {
- fWord,
- prefix,
- postfix,
- fSentence ? Boolean.toString(true) : Boolean
- .toString(false),
- fMatch ? Boolean.toString(true) : Boolean.toString(false) };
- }
-
- /*
- * @see net.sourceforge.phpdt.core.compiler.IProblem#getID()
- */
- public int getID() {
- return Spelling;
- }
-
- /*
- * @see net.sourceforge.phpdt.core.compiler.IProblem#getMessage()
- */
- public String getMessage() {
-
- if (fSentence && fMatch)
- return MessageFormat
- .format(
- PHPUIMessages
- .getString("Spelling.error.case.label"), new String[] { fWord }); //$NON-NLS-1$
-
- return MessageFormat.format(PHPUIMessages
- .getString("Spelling.error.label"), new String[] { fWord }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- /*
- * @see net.sourceforge.phpdt.core.compiler.IProblem#getOriginatingFileName()
- */
- public char[] getOriginatingFileName() {
- return fEditor.getEditorInput().getName().toCharArray();
- }
-
- /*
- * @see net.sourceforge.phpdt.core.compiler.IProblem#getSourceEnd()
- */
- public final int getSourceEnd() {
- return fEnd;
- }
-
- /*
- * @see net.sourceforge.phpdt.core.compiler.IProblem#getSourceLineNumber()
- */
- public final int getSourceLineNumber() {
- return fLine;
- }
-
- /*
- * @see net.sourceforge.phpdt.core.compiler.IProblem#getSourceStart()
- */
- public final int getSourceStart() {
- return fStart;
- }
-
- /**
- * Was the problem word found in the dictionary?
- *
- * @return true
iff the word was found,
- * false
otherwise
- */
- public final boolean isDictionaryMatch() {
- return fMatch;
- }
-
- /*
- * @see net.sourceforge.phpdt.core.compiler.IProblem#isError()
- */
- public final boolean isError() {
- return false;
- }
-
- /**
- * Does the problem word start a new sentence?
- *
- * @return true
iff it starts a new sentence,
- * false
otherwise
- */
- public final boolean isSentenceStart() {
- return fSentence;
- }
-
- /*
- * @see net.sourceforge.phpdt.core.compiler.IProblem#isWarning()
- */
- public final boolean isWarning() {
- return true;
- }
-
- /**
- * Sets whether the problem word was found in the dictionary.
- *
- * @param match
- * true
iff the word was found,
- * false
otherwise
- */
- public final void setDictionaryMatch(final boolean match) {
- fMatch = match;
- }
-
- /**
- * Sets whether the problem word starts a new sentence.
- *
- * @param sentence
- * true
iff the word starts a new sentence,
- * false
otherwise.
- */
- public final void setSentenceStart(final boolean sentence) {
- fSentence = sentence;
- }
-
- /*
- * @see net.sourceforge.phpdt.core.compiler.IProblem#setSourceEnd(int)
- */
- public final void setSourceEnd(final int end) {
- fEnd = end;
- }
-
- /*
- * @see net.sourceforge.phpdt.core.compiler.IProblem#setSourceLineNumber(int)
- */
- public final void setSourceLineNumber(final int line) {
- fLine = line;
- }
-
- /*
- * @see net.sourceforge.phpdt.core.compiler.IProblem#setSourceStart(int)
- */
- public final void setSourceStart(final int start) {
- fStart = start;
- }
- }
-
- /** The document to operate on */
- private IDocument fDocument = null;
-
- /** The text editor to operate on */
- private final ITextEditor fEditor;
-
- /** The current locale */
- private Locale fLocale = SpellCheckEngine.getDefaultLocale();
-
- /** The partitioning of the document */
- private final String fPartitioning;
-
- /** The preference store to use */
- private final IPreferenceStore fPreferences;
-
- /** The problem requestor */
- private IProblemRequestor fRequestor;
-
- /**
- * Creates a new comment reconcile strategy.
- *
- * @param editor
- * The text editor to operate on
- * @param partitioning
- * The partitioning of the document
- * @param store
- * The preference store to get the preferences from
- */
- public SpellReconcileStrategy(final ITextEditor editor,
- final String partitioning, final IPreferenceStore store) {
- fEditor = editor;
- fPartitioning = partitioning;
- fPreferences = store;
-
- updateProblemRequestor();
- }
-
- /**
- * Returns the current locale of the spell checking preferences.
- *
- * @return The current locale of the spell checking preferences
- */
- public Locale getLocale() {
-
- final String locale = fPreferences
- .getString(ISpellCheckPreferenceKeys.SPELLING_LOCALE);
- if (locale.equals(fLocale.toString()))
- return fLocale;
-
- if (locale.length() >= 5)
- return new Locale(locale.substring(0, 2), locale.substring(3, 5));
-
- return SpellCheckEngine.getDefaultLocale();
- }
-
- /*
- * @see net.sourceforge.phpdt.internal.ui.text.spelling.engine.ISpellEventListener#handle(net.sourceforge.phpdt.internal.ui.text.spelling.engine.ISpellEvent)
- */
- public void handle(final ISpellEvent event) {
-
- if (fRequestor != null) {
-
- final SpellProblem problem = new SpellProblem(event.getWord());
-
- problem.setSourceStart(event.getBegin());
- problem.setSourceEnd(event.getEnd());
- problem.setSentenceStart(event.isStart());
- problem.setDictionaryMatch(event.isMatch());
-
- try {
- problem.setSourceLineNumber(fDocument.getLineOfOffset(event
- .getBegin()) + 1);
- } catch (BadLocationException x) {
- // Do nothing
- }
-
- fRequestor.acceptProblem(problem);
- }
- }
-
- /*
- * @see org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension#initialReconcile()
- */
- public void initialReconcile() {
- }
-
- /*
- * @see org.eclipse.jface.text.reconciler.IReconcilingStrategy#reconcile(org.eclipse.jface.text.reconciler.DirtyRegion,org.eclipse.jface.text.IRegion)
- */
- public void reconcile(final DirtyRegion dirtyRegion, final IRegion subRegion) {
- reconcile(subRegion);
- }
-
- /*
- * @see org.eclipse.jface.text.reconciler.IReconcilingStrategy#reconcile(org.eclipse.jface.text.IRegion)
- */
- public void reconcile(final IRegion region) {
-
- if (fPreferences
- .getBoolean(ISpellCheckPreferenceKeys.SPELLING_CHECK_SPELLING)
- && fRequestor != null) {
-
- try {
-
- fRequestor.beginReporting();
-
- ITypedRegion partition = null;
- final ITypedRegion[] partitions = TextUtilities
- .computePartitioning(fDocument, fPartitioning, 0,
- fDocument.getLength(), false);
-
- final Locale locale = getLocale();
- final ISpellCheckEngine engine = SpellCheckEngine.getInstance();
-
- final ISpellChecker checker = engine.createSpellChecker(locale,
- fPreferences);
- if (checker != null) {
- try {
- checker.addListener(this);
-
- for (int index = 0; index < partitions.length; index++) {
- partition = partitions[index];
- if (!partition.getType().equals(
- IDocument.DEFAULT_CONTENT_TYPE)
- && !partition
- .getType()
- .equals(
- PHPDocumentPartitioner.PHP_SCRIPT_CODE))
- checker.execute(new SpellCheckIterator(
- fDocument, partition, locale));
- }
-
- } finally {
- checker.removeListener(this);
- }
- }
- } catch (BadLocationException exception) {
- // Do nothing
- } finally {
- fRequestor.endReporting();
- }
- }
- }
-
- /*
- * @see org.eclipse.jface.text.reconciler.IReconcilingStrategy#setDocument(org.eclipse.jface.text.IDocument)
- */
- public final void setDocument(final IDocument document) {
- fDocument = document;
-
- updateProblemRequestor();
- }
-
- /*
- * @see org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension#setProgressMonitor(org.eclipse.core.runtime.IProgressMonitor)
- */
- public final void setProgressMonitor(final IProgressMonitor monitor) {
- // Do nothing
- }
-
- /**
- * Update the problem requestor based on the current editor
- *
- * @since 3.0
- */
- private void updateProblemRequestor() {
- final IAnnotationModel model = fEditor.getDocumentProvider()
- .getAnnotationModel(fEditor.getEditorInput());
- fRequestor = (model instanceof IProblemRequestor) ? (IProblemRequestor) model
- : null;
- }
-}