diff options
Diffstat (limited to 'core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CTextTools.java')
-rw-r--r-- | core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CTextTools.java | 240 |
1 files changed, 0 insertions, 240 deletions
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CTextTools.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CTextTools.java deleted file mode 100644 index e6fe8426818..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CTextTools.java +++ /dev/null @@ -1,240 +0,0 @@ -package org.eclipse.cdt.internal.ui.text; - -/* - * (c) Copyright IBM Corp. 2000, 2001. - * All Rights Reserved. - */ - -import org.eclipse.cdt.internal.ui.text.util.CColorManager; -import org.eclipse.cdt.ui.CUIPlugin; - -import org.eclipse.core.runtime.Preferences; - -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.text.IDocumentPartitioner; -import org.eclipse.jface.text.rules.DefaultPartitioner; -import org.eclipse.jface.text.rules.IPartitionTokenScanner; -import org.eclipse.jface.text.rules.RuleBasedScanner; -import org.eclipse.jface.util.IPropertyChangeListener; -import org.eclipse.jface.util.PropertyChangeEvent; - - -/** - * This type shares all scanners and the color manager between - * its clients. - */ -public class CTextTools { - - private class PreferenceListener implements IPropertyChangeListener, Preferences.IPropertyChangeListener { - public void propertyChange(PropertyChangeEvent event) { - adaptToPreferenceChange(event); - } - public void propertyChange(Preferences.PropertyChangeEvent event) { - adaptToPreferenceChange(new PropertyChangeEvent(event.getSource(), event.getProperty(), event.getOldValue(), event.getNewValue())); - } - }; - - /** The color manager */ - private CColorManager fColorManager; - /** The C source code scanner */ - private CCodeScanner fCodeScanner; - /** The C++ source code scanner */ - private CppCodeScanner fCppCodeScanner; - /** The C partitions scanner */ - private FastCPartitionScanner fPartitionScanner; - /** The Java multiline comment scanner */ - private CCommentScanner fMultilineCommentScanner; - /** The Java singleline comment scanner */ - private CCommentScanner fSinglelineCommentScanner; - /** The Java string scanner */ - private SingleTokenCScanner fStringScanner; - - /** The preference store */ - private IPreferenceStore fPreferenceStore; - /** The core preference store */ - private Preferences fCorePreferenceStore; - /** The preference change listener */ - private PreferenceListener fPreferenceListener= new PreferenceListener(); - - - /** - * Creates a new C text tools collection and eagerly creates - * and initializes all members of this collection. - */ - public CTextTools(IPreferenceStore store) { - this(store, null); - } - - /** - * Creates a new C text tools collection and eagerly creates - * and initializes all members of this collection. - */ - public CTextTools(IPreferenceStore store, Preferences coreStore) { - if(store == null) { - store = CUIPlugin.getDefault().getPreferenceStore(); - } - fPreferenceStore = store; - fPreferenceStore.addPropertyChangeListener(fPreferenceListener); - - fCorePreferenceStore= coreStore; - if (fCorePreferenceStore != null) { - fCorePreferenceStore.addPropertyChangeListener(fPreferenceListener); - } - - fColorManager= new CColorManager(); - fCodeScanner= new CCodeScanner(fColorManager, store); - fCppCodeScanner= new CppCodeScanner(fColorManager, store); - fPartitionScanner= new FastCPartitionScanner(); - - fMultilineCommentScanner= new CCommentScanner(fColorManager, store, coreStore, ICColorConstants.C_MULTI_LINE_COMMENT); - fSinglelineCommentScanner= new CCommentScanner(fColorManager, store, coreStore, ICColorConstants.C_SINGLE_LINE_COMMENT); - fStringScanner= new SingleTokenCScanner(fColorManager, store, ICColorConstants.C_STRING); - } - - /** - * Creates a new C text tools collection and eagerly creates - * and initializes all members of this collection. - */ - public CTextTools() { - this((IPreferenceStore)null); - } - - /** - * Disposes all members of this tools collection. - */ - public void dispose() { - - fCodeScanner= null; - fPartitionScanner= null; - - - fMultilineCommentScanner= null; - fSinglelineCommentScanner= null; - fStringScanner= null; - - if (fColorManager != null) { - fColorManager.dispose(); - fColorManager= null; - } - - if (fPreferenceStore != null) { - fPreferenceStore.removePropertyChangeListener(fPreferenceListener); - fPreferenceStore= null; - - if (fCorePreferenceStore != null) { - fCorePreferenceStore.removePropertyChangeListener(fPreferenceListener); - fCorePreferenceStore= null; - } - - fPreferenceListener= null; - } - } - - /** - * Gets the color manager. - */ - public CColorManager getColorManager() { - return fColorManager; - } - - /** - * Gets the code scanner used. - */ - public RuleBasedScanner getCCodeScanner() { - return fCodeScanner; - } - - /** - * Gets the code scanner used. - */ - public RuleBasedScanner getCppCodeScanner() { - return fCppCodeScanner; - } - - /** - * Returns a scanner which is configured to scan - * C-specific partitions, which are multi-line comments, - * and regular C source code. - * - * @return a C partition scanner - */ - public IPartitionTokenScanner getPartitionScanner() { - return fPartitionScanner; - } - - /** - * Gets the document provider used. - */ - public IDocumentPartitioner createDocumentPartitioner() { - - String[] types= new String[] { - CPartitionScanner.C_MULTILINE_COMMENT, - CPartitionScanner.C_SINGLE_LINE_COMMENT, - CPartitionScanner.C_STRING - }; - - return new DefaultPartitioner(getPartitionScanner(), types); - } - - /** - * Returns a scanner which is configured to scan C multiline comments. - * - * @return a C multiline comment scanner - */ - public RuleBasedScanner getMultilineCommentScanner() { - return fMultilineCommentScanner; - } - - /** - * Returns a scanner which is configured to scan C singleline comments. - * - * @return a C singleline comment scanner - */ - public RuleBasedScanner getSinglelineCommentScanner() { - return fSinglelineCommentScanner; - } - - /** - * Returns a scanner which is configured to scan Java strings. - * - * @return a Java string scanner - */ - public RuleBasedScanner getStringScanner() { - return fStringScanner; - } - - - /** - * Determines whether the preference change encoded by the given event - * changes the behavior of one its contained components. - * - * @param event the event to be investigated - * @return <code>true</code> if event causes a behavioral change - */ - public boolean affectsBehavior(PropertyChangeEvent event) { - return fCodeScanner.affectsBehavior(event) || - fCppCodeScanner.affectsBehavior(event) || - fMultilineCommentScanner.affectsBehavior(event) || - fSinglelineCommentScanner.affectsBehavior(event) || - fStringScanner.affectsBehavior(event); - } - - /** - * Adapts the behavior of the contained components to the change - * encoded in the given event. - * - * @param event the event to whch to adapt - */ - protected void adaptToPreferenceChange(PropertyChangeEvent event) { - if (fCodeScanner.affectsBehavior(event)) - fCodeScanner.adaptToPreferenceChange(event); - if (fCppCodeScanner.affectsBehavior(event)) - fCppCodeScanner.adaptToPreferenceChange(event); - if (fMultilineCommentScanner.affectsBehavior(event)) - fMultilineCommentScanner.adaptToPreferenceChange(event); - if (fSinglelineCommentScanner.affectsBehavior(event)) - fSinglelineCommentScanner.adaptToPreferenceChange(event); - if (fStringScanner.affectsBehavior(event)) - fStringScanner.adaptToPreferenceChange(event); - } -}
\ No newline at end of file |