X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/JavaSourceViewer.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/JavaSourceViewer.java deleted file mode 100644 index 124ee59..0000000 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/JavaSourceViewer.java +++ /dev/null @@ -1,471 +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.phpeclipse.phpeditor; - -import java.util.ArrayList; - -import net.sourceforge.phpdt.internal.ui.text.SmartBackspaceManager; -import net.sourceforge.phpdt.ui.PreferenceConstants; -import net.sourceforge.phpdt.ui.text.PHPSourceViewerConfiguration; - -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.preference.PreferenceConverter; -import org.eclipse.jface.text.Assert; -import org.eclipse.jface.text.ITextPresentationListener; -import org.eclipse.jface.text.information.IInformationPresenter; -import org.eclipse.jface.text.reconciler.IReconciler; -import org.eclipse.jface.text.source.IOverviewRuler; -import org.eclipse.jface.text.source.IVerticalRuler; -import org.eclipse.jface.text.source.SourceViewerConfiguration; -import org.eclipse.jface.text.source.projection.ProjectionViewer; -import org.eclipse.jface.util.IPropertyChangeListener; -import org.eclipse.jface.util.PropertyChangeEvent; -import org.eclipse.swt.custom.StyledText; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.graphics.RGB; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants; - -public class JavaSourceViewer extends ProjectionViewer implements - IPropertyChangeListener { - - /** - * Text operation code for requesting the outline for the current input. - */ - public static final int SHOW_OUTLINE = 51; - - /** - * Text operation code for requesting the outline for the element at the - * current position. - */ - public static final int OPEN_STRUCTURE = 52; - - /** - * Text operation code for requesting the hierarchy for the current input. - */ - public static final int SHOW_HIERARCHY = 53; - - private IInformationPresenter fOutlinePresenter; - - private IInformationPresenter fStructurePresenter; - - // private IInformationPresenter fHierarchyPresenter; - - /** - * This viewer's foreground color. - * - * @since 3.0 - */ - private Color fForegroundColor; - - /** - * The viewer's background color. - * - * @since 3.0 - */ - private Color fBackgroundColor; - - /** - * This viewer's selection foreground color. - * - * @since 3.0 - */ - private Color fSelectionForegroundColor; - - /** - * The viewer's selection background color. - * - * @since 3.0 - */ - private Color fSelectionBackgroundColor; - - /** - * The preference store. - * - * @since 3.0 - */ - private IPreferenceStore fPreferenceStore; - - /** - * Is this source viewer configured? - * - * @since 3.0 - */ - private boolean fIsConfigured; - - /** - * The backspace manager of this viewer. - * - * @since 3.0 - */ - private SmartBackspaceManager fBackspaceManager; - - public JavaSourceViewer(Composite parent, IVerticalRuler verticalRuler, - IOverviewRuler overviewRuler, boolean showAnnotationsOverview, - int styles, IPreferenceStore store) { - super(parent, verticalRuler, overviewRuler, showAnnotationsOverview, - styles); - setPreferenceStore(store); - } - - /* - * @see org.eclipse.jface.text.source.SourceViewer#createFormattingContext() - * @since 3.0 - */ - // public IFormattingContext createFormattingContext() { - // - // IFormattingContext context= new CommentFormattingContext(); - // Map map= new Hashtable(JavaCore.getOptions()); - // - // context.storeToMap(PreferenceConstants.getPreferenceStore(), map, false); - // context.setProperty(FormattingContextProperties.CONTEXT_PREFERENCES, - // map); - // - // return context; - // } - /* - * @see ITextOperationTarget#doOperation(int) - */ - public void doOperation(int operation) { - if (getTextWidget() == null) - return; - - switch (operation) { - case SHOW_OUTLINE: - fOutlinePresenter.showInformation(); - return; - case OPEN_STRUCTURE: - fStructurePresenter.showInformation(); - return; - case SHOW_HIERARCHY: - // fHierarchyPresenter.showInformation(); - return; - case FORMAT: - Point point = getSelectedRange(); - if (point.y == 0) { - // setSelectedRange(0, getDocument().getLength()); - revealRange(0, getDocument().getLength()); - } - break; - } - - super.doOperation(operation); - } - - /* - * @see ITextOperationTarget#canDoOperation(int) - */ - public boolean canDoOperation(int operation) { - if (operation == SHOW_OUTLINE) - return fOutlinePresenter != null; - if (operation == OPEN_STRUCTURE) - return fStructurePresenter != null; - if (operation == SHOW_HIERARCHY) - // return fHierarchyPresenter != null; - return false; - - return super.canDoOperation(operation); - } - - /* - * @see ISourceViewer#configure(SourceViewerConfiguration) - */ - public void configure(SourceViewerConfiguration configuration) { - super.configure(configuration); - if (configuration instanceof PHPSourceViewerConfiguration) { - fOutlinePresenter = ((PHPSourceViewerConfiguration) configuration) - .getOutlinePresenter(this, false); - fOutlinePresenter.install(this); - } - if (configuration instanceof PHPSourceViewerConfiguration) { - fStructurePresenter = ((PHPSourceViewerConfiguration) configuration) - .getOutlinePresenter(this, true); - fStructurePresenter.install(this); - } - if (configuration instanceof PHPSourceViewerConfiguration) { - // fHierarchyPresenter= - // ((PHPSourceViewerConfiguration)configuration).getHierarchyPresenter(this, - // true); - // fHierarchyPresenter.install(this); - - if (fPreferenceStore != null) { - fPreferenceStore.addPropertyChangeListener(this); - initializeViewerColors(); - } - } - fIsConfigured = true; - } - - protected void initializeViewerColors() { - if (fPreferenceStore != null) { - - StyledText styledText = getTextWidget(); - - // ----------- foreground color -------------------- - Color color = fPreferenceStore - .getBoolean(PreferenceConstants.EDITOR_FOREGROUND_DEFAULT_COLOR) ? null - : createColor(fPreferenceStore, - PreferenceConstants.EDITOR_FOREGROUND_COLOR, - styledText.getDisplay()); - styledText.setForeground(color); - - if (fForegroundColor != null) - fForegroundColor.dispose(); - - fForegroundColor = color; - - // ---------- background color ---------------------- - color = fPreferenceStore - .getBoolean(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR) ? null - : createColor(fPreferenceStore, - PreferenceConstants.EDITOR_BACKGROUND_COLOR, - styledText.getDisplay()); - styledText.setBackground(color); - - if (fBackgroundColor != null) - fBackgroundColor.dispose(); - - fBackgroundColor = color; - - // ----------- selection foreground color -------------------- - color = fPreferenceStore - .getBoolean(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_FOREGROUND_DEFAULT_COLOR) ? null - : createColor( - fPreferenceStore, - AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_FOREGROUND_COLOR, - styledText.getDisplay()); - styledText.setSelectionForeground(color); - - if (fSelectionForegroundColor != null) - fSelectionForegroundColor.dispose(); - - fSelectionForegroundColor = color; - - // ---------- selection background color ---------------------- - color = fPreferenceStore - .getBoolean(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_BACKGROUND_DEFAULT_COLOR) ? null - : createColor( - fPreferenceStore, - AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_BACKGROUND_COLOR, - styledText.getDisplay()); - styledText.setSelectionBackground(color); - - if (fSelectionBackgroundColor != null) - fSelectionBackgroundColor.dispose(); - - fSelectionBackgroundColor = color; - } - } - - /** - * Creates a color from the information stored in the given preference - * store. Returns null if there is no such information - * available. - * - * @param store - * the store to read from - * @param key - * the key used for the lookup in the preference store - * @param display - * the display used create the color - * @return the created color according to the specification in the - * preference store - * @since 3.0 - */ - private Color createColor(IPreferenceStore store, String key, - Display display) { - - RGB rgb = null; - - if (store.contains(key)) { - - if (store.isDefault(key)) - rgb = PreferenceConverter.getDefaultColor(store, key); - else - rgb = PreferenceConverter.getColor(store, key); - - if (rgb != null) - return new Color(display, rgb); - } - - return null; - } - - /* - * @see org.eclipse.jface.text.source.ISourceViewerExtension2#unconfigure() - * @since 3.0 - */ - public void unconfigure() { - if (fOutlinePresenter != null) { - fOutlinePresenter.uninstall(); - fOutlinePresenter = null; - } - if (fStructurePresenter != null) { - fStructurePresenter.uninstall(); - fStructurePresenter = null; - } - // if (fHierarchyPresenter != null) { - // fHierarchyPresenter.uninstall(); - // fHierarchyPresenter= null; - // } - if (fForegroundColor != null) { - fForegroundColor.dispose(); - fForegroundColor = null; - } - if (fBackgroundColor != null) { - fBackgroundColor.dispose(); - fBackgroundColor = null; - } - if (fPreferenceStore != null) - fPreferenceStore.removePropertyChangeListener(this); - - super.unconfigure(); - - fIsConfigured = false; - } - - /* - * @see org.eclipse.jface.text.source.SourceViewer#rememberSelection() - */ - public Point rememberSelection() { - return super.rememberSelection(); - } - - /* - * @see org.eclipse.jface.text.source.SourceViewer#restoreSelection() - */ - public void restoreSelection() { - super.restoreSelection(); - } - - /* - * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) - */ - public void propertyChange(PropertyChangeEvent event) { - String property = event.getProperty(); - if (PreferenceConstants.EDITOR_FOREGROUND_COLOR.equals(property) - || PreferenceConstants.EDITOR_FOREGROUND_DEFAULT_COLOR - .equals(property) - || PreferenceConstants.EDITOR_BACKGROUND_COLOR.equals(property) - || PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR - .equals(property) - || AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_FOREGROUND_COLOR - .equals(property) - || AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_FOREGROUND_DEFAULT_COLOR - .equals(property) - || AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_BACKGROUND_COLOR - .equals(property) - || AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_BACKGROUND_DEFAULT_COLOR - .equals(property)) { - initializeViewerColors(); - } - } - - /** - * Sets the preference store on this viewer. - * - * @param store - * the preference store - * - * @since 3.0 - */ - public void setPreferenceStore(IPreferenceStore store) { - if (fIsConfigured && fPreferenceStore != null) - fPreferenceStore.removePropertyChangeListener(this); - - fPreferenceStore = store; - - if (fIsConfigured && fPreferenceStore != null) { - fPreferenceStore.addPropertyChangeListener(this); - initializeViewerColors(); - } - } - - /* - * @see org.eclipse.jface.text.source.SourceViewer#createControl(org.eclipse.swt.widgets.Composite, - * int) - */ - protected void createControl(Composite parent, int styles) { - super.createControl(parent, styles); - - fBackspaceManager = new SmartBackspaceManager(); - fBackspaceManager.install(this); - } - - /** - * Returns the backspace manager for this viewer. - * - * @return the backspace manager for this viewer, or null if - * there is none - * @since 3.0 - */ - public SmartBackspaceManager getBackspaceManager() { - return fBackspaceManager; - } - - /* - * @see org.eclipse.jface.text.source.SourceViewer#handleDispose() - */ - protected void handleDispose() { - if (fBackspaceManager != null) { - fBackspaceManager.uninstall(); - fBackspaceManager = null; - } - - super.handleDispose(); - } - - /** - * Prepends the text presentation listener at the beginning of the viewer's - * list of text presentation listeners. If the listener is already - * registered with the viewer this call moves the listener to the beginning - * of the list. - * - * @param listener - * the text presentation listener - * @since 3.0 - */ - public void prependTextPresentationListener( - ITextPresentationListener listener) { - - Assert.isNotNull(listener); - - if (fTextPresentationListeners == null) - fTextPresentationListeners = new ArrayList(); - - fTextPresentationListeners.remove(listener); - fTextPresentationListeners.add(0, listener); - } - - /** - * Sets the given reconciler. - * - * @param reconciler - * the reconciler - * @since 3.0 - */ - void setReconciler(IReconciler reconciler) { - fReconciler = reconciler; - } - - /** - * Returns the reconciler. - * - * @return the reconciler or null if not set - * @since 3.0 - */ - Object getReconciler() { - return fReconciler; - } -}