/** * <copyright> * </copyright> * * */ package ssl.resource.ssl.ui; /** * This class provides the configuration for the generated editor. It registers * content assistance and syntax highlighting. */ public class SslEditorConfiguration extends org.eclipse.jface.text.source.SourceViewerConfiguration { private ssl.resource.ssl.ui.SslColorManager colorManager; private ssl.resource.ssl.ui.SslEditor theEditor; private ssl.resource.ssl.ui.SslQuickAssistAssistant quickAssistAssistant; /** * Creates a new editor configuration. * * @param editor the editor to configure * @param colorManager the color manager to use */ public SslEditorConfiguration(ssl.resource.ssl.ui.SslEditor editor, ssl.resource.ssl.ui.SslColorManager colorManager) { this.theEditor = editor; this.colorManager = colorManager; } public org.eclipse.jface.text.contentassist.IContentAssistant getContentAssistant(org.eclipse.jface.text.source.ISourceViewer sourceViewer) { org.eclipse.jface.text.contentassist.ContentAssistant assistant = new org.eclipse.jface.text.contentassist.ContentAssistant(); assistant.setContentAssistProcessor(new ssl.resource.ssl.ui.SslCompletionProcessor(theEditor), org.eclipse.jface.text.IDocument.DEFAULT_CONTENT_TYPE); assistant.enableAutoActivation(true); assistant.setAutoActivationDelay(500); assistant.setProposalPopupOrientation(org.eclipse.jface.text.contentassist.IContentAssistant.PROPOSAL_OVERLAY); assistant.setContextInformationPopupOrientation(org.eclipse.jface.text.contentassist.IContentAssistant.CONTEXT_INFO_ABOVE); return assistant; } public String[] getConfiguredContentTypes(org.eclipse.jface.text.source.ISourceViewer sourceViewer) { return new String[] { org.eclipse.jface.text.IDocument.DEFAULT_CONTENT_TYPE, }; } protected org.eclipse.jface.text.rules.ITokenScanner getScanner(String fileName) { return new ssl.resource.ssl.ui.SslTokenScanner(theEditor.getResource(), colorManager); } public org.eclipse.jface.text.presentation.IPresentationReconciler getPresentationReconciler(org.eclipse.jface.text.source.ISourceViewer sourceViewer) { org.eclipse.jface.text.presentation.PresentationReconciler reconciler = new org.eclipse.jface.text.presentation.PresentationReconciler(); String fileName = theEditor.getEditorInput().getName(); org.eclipse.jface.text.rules.DefaultDamagerRepairer repairer = new org.eclipse.jface.text.rules.DefaultDamagerRepairer(getScanner(fileName)); reconciler.setDamager(repairer, org.eclipse.jface.text.IDocument.DEFAULT_CONTENT_TYPE); reconciler.setRepairer(repairer, org.eclipse.jface.text.IDocument.DEFAULT_CONTENT_TYPE); return reconciler; } public org.eclipse.jface.text.source.IAnnotationHover getAnnotationHover(org.eclipse.jface.text.source.ISourceViewer sourceViewer) { return new org.eclipse.jface.text.source.DefaultAnnotationHover(); } public org.eclipse.jface.text.ITextHover getTextHover(org.eclipse.jface.text.source.ISourceViewer sourceViewer, String contentType) { return new ssl.resource.ssl.ui.SslTextHover(theEditor); } public org.eclipse.jface.text.hyperlink.IHyperlinkDetector[] getHyperlinkDetectors(org.eclipse.jface.text.source.ISourceViewer sourceViewer) { if (sourceViewer == null) { return null; } return new org.eclipse.jface.text.hyperlink.IHyperlinkDetector[] { new ssl.resource.ssl.ui.SslHyperlinkDetector(theEditor.getResource()) }; } public org.eclipse.jface.text.quickassist.IQuickAssistAssistant getQuickAssistAssistant(org.eclipse.jface.text.source.ISourceViewer sourceViewer) { if (quickAssistAssistant == null) { quickAssistAssistant = new ssl.resource.ssl.ui.SslQuickAssistAssistant(theEditor); } return quickAssistAssistant; } }