X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/TemplateEditorSourceViewerConfiguration.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/TemplateEditorSourceViewerConfiguration.java deleted file mode 100644 index 129292b..0000000 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/TemplateEditorSourceViewerConfiguration.java +++ /dev/null @@ -1,150 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package net.sourceforge.phpdt.internal.ui.preferences; - -import java.util.Iterator; - -import net.sourceforge.phpdt.internal.ui.text.IPHPPartitions; -import net.sourceforge.phpdt.internal.ui.text.JavaWordFinder; -import net.sourceforge.phpdt.internal.ui.text.template.preferences.TemplateVariableProcessor; -import net.sourceforge.phpdt.ui.PreferenceConstants; -import net.sourceforge.phpdt.ui.text.IColorManager; -import net.sourceforge.phpdt.ui.text.JavaTextTools; -import net.sourceforge.phpdt.ui.text.PHPSourceViewerConfiguration; -import net.sourceforge.phpeclipse.PHPeclipsePlugin; - -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.preference.PreferenceConverter; -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.ITextHover; -import org.eclipse.jface.text.ITextViewer; -import org.eclipse.jface.text.contentassist.ContentAssistant; -import org.eclipse.jface.text.contentassist.IContentAssistant; -import org.eclipse.jface.text.source.ISourceViewer; -import org.eclipse.jface.text.templates.TemplateContextType; -import org.eclipse.jface.text.templates.TemplateVariableResolver; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.RGB; -import org.eclipse.ui.texteditor.ITextEditor; - - -public class TemplateEditorSourceViewerConfiguration extends PHPSourceViewerConfiguration { - - private static class TemplateVariableTextHover implements ITextHover { - - private TemplateVariableProcessor fProcessor; - - /** - * @param type - */ - public TemplateVariableTextHover(TemplateVariableProcessor processor) { - fProcessor= processor; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.text.ITextHover#getHoverInfo(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion) - */ - public String getHoverInfo(ITextViewer textViewer, IRegion subject) { - try { - IDocument doc= textViewer.getDocument(); - int offset= subject.getOffset(); - if (offset >= 2 && "${".equals(doc.get(offset-2, 2))) { //$NON-NLS-1$ - String varName= doc.get(offset, subject.getLength()); - TemplateContextType contextType= fProcessor.getContextType(); - if (contextType != null) { - Iterator iter= contextType.resolvers(); - while (iter.hasNext()) { - TemplateVariableResolver var= (TemplateVariableResolver) iter.next(); - if (varName.equals(var.getType())) { - return var.getDescription(); - } - } - } - } - } catch (BadLocationException e) { - } - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.text.ITextHover#getHoverRegion(org.eclipse.jface.text.ITextViewer, int) - */ - public IRegion getHoverRegion(ITextViewer textViewer, int offset) { - if (textViewer != null) { - return JavaWordFinder.findWord(textViewer.getDocument(), offset); - } - return null; - } - - } - - private final TemplateVariableProcessor fProcessor; - - public TemplateEditorSourceViewerConfiguration(IColorManager colorManager, IPreferenceStore store, ITextEditor editor, TemplateVariableProcessor processor) { - super(colorManager, store, editor, IPHPPartitions.PHP_PARTITIONING); - fProcessor= processor; - } - - /* - * @see SourceViewerConfiguration#getContentAssistant(ISourceViewer) - */ - public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) { - - IPreferenceStore store= PHPeclipsePlugin.getDefault().getPreferenceStore(); - JavaTextTools textTools= PHPeclipsePlugin.getDefault().getJavaTextTools(); - IColorManager manager= textTools.getColorManager(); - - - ContentAssistant assistant= new ContentAssistant(); - assistant.setContentAssistProcessor(fProcessor, IDocument.DEFAULT_CONTENT_TYPE); - // Register the same processor for strings and single line comments to get code completion at the start of those partitions. - assistant.setContentAssistProcessor(fProcessor, IPHPPartitions.PHP_STRING_DQ); - assistant.setContentAssistProcessor(fProcessor, IPHPPartitions.PHP_STRING_SQ); - assistant.setContentAssistProcessor(fProcessor, IPHPPartitions.PHP_SINGLELINE_COMMENT); - assistant.setContentAssistProcessor(fProcessor, IPHPPartitions.PHP_MULTILINE_COMMENT); - assistant.setContentAssistProcessor(fProcessor, IPHPPartitions.PHP_PHPDOC_COMMENT); - - assistant.enableAutoInsert(store.getBoolean(PreferenceConstants.CODEASSIST_AUTOINSERT)); - assistant.enableAutoActivation(store.getBoolean(PreferenceConstants.CODEASSIST_AUTOACTIVATION)); - assistant.setAutoActivationDelay(store.getInt(PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY)); - assistant.setProposalPopupOrientation(ContentAssistant.PROPOSAL_OVERLAY); - assistant.setContextInformationPopupOrientation(ContentAssistant.CONTEXT_INFO_ABOVE); - assistant.setInformationControlCreator(getInformationControlCreator(sourceViewer)); - - Color background= getColor(store, PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND, manager); - assistant.setContextInformationPopupBackground(background); - assistant.setContextSelectorBackground(background); - assistant.setProposalSelectorBackground(background); - - Color foreground= getColor(store, PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND, manager); - assistant.setContextInformationPopupForeground(foreground); - assistant.setContextSelectorForeground(foreground); - assistant.setProposalSelectorForeground(foreground); - - return assistant; - } - - private Color getColor(IPreferenceStore store, String key, IColorManager manager) { - RGB rgb= PreferenceConverter.getColor(store, key); - return manager.getColor(rgb); - } - - /* - * @see SourceViewerConfiguration#getTextHover(ISourceViewer, String, int) - * @since 2.1 - */ - public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType, int stateMask) { - return new TemplateVariableTextHover(fProcessor); - } - -}