From: <jbo...@li...> - 2006-06-28 20:26:42
|
Author: KrisVerlaenen Date: 2006-06-28 16:26:39 -0400 (Wed, 28 Jun 2006) New Revision: 4850 Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/DRLSourceViewerConfig.java Log: JBRULES-345:Problem mouse over - added annotation hover for both the annotation ruler and the overview ruler Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/DRLSourceViewerConfig.java =================================================================== --- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/DRLSourceViewerConfig.java 2006-06-28 19:55:16 UTC (rev 4849) +++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/DRLSourceViewerConfig.java 2006-06-28 20:26:39 UTC (rev 4850) @@ -16,11 +16,12 @@ import org.eclipse.jface.text.rules.BufferedRuleBasedScanner; import org.eclipse.jface.text.rules.DefaultDamagerRepairer; import org.eclipse.jface.text.rules.Token; +import org.eclipse.jface.text.source.DefaultAnnotationHover; +import org.eclipse.jface.text.source.IAnnotationHover; import org.eclipse.jface.text.source.ISourceViewer; import org.eclipse.jface.text.source.SourceViewerConfiguration; import org.eclipse.swt.graphics.Color; - /** * Source viewer config wires up the syntax highlighting, partitioning * and content assistance. @@ -29,106 +30,97 @@ * */ public class DRLSourceViewerConfig extends SourceViewerConfiguration { + private DRLScanner scanner; - private static Color DEFAULT_COLOR = ColorManager.getInstance().getColor(ColorManager.DEFAULT); - private DRLRuleEditor editor; - + + private static Color DEFAULT_COLOR = + ColorManager.getInstance().getColor(ColorManager.DEFAULT); + + private DRLRuleEditor editor; + public DRLSourceViewerConfig(DRLRuleEditor editor) { - this.editor = editor; - } + this.editor = editor; + } protected DRLScanner getScanner() { if (scanner == null) { scanner = new DRLScanner(); - scanner.setDefaultReturnToken( - new Token(new TextAttribute(DEFAULT_COLOR))); + scanner.setDefaultReturnToken(new Token(new TextAttribute(DEFAULT_COLOR))); } return scanner; } /** * Define reconciler - this has to be done for each partition. - * Currently there are 3 partitions, Inside rule, outside rule and inside comment. + * Currently there are 3 partitions, Inside rule, outside rule and inside comment. */ public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) { - - PresentationReconciler reconciler = new PresentationReconciler(); - - //bucket partition... (everything else outside a rule) + + //bucket partition... (everything else outside a rule) DefaultDamagerRepairer dr = new DefaultDamagerRepairer(getScanner()); reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE); reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE); - - //inside a rule partition - dr = new DefaultDamagerRepairer(getScanner()); - reconciler.setDamager(dr, DRLPartionScanner.RULE_PART_CONTENT); - reconciler.setRepairer(dr, DRLPartionScanner.RULE_PART_CONTENT); + //inside a rule partition + dr = new DefaultDamagerRepairer(getScanner()); + reconciler.setDamager(dr, DRLPartionScanner.RULE_PART_CONTENT); + reconciler.setRepairer(dr, DRLPartionScanner.RULE_PART_CONTENT); - - //finally, inside a multi line comment. - dr = new DefaultDamagerRepairer(new SingleTokenScanner(new TextAttribute( - ColorManager.getInstance().getColor( - ColorManager.SINGLE_LINE_COMMENT ) - ))); - reconciler.setDamager(dr, DRLPartionScanner.RULE_COMMENT); - reconciler.setRepairer(dr, DRLPartionScanner.RULE_COMMENT); - - - return reconciler; + //finally, inside a multi line comment. + dr = new DefaultDamagerRepairer(new SingleTokenScanner( + new TextAttribute(ColorManager.getInstance().getColor( + ColorManager.SINGLE_LINE_COMMENT)))); + reconciler.setDamager(dr, DRLPartionScanner.RULE_COMMENT); + reconciler.setRepairer(dr, DRLPartionScanner.RULE_COMMENT); + + return reconciler; } - - - /** - * Single token scanner, used for scanning for multiline comments mainly. - */ - static class SingleTokenScanner extends BufferedRuleBasedScanner { - public SingleTokenScanner(TextAttribute attribute) { - setDefaultReturnToken(new Token(attribute)); - } - } - - /** - * Get the appropriate content assistance, for each partition. - */ - public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) { + /** + * Single token scanner, used for scanning for multiline comments mainly. + */ + static class SingleTokenScanner extends BufferedRuleBasedScanner { + public SingleTokenScanner(TextAttribute attribute) { + setDefaultReturnToken(new Token(attribute)); + } + } + + /** + * Get the appropriate content assistance, for each partition. + */ + public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) { ContentAssistant assistant = new ContentAssistant(); - - //setup the content assistance, which is - //sensitive to the partition that it is in. - - assistant.setContentAssistProcessor(new DefaultCompletionProcessor(editor), - IDocument.DEFAULT_CONTENT_TYPE); - - - assistant.setContentAssistProcessor(new RuleCompletionProcessor(editor), - DRLPartionScanner.RULE_PART_CONTENT); - + //setup the content assistance, which is + //sensitive to the partition that it is in. + assistant.setContentAssistProcessor( + new DefaultCompletionProcessor(editor), IDocument.DEFAULT_CONTENT_TYPE); + assistant.setContentAssistProcessor( + new RuleCompletionProcessor(editor), DRLPartionScanner.RULE_PART_CONTENT); + assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY); + return assistant; + } - + public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) { + return DRLPartionScanner.LEGAL_CONTENT_TYPES; + } -// assistant.enableAutoActivation(false); -// assistant.setAutoActivationDelay(500); - assistant.setProposalPopupOrientation( - IContentAssistant.PROPOSAL_OVERLAY); - return assistant; + public IReconciler getReconciler(ISourceViewer sourceViewer) { + MonoReconciler reconciler = null; + if (sourceViewer != null) { + reconciler = new MonoReconciler( + new DRLReconcilingStrategy(sourceViewer, editor), false); + reconciler.setDelay(500); + reconciler.setProgressMonitor(new NullProgressMonitor()); + } + return reconciler; } - public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) { - return DRLPartionScanner.LEGAL_CONTENT_TYPES; - } + public IAnnotationHover getOverviewRulerAnnotationHover(ISourceViewer sourceViewer) { + return new DefaultAnnotationHover(); + } - public IReconciler getReconciler(ISourceViewer sourceViewer) - { - MonoReconciler reconciler = null; - if (sourceViewer != null) { - reconciler = new MonoReconciler(new DRLReconcilingStrategy(sourceViewer, editor), false); - reconciler.setDelay(500); - reconciler.setProgressMonitor(new NullProgressMonitor()); - } - return reconciler; - } - + public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) { + return new DefaultAnnotationHover(); + } } \ No newline at end of file |