diff options
author | cvs2svn | 2004-09-07 08:58:49 +0000 |
---|---|---|
committer | cvs2svn | 2004-09-07 08:58:49 +0000 |
commit | 7c16254a32d3e5ef62c9d7835f9cd0301e7d3b09 (patch) | |
tree | 10a63a8e0c9b6a168a72547dc065c2535b714172 /org.eclipse.text/projection/org/eclipse/jface | |
parent | d6e189e884be8b74de32491a4638780c2b44e73f (diff) | |
download | eclipse.platform.text-7c16254a32d3e5ef62c9d7835f9cd0301e7d3b09.tar.gz eclipse.platform.text-7c16254a32d3e5ef62c9d7835f9cd0301e7d3b09.tar.xz eclipse.platform.text-7c16254a32d3e5ef62c9d7835f9cd0301e7d3b09.zip |
This commit was manufactured by cvs2svn to create branch 'perf_30'.
Sprout from master 2004-06-23 19:42:46 UTC Dani Megert <dmegert> 'Copyright fix - automated changes with releng tool'
Cherrypick from master 2004-09-07 08:58:47 UTC Dani Megert <dmegert> 'Settting org.eclipse.jdt.core.compiler.problem.specialParameterHidingField to "disabled"':
org.eclipse.core.filebuffers.tests/.settings/org.eclipse.jdt.core.prefs
org.eclipse.text.tests/src/org/eclipse/text/tests/Accessor.java
org.eclipse.ui.editors.tests/.settings/org.eclipse.jdt.core.prefs
org.eclipse.ui.editors.tests/test.xml
org.eclipse.ui.workbench.texteditor.tests/.settings/org.eclipse.jdt.core.prefs
org.eclipse.ui.workbench.texteditor.tests/test.xml
Cherrypick from master 2004-04-14 15:46:14 UTC Dani Megert <dmegert> 'Initial Release - work in progress':
org.eclipse.ui.editors.tests/.classpath
org.eclipse.ui.editors.tests/build.properties
org.eclipse.ui.workbench.texteditor.tests/.classpath
org.eclipse.ui.workbench.texteditor.tests/build.properties
Delete:
org.eclipse.core.filebuffers/.classpath
org.eclipse.core.filebuffers/.cvsignore
org.eclipse.core.filebuffers/.project
org.eclipse.core.filebuffers/about.html
org.eclipse.core.filebuffers/build.properties
org.eclipse.core.filebuffers/hglegal2003.htm
org.eclipse.core.filebuffers/ngibmcpy2003.gif
org.eclipse.core.filebuffers/plugin.properties
org.eclipse.core.filebuffers/plugin.xml
org.eclipse.core.filebuffers/schema/annotationModelCreation.exsd
org.eclipse.core.filebuffers/schema/documentCreation.exsd
org.eclipse.core.filebuffers/schema/documentSetup.exsd
org.eclipse.core.filebuffers/scripts/exportplugin.xml
org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/FileBuffers.java
org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IAnnotationModelFactory.java
org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IDocumentFactory.java
org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IDocumentSetupParticipant.java
org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBuffer.java
org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBufferListener.java
org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBufferManager.java
org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IPersistableAnnotationModel.java
org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/ISynchronizationContext.java
org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/ITextFileBuffer.java
org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/ITextFileBufferManager.java
org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/package.html
org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/AbstractFileBuffer.java
org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ContainerGenerator.java
org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/DefaultDocumentFactory.java
org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ExtensionsRegistry.java
org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileBuffersMessages.java
org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileBuffersMessages.properties
org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileBuffersPlugin.java
org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/JavaFileBuffer.java
org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/JavaTextFileBuffer.java
org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ResourceFileBuffer.java
org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ResourceTextFileBuffer.java
org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/TextFileBufferManager.java
org.eclipse.jface.text/.classpath
org.eclipse.jface.text/.cvsignore
org.eclipse.jface.text/.options
org.eclipse.jface.text/.project
org.eclipse.jface.text/about.html
org.eclipse.jface.text/build.properties
org.eclipse.jface.text/plugin.properties
org.eclipse.jface.text/plugin.xml
org.eclipse.jface.text/projection/org/eclipse/jface/text/source/projection/AnnotationBag.java
org.eclipse.jface.text/projection/org/eclipse/jface/text/source/projection/IProjectionListener.java
org.eclipse.jface.text/projection/org/eclipse/jface/text/source/projection/ProjectionAnnotation.java
org.eclipse.jface.text/projection/org/eclipse/jface/text/source/projection/ProjectionAnnotationHover.java
org.eclipse.jface.text/projection/org/eclipse/jface/text/source/projection/ProjectionAnnotationModel.java
org.eclipse.jface.text/projection/org/eclipse/jface/text/source/projection/ProjectionRulerColumn.java
org.eclipse.jface.text/projection/org/eclipse/jface/text/source/projection/ProjectionSummary.java
org.eclipse.jface.text/projection/org/eclipse/jface/text/source/projection/ProjectionSupport.java
org.eclipse.jface.text/projection/org/eclipse/jface/text/source/projection/ProjectionViewer.java
org.eclipse.jface.text/projection/org/eclipse/jface/text/source/projection/SourceViewerInformationControl.java
org.eclipse.jface.text/projection/org/eclipse/jface/text/source/projection/images/collapsed.gif
org.eclipse.jface.text/projection/org/eclipse/jface/text/source/projection/images/expanded.gif
org.eclipse.jface.text/scripts/exportplugin.xml
org.eclipse.jface.text/src/org/eclipse/jface/contentassist/AbstractControlContentAssistSubjectAdapter.java
org.eclipse.jface.text/src/org/eclipse/jface/contentassist/ComboContentAssistSubjectAdapter.java
org.eclipse.jface.text/src/org/eclipse/jface/contentassist/IContentAssistSubjectControl.java
org.eclipse.jface.text/src/org/eclipse/jface/contentassist/ISubjectControlContentAssistProcessor.java
org.eclipse.jface.text/src/org/eclipse/jface/contentassist/ISubjectControlContentAssistant.java
org.eclipse.jface.text/src/org/eclipse/jface/contentassist/ISubjectControlContextInformationPresenter.java
org.eclipse.jface.text/src/org/eclipse/jface/contentassist/ISubjectControlContextInformationValidator.java
org.eclipse.jface.text/src/org/eclipse/jface/contentassist/SubjectControlContentAssistant.java
org.eclipse.jface.text/src/org/eclipse/jface/contentassist/SubjectControlContextInformationValidator.java
org.eclipse.jface.text/src/org/eclipse/jface/contentassist/TextContentAssistSubjectAdapter.java
org.eclipse.jface.text/src/org/eclipse/jface/contentassist/images/content_assist_cue.gif
org.eclipse.jface.text/src/org/eclipse/jface/contentassist/package.html
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/AdditionalInfoController2.java
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/CompletionProposalPopup2.java
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/ContentAssistMessages.java
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/ContentAssistMessages.properties
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/ContentAssistant2.java
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/ContextInformationPopup2.java
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/HTML2TextReader.java
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/HTMLTextPresenter.java
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/Helper2.java
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/IContentAssistListener2.java
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/IProposalListener.java
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/LineBreakingReader.java
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/PopupCloser2.java
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/SingleCharReader.java
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/SubstitutionTextReader.java
org.eclipse.jface.text/src/org/eclipse/jface/internal/text/link/contentassist/package.html
org.eclipse.jface.text/src/org/eclipse/jface/text/AbstractHoverInformationControlManager.java
org.eclipse.jface.text/src/org/eclipse/jface/text/AbstractInformationControlManager.java
org.eclipse.jface.text/src/org/eclipse/jface/text/CursorLinePainter.java
org.eclipse.jface.text/src/org/eclipse/jface/text/DefaultAutoIndentStrategy.java
org.eclipse.jface.text/src/org/eclipse/jface/text/DefaultDocumentAdapter.java
org.eclipse.jface.text/src/org/eclipse/jface/text/DefaultInformationControl.java
org.eclipse.jface.text/src/org/eclipse/jface/text/DefaultTextDoubleClickStrategy.java
org.eclipse.jface.text/src/org/eclipse/jface/text/DefaultUndoManager.java
org.eclipse.jface.text/src/org/eclipse/jface/text/DocumentClone.java
org.eclipse.jface.text/src/org/eclipse/jface/text/DocumentCommand.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IAutoEditStrategy.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IAutoIndentStrategy.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IDocumentAdapter.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IDocumentAdapterExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IEventConsumer.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IFindReplaceTarget.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IFindReplaceTargetExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IFindReplaceTargetExtension3.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IInformationControl.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IInformationControlCreator.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IInformationControlCreatorExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IInformationControlExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IInformationControlExtension2.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IInformationControlExtension3.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IMarkRegionTarget.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IMarkSelection.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IPaintPositionManager.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IPainter.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IRewriteTarget.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ISelectionValidator.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ITextDoubleClickStrategy.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ITextHover.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ITextHoverExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ITextInputListener.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ITextListener.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ITextOperationTarget.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ITextOperationTargetExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ITextPresentationListener.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ITextSelection.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ITextViewer.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ITextViewerExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ITextViewerExtension2.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ITextViewerExtension3.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ITextViewerExtension4.java
org.eclipse.jface.text/src/org/eclipse/jface/text/ITextViewerExtension5.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IUndoManager.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IViewportListener.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IWidgetTokenKeeper.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IWidgetTokenKeeperExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IWidgetTokenOwner.java
org.eclipse.jface.text/src/org/eclipse/jface/text/IWidgetTokenOwnerExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/JFaceTextMessages.java
org.eclipse.jface.text/src/org/eclipse/jface/text/JFaceTextMessages.properties
org.eclipse.jface.text/src/org/eclipse/jface/text/MarginPainter.java
org.eclipse.jface.text/src/org/eclipse/jface/text/MarkSelection.java
org.eclipse.jface.text/src/org/eclipse/jface/text/PaintManager.java
org.eclipse.jface.text/src/org/eclipse/jface/text/PropagatingFontFieldEditor.java
org.eclipse.jface.text/src/org/eclipse/jface/text/TextAttribute.java
org.eclipse.jface.text/src/org/eclipse/jface/text/TextEvent.java
org.eclipse.jface.text/src/org/eclipse/jface/text/TextPresentation.java
org.eclipse.jface.text/src/org/eclipse/jface/text/TextSelection.java
org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewer.java
org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewerHoverManager.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/AdditionalInfoController.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/CompletionProposal.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/CompletionProposalPopup.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ContentAssistSubjectControlAdapter.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ContentAssistant.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ContextInformation.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ContextInformationPopup.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ContextInformationValidator.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/Helper.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ICompletionProposal.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ICompletionProposalExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ICompletionProposalExtension2.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ICompletionProposalExtension3.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/IContentAssistListener.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/IContentAssistProcessor.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/IContentAssistant.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/IContentAssistantExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/IContextInformation.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/IContextInformationExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/IContextInformationPresenter.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/IContextInformationValidator.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/JFaceTextMessages.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/PopupCloser.java
org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/package.html
org.eclipse.jface.text/src/org/eclipse/jface/text/formatter/ContentFormatter.java
org.eclipse.jface.text/src/org/eclipse/jface/text/formatter/ContextBasedFormattingStrategy.java
org.eclipse.jface.text/src/org/eclipse/jface/text/formatter/FormattingContext.java
org.eclipse.jface.text/src/org/eclipse/jface/text/formatter/FormattingContextProperties.java
org.eclipse.jface.text/src/org/eclipse/jface/text/formatter/IContentFormatter.java
org.eclipse.jface.text/src/org/eclipse/jface/text/formatter/IContentFormatterExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/formatter/IFormattingContext.java
org.eclipse.jface.text/src/org/eclipse/jface/text/formatter/IFormattingStrategy.java
org.eclipse.jface.text/src/org/eclipse/jface/text/formatter/IFormattingStrategyExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/formatter/MultiPassContentFormatter.java
org.eclipse.jface.text/src/org/eclipse/jface/text/formatter/package.html
org.eclipse.jface.text/src/org/eclipse/jface/text/information/IInformationPresenter.java
org.eclipse.jface.text/src/org/eclipse/jface/text/information/IInformationPresenterExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/information/IInformationProvider.java
org.eclipse.jface.text/src/org/eclipse/jface/text/information/IInformationProviderExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/information/IInformationProviderExtension2.java
org.eclipse.jface.text/src/org/eclipse/jface/text/information/InformationPresenter.java
org.eclipse.jface.text/src/org/eclipse/jface/text/information/package.html
org.eclipse.jface.text/src/org/eclipse/jface/text/link/LinkedModeUI.java
org.eclipse.jface.text/src/org/eclipse/jface/text/link/LinkedPositionAnnotations.java
org.eclipse.jface.text/src/org/eclipse/jface/text/link/ProposalPosition.java
org.eclipse.jface.text/src/org/eclipse/jface/text/link/TabStopIterator.java
org.eclipse.jface.text/src/org/eclipse/jface/text/link/package.html
org.eclipse.jface.text/src/org/eclipse/jface/text/package.html
org.eclipse.jface.text/src/org/eclipse/jface/text/presentation/IPresentationDamager.java
org.eclipse.jface.text/src/org/eclipse/jface/text/presentation/IPresentationReconciler.java
org.eclipse.jface.text/src/org/eclipse/jface/text/presentation/IPresentationReconcilerExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/presentation/IPresentationRepairer.java
org.eclipse.jface.text/src/org/eclipse/jface/text/presentation/PresentationReconciler.java
org.eclipse.jface.text/src/org/eclipse/jface/text/presentation/package.html
org.eclipse.jface.text/src/org/eclipse/jface/text/reconciler/AbstractReconcileStep.java
org.eclipse.jface.text/src/org/eclipse/jface/text/reconciler/AbstractReconciler.java
org.eclipse.jface.text/src/org/eclipse/jface/text/reconciler/DirtyRegion.java
org.eclipse.jface.text/src/org/eclipse/jface/text/reconciler/DirtyRegionQueue.java
org.eclipse.jface.text/src/org/eclipse/jface/text/reconciler/IReconcilableModel.java
org.eclipse.jface.text/src/org/eclipse/jface/text/reconciler/IReconcileResult.java
org.eclipse.jface.text/src/org/eclipse/jface/text/reconciler/IReconcileStep.java
org.eclipse.jface.text/src/org/eclipse/jface/text/reconciler/IReconciler.java
org.eclipse.jface.text/src/org/eclipse/jface/text/reconciler/IReconcilerExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/reconciler/IReconcilingStrategy.java
org.eclipse.jface.text/src/org/eclipse/jface/text/reconciler/IReconcilingStrategyExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/reconciler/MonoReconciler.java
org.eclipse.jface.text/src/org/eclipse/jface/text/reconciler/Reconciler.java
org.eclipse.jface.text/src/org/eclipse/jface/text/reconciler/package.html
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/BufferedRuleBasedScanner.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/DefaultDamagerRepairer.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/DefaultPartitioner.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/EndOfLineRule.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/ICharacterScanner.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/IPartitionTokenScanner.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/IPredicateRule.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/IRule.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/IToken.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/ITokenScanner.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/IWhitespaceDetector.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/IWordDetector.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/MultiLineRule.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/NumberRule.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/PatternRule.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/RuleBasedDamagerRepairer.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/RuleBasedPartitionScanner.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/RuleBasedPartitioner.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/RuleBasedScanner.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/SingleLineRule.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/Token.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/WhitespaceRule.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/WordPatternRule.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/WordRule.java
org.eclipse.jface.text/src/org/eclipse/jface/text/rules/package.html
org.eclipse.jface.text/src/org/eclipse/jface/text/source/AnnotationBarHoverManager.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/AnnotationColumn.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/AnnotationPainter.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/AnnotationRulerColumn.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/ChangeRulerColumn.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/CompositeRuler.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/IAnnotationAccess.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/IAnnotationAccessExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/IAnnotationHover.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/IAnnotationHoverExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/IAnnotationPresentation.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/IChangeRulerColumn.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/ICharacterPairMatcher.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/ILineDiffInfo.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/ILineDiffer.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/ILineRange.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/IOverviewRuler.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/ISharedTextColors.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/ISourceViewer.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/ISourceViewerExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/ISourceViewerExtension2.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/IVerticalRuler.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/IVerticalRulerColumn.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/IVerticalRulerExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/IVerticalRulerInfo.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/IVerticalRulerInfoExtension.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/IVerticalRulerListener.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/ImageUtilities.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/JFaceTextMessages.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineChangeHover.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberChangeRulerColumn.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberRulerColumn.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineRange.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/MatchingCharacterPainter.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/OverviewRuler.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/OverviewRulerHoverManager.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/SourceViewer.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/SourceViewerConfiguration.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/VerticalRuler.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/VerticalRulerEvent.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/VisualAnnotationModel.java
org.eclipse.jface.text/src/org/eclipse/jface/text/source/package.html
org.eclipse.jface.text/src/org/eclipse/jface/text/templates/ContextTypeRegistry.java
org.eclipse.jface.text/src/org/eclipse/jface/text/templates/InclusivePositionUpdater.java
org.eclipse.jface.text/src/org/eclipse/jface/text/templates/JFaceTextTemplateMessages.java
org.eclipse.jface.text/src/org/eclipse/jface/text/templates/JFaceTextTemplateMessages.properties
org.eclipse.jface.text/src/org/eclipse/jface/text/templates/PositionBasedCompletionProposal.java
org.eclipse.jface.text/src/org/eclipse/jface/text/templates/TemplateCompletionProcessor.java
org.eclipse.jface.text/src/org/eclipse/jface/text/templates/TemplateProposal.java
org.eclipse.jface.text/src/org/eclipse/jface/text/templates/package.html
org.eclipse.jface.text/src/org/eclipse/jface/text/templates/persistence/TemplatePersistenceData.java
org.eclipse.jface.text/src/org/eclipse/jface/text/templates/persistence/TemplatePersistenceMessages.java
org.eclipse.jface.text/src/org/eclipse/jface/text/templates/persistence/TemplatePersistenceMessages.properties
org.eclipse.jface.text/src/org/eclipse/jface/text/templates/persistence/TemplateReaderWriter.java
org.eclipse.jface.text/src/org/eclipse/jface/text/templates/persistence/TemplateStore.java
org.eclipse.jface.text/src/org/eclipse/jface/text/templates/persistence/package.html
org.eclipse.search.tests/.classpath
org.eclipse.search.tests/.cvsignore
org.eclipse.search.tests/.project
org.eclipse.search.tests/.template
org.eclipse.search.tests/build.properties
org.eclipse.search.tests/plugin.xml
org.eclipse.search.tests/src/org/eclipse/search/core/tests/AllSearchModelTests.java
org.eclipse.search.tests/src/org/eclipse/search/core/tests/LineConversionTest.java
org.eclipse.search.tests/src/org/eclipse/search/core/tests/LongQuery.java
org.eclipse.search.tests/src/org/eclipse/search/core/tests/NullQuery.java
org.eclipse.search.tests/src/org/eclipse/search/core/tests/NullSearchResult.java
org.eclipse.search.tests/src/org/eclipse/search/core/tests/QueryManagerTest.java
org.eclipse.search.tests/src/org/eclipse/search/core/tests/TestSearchResult.java
org.eclipse.search.tests/src/org/eclipse/search/tests/AllSearchTests.java
org.eclipse.search.tests/src/org/eclipse/search/tests/SearchTestPlugin.java
org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/AllFileSearchTests.java
org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/AnnotationManagerSetup.java
org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/AnnotationManagerTest.java
org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/JUnitSetup.java
org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/LineAnnotationManagerTest.java
org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/LineBasedFileSearch.java
org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/PositionTrackerTest.java
org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/ResultUpdaterTest.java
org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/SearchResultPageTest.java
org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/SortingTest.java
org.eclipse.search.tests/testresources/junit37-noUI-src.zip
org.eclipse.search/.classpath
org.eclipse.search/.cvsignore
org.eclipse.search/.project
org.eclipse.search/about.html
org.eclipse.search/build.properties
org.eclipse.search/buildnotes_search.html
org.eclipse.search/hglegal2003.htm
org.eclipse.search/icons/full/dlcl16/collapseall.gif
org.eclipse.search/icons/full/dlcl16/expandall.gif
org.eclipse.search/icons/full/dlcl16/flatLayout.gif
org.eclipse.search/icons/full/dlcl16/hierarchicalLayout.gif
org.eclipse.search/icons/full/dlcl16/search_goto.gif
org.eclipse.search/icons/full/dlcl16/search_history.gif
org.eclipse.search/icons/full/dlcl16/search_next.gif
org.eclipse.search/icons/full/dlcl16/search_prev.gif
org.eclipse.search/icons/full/dlcl16/search_rem.gif
org.eclipse.search/icons/full/dlcl16/search_remall.gif
org.eclipse.search/icons/full/dlcl16/search_sortmatch.gif
org.eclipse.search/icons/full/dlcl16/stop.gif
org.eclipse.search/icons/full/dlcl16/tsearch_obj.gif
org.eclipse.search/icons/full/dtool16/group_by_file.gif
org.eclipse.search/icons/full/dtool16/group_by_folder.gif
org.eclipse.search/icons/full/dtool16/group_by_project.gif
org.eclipse.search/icons/full/dtool16/search.gif
org.eclipse.search/icons/full/elcl16/collapseall.gif
org.eclipse.search/icons/full/elcl16/expandall.gif
org.eclipse.search/icons/full/elcl16/flatLayout.gif
org.eclipse.search/icons/full/elcl16/hierarchicalLayout.gif
org.eclipse.search/icons/full/elcl16/search_goto.gif
org.eclipse.search/icons/full/elcl16/search_history.gif
org.eclipse.search/icons/full/elcl16/search_next.gif
org.eclipse.search/icons/full/elcl16/search_prev.gif
org.eclipse.search/icons/full/elcl16/search_rem.gif
org.eclipse.search/icons/full/elcl16/search_remall.gif
org.eclipse.search/icons/full/elcl16/search_sortmatch.gif
org.eclipse.search/icons/full/elcl16/stop.gif
org.eclipse.search/icons/full/elcl16/tsearch_obj.gif
org.eclipse.search/icons/full/etool16/group_by_file.gif
org.eclipse.search/icons/full/etool16/group_by_folder.gif
org.eclipse.search/icons/full/etool16/group_by_project.gif
org.eclipse.search/icons/full/etool16/search.gif
org.eclipse.search/icons/full/eview16/searchres.gif
org.eclipse.search/icons/full/obj16/searchm_obj.gif
org.eclipse.search/icons/full/obj16/tsearch_dpdn_obj.gif
org.eclipse.search/new search/org/eclipse/search/ui/IQueryListener.java
org.eclipse.search/new search/org/eclipse/search/ui/ISearchQuery.java
org.eclipse.search/new search/org/eclipse/search/ui/ISearchResult.java
org.eclipse.search/new search/org/eclipse/search/ui/ISearchResultListener.java
org.eclipse.search/new search/org/eclipse/search/ui/ISearchResultPage.java
org.eclipse.search/new search/org/eclipse/search/ui/ISearchResultViewPart.java
org.eclipse.search/new search/org/eclipse/search/ui/NewSearchUI.java
org.eclipse.search/new search/org/eclipse/search/ui/SearchResultEvent.java
org.eclipse.search/new search/org/eclipse/search/ui/package.html
org.eclipse.search/new search/org/eclipse/search/ui/text/AbstractTextSearchResult.java
org.eclipse.search/new search/org/eclipse/search/ui/text/AbstractTextSearchViewPage.java
org.eclipse.search/new search/org/eclipse/search/ui/text/IEditorMatchAdapter.java
org.eclipse.search/new search/org/eclipse/search/ui/text/IFileMatchAdapter.java
org.eclipse.search/new search/org/eclipse/search/ui/text/ISearchEditorAccess.java
org.eclipse.search/new search/org/eclipse/search/ui/text/Match.java
org.eclipse.search/new search/org/eclipse/search/ui/text/MatchEvent.java
org.eclipse.search/new search/org/eclipse/search/ui/text/RemoveAllEvent.java
org.eclipse.search/new search/org/eclipse/search/ui/text/package.html
org.eclipse.search/new search/org/eclipse/search2/internal/ui/CancelSearchAction.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/InternalSearchUI.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/QueryManager.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/RemoveAllSearchesAction.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/SearchAgainAction.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/SearchDropDownAction.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/SearchMessages.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/SearchMessages.properties
org.eclipse.search/new search/org/eclipse/search2/internal/ui/SearchPageRegistry.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/SearchView.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/SearchesDialog.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/ShowSearchAction.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/ShowSearchesAction.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/ThrottlingProgressMonitor.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/basic/views/CollapseAllAction.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/basic/views/ExpandAllAction.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/basic/views/INavigate.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/basic/views/RemoveAllMatchesAction.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/basic/views/RemoveMatchAction.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/basic/views/RemoveSelectedMatchesAction.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/basic/views/SetLayoutAction.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/basic/views/ShowNextResultAction.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/basic/views/ShowPreviousResultAction.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/basic/views/TableViewerNavigator.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/basic/views/TreeViewerNavigator.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/text/AnnotationHighlighter.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/text/AnnotationManagers.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/text/EditorAccessHighlighter.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/text/EditorAnnotationManager.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/text/Highlighter.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/text/MarkerHighlighter.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/text/PositionTracker.java
org.eclipse.search/new search/org/eclipse/search2/internal/ui/text/WindowAnnotationManager.java
org.eclipse.search/ngibmcpy2003.gif
org.eclipse.search/old_buildnotes_search_2.1.html
org.eclipse.search/old_buildnotes_search_2_0.html
org.eclipse.search/plugin.properties
org.eclipse.search/plugin.xml
org.eclipse.search/schema/searchPages.exsd
org.eclipse.search/schema/searchResultSorters.exsd
org.eclipse.search/schema/searchResultViewPages.exsd
org.eclipse.search/scripts/exportplugin.xml
org.eclipse.search/search/org/eclipse/search/internal/core/ISearchScope.java
org.eclipse.search/search/org/eclipse/search/internal/core/SearchScope.java
org.eclipse.search/search/org/eclipse/search/internal/core/text/AmountOfWorkCalculator.java
org.eclipse.search/search/org/eclipse/search/internal/core/text/FileMatchCollector.java
org.eclipse.search/search/org/eclipse/search/internal/core/text/IMatchCollector.java
org.eclipse.search/search/org/eclipse/search/internal/core/text/ITextSearchResultCollector.java
org.eclipse.search/search/org/eclipse/search/internal/core/text/MatchLocator.java
org.eclipse.search/search/org/eclipse/search/internal/core/text/TextSearchEngine.java
org.eclipse.search/search/org/eclipse/search/internal/core/text/TextSearchScope.java
org.eclipse.search/search/org/eclipse/search/internal/core/text/TextSearchVisitor.java
org.eclipse.search/search/org/eclipse/search/internal/core/text/TypedResourceVisitor.java
org.eclipse.search/search/org/eclipse/search/internal/ui/CopyToClipboardAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/GotoMarkerAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/ISearchHelpContextIds.java
org.eclipse.search/search/org/eclipse/search/internal/ui/OpenFileSearchPageAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/OpenSearchDialogAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveAllResultsAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveAllSearchesAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveMatchAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/RemovePotentialMatchesAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveResultAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/ResourceToItemsMapper.java
org.eclipse.search/search/org/eclipse/search/internal/ui/ScopePart.java
org.eclipse.search/search/org/eclipse/search/internal/ui/Search.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchAgainAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchDialog.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchDropDownAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchManager.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchMessages.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchMessages.properties
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPageDescriptor.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPlugin.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPluginImages.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPreferencePage.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultContentProvider.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultLabelProvider.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultView.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultViewEntry.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultViewEntryAdapterFactory.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultViewer.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SelectAllAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/ShowNextResultAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/ShowPreviousResultAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/ShowSearchAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/ShowSearchesAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SortDropDownAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/SorterDescriptor.java
org.eclipse.search/search/org/eclipse/search/internal/ui/WorkingSetComparator.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/EditorOpener.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/FileContentProvider.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/FileLabelProvider.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/FileMatch.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/FileSearchDescription.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/FileSearchPage.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/FileSearchQuery.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/FileSearchResult.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/FileTableContentProvider.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/FileTreeContentProvider.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/GotoMarkerAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/GroupByKeyComputer.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/NameSorter.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/NewTextSearchActionGroup.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/PathSorter.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/RegExContentAssistProcessor.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/ReplaceAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/ReplaceAction2.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/ReplaceDialog.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/ReplaceDialog2.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/ResourcePathSorter.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/ResourcenameSorter.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/SearchAgainConfirmationDialog.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/SearchResultUpdater.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/SortAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/TextSearchActionGroup.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/TextSearchOperation.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/TextSearchPage.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/TextSearchResultCollector.java
org.eclipse.search/search/org/eclipse/search/internal/ui/util/ComboFieldEditor.java
org.eclipse.search/search/org/eclipse/search/internal/ui/util/ExceptionHandler.java
org.eclipse.search/search/org/eclipse/search/internal/ui/util/ExtendedDialogWindow.java
org.eclipse.search/search/org/eclipse/search/internal/ui/util/FileLabelProvider.java
org.eclipse.search/search/org/eclipse/search/internal/ui/util/FileTypeEditor.java
org.eclipse.search/search/org/eclipse/search/internal/ui/util/ListContentProvider.java
org.eclipse.search/search/org/eclipse/search/internal/ui/util/ListDialog.java
org.eclipse.search/search/org/eclipse/search/internal/ui/util/MessageLine.java
org.eclipse.search/search/org/eclipse/search/internal/ui/util/PixelConverter.java
org.eclipse.search/search/org/eclipse/search/internal/ui/util/RowLayouter.java
org.eclipse.search/search/org/eclipse/search/internal/ui/util/SWTUtil.java
org.eclipse.search/search/org/eclipse/search/internal/ui/util/TypeFilteringDialog.java
org.eclipse.search/search/org/eclipse/search/ui/IActionGroupFactory.java
org.eclipse.search/search/org/eclipse/search/ui/IContextMenuConstants.java
org.eclipse.search/search/org/eclipse/search/ui/IContextMenuContributor.java
org.eclipse.search/search/org/eclipse/search/ui/IGroupByKeyComputer.java
org.eclipse.search/search/org/eclipse/search/ui/IReplacePage.java
org.eclipse.search/search/org/eclipse/search/ui/ISearchPage.java
org.eclipse.search/search/org/eclipse/search/ui/ISearchPageContainer.java
org.eclipse.search/search/org/eclipse/search/ui/ISearchPageScoreComputer.java
org.eclipse.search/search/org/eclipse/search/ui/ISearchResultView.java
org.eclipse.search/search/org/eclipse/search/ui/ISearchResultViewEntry.java
org.eclipse.search/search/org/eclipse/search/ui/SearchUI.java
org.eclipse.search/search/org/eclipse/search/ui/package.html
org.eclipse.text/.classpath
org.eclipse.text/.cvsignore
org.eclipse.text/.project
org.eclipse.text/about.html
org.eclipse.text/build.properties
org.eclipse.text/plugin.properties
org.eclipse.text/plugin.xml
org.eclipse.text/projection/org/eclipse/jface/text/projection/ChildDocument.java
org.eclipse.text/projection/org/eclipse/jface/text/projection/ChildDocumentManager.java
org.eclipse.text/projection/org/eclipse/jface/text/projection/Fragment.java
org.eclipse.text/projection/org/eclipse/jface/text/projection/FragmentUpdater.java
org.eclipse.text/projection/org/eclipse/jface/text/projection/IMinimalMapping.java
org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionDocument.java
org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionDocumentEvent.java
org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionDocumentManager.java
org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionMapping.java
org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionTextStore.java
org.eclipse.text/projection/org/eclipse/jface/text/projection/Segment.java
org.eclipse.text/projection/org/eclipse/jface/text/projection/SegmentUpdater.java
org.eclipse.text/projection/org/eclipse/jface/text/projection/package.html
org.eclipse.text/scripts/exportplugin.xml
org.eclipse.text/src/org/eclipse/jface/text/AbstractDocument.java
org.eclipse.text/src/org/eclipse/jface/text/AbstractLineTracker.java
org.eclipse.text/src/org/eclipse/jface/text/Assert.java
org.eclipse.text/src/org/eclipse/jface/text/BadLocationException.java
org.eclipse.text/src/org/eclipse/jface/text/BadPartitioningException.java
org.eclipse.text/src/org/eclipse/jface/text/BadPositionCategoryException.java
org.eclipse.text/src/org/eclipse/jface/text/ConfigurableLineTracker.java
org.eclipse.text/src/org/eclipse/jface/text/DefaultLineTracker.java
org.eclipse.text/src/org/eclipse/jface/text/DefaultPositionUpdater.java
org.eclipse.text/src/org/eclipse/jface/text/Document.java
org.eclipse.text/src/org/eclipse/jface/text/DocumentEvent.java
org.eclipse.text/src/org/eclipse/jface/text/DocumentPartitioningChangedEvent.java
org.eclipse.text/src/org/eclipse/jface/text/FindReplaceDocumentAdapter.java
org.eclipse.text/src/org/eclipse/jface/text/GapTextStore.java
org.eclipse.text/src/org/eclipse/jface/text/IDocument.java
org.eclipse.text/src/org/eclipse/jface/text/IDocumentExtension.java
org.eclipse.text/src/org/eclipse/jface/text/IDocumentExtension2.java
org.eclipse.text/src/org/eclipse/jface/text/IDocumentExtension3.java
org.eclipse.text/src/org/eclipse/jface/text/IDocumentInformationMapping.java
org.eclipse.text/src/org/eclipse/jface/text/IDocumentInformationMappingExtension.java
org.eclipse.text/src/org/eclipse/jface/text/IDocumentListener.java
org.eclipse.text/src/org/eclipse/jface/text/IDocumentPartitioner.java
org.eclipse.text/src/org/eclipse/jface/text/IDocumentPartitionerExtension.java
org.eclipse.text/src/org/eclipse/jface/text/IDocumentPartitionerExtension2.java
org.eclipse.text/src/org/eclipse/jface/text/IDocumentPartitioningListener.java
org.eclipse.text/src/org/eclipse/jface/text/IDocumentPartitioningListenerExtension.java
org.eclipse.text/src/org/eclipse/jface/text/IDocumentPartitioningListenerExtension2.java
org.eclipse.text/src/org/eclipse/jface/text/ILineTracker.java
org.eclipse.text/src/org/eclipse/jface/text/IPositionUpdater.java
org.eclipse.text/src/org/eclipse/jface/text/IRegion.java
org.eclipse.text/src/org/eclipse/jface/text/IRepairableDocument.java
org.eclipse.text/src/org/eclipse/jface/text/ISlaveDocumentManager.java
org.eclipse.text/src/org/eclipse/jface/text/ISlaveDocumentManagerExtension.java
org.eclipse.text/src/org/eclipse/jface/text/ISynchronizable.java
org.eclipse.text/src/org/eclipse/jface/text/ITextStore.java
org.eclipse.text/src/org/eclipse/jface/text/ITypedRegion.java
org.eclipse.text/src/org/eclipse/jface/text/Line.java
org.eclipse.text/src/org/eclipse/jface/text/Position.java
org.eclipse.text/src/org/eclipse/jface/text/Region.java
org.eclipse.text/src/org/eclipse/jface/text/SequentialRewriteTextStore.java
org.eclipse.text/src/org/eclipse/jface/text/SlaveDocumentEvent.java
org.eclipse.text/src/org/eclipse/jface/text/TextUtilities.java
org.eclipse.text/src/org/eclipse/jface/text/TypedPosition.java
org.eclipse.text/src/org/eclipse/jface/text/TypedRegion.java
org.eclipse.text/src/org/eclipse/jface/text/link/ILinkedModeListener.java
org.eclipse.text/src/org/eclipse/jface/text/link/InclusivePositionUpdater.java
org.eclipse.text/src/org/eclipse/jface/text/link/LinkedModeManager.java
org.eclipse.text/src/org/eclipse/jface/text/link/LinkedModeModel.java
org.eclipse.text/src/org/eclipse/jface/text/link/LinkedPosition.java
org.eclipse.text/src/org/eclipse/jface/text/link/LinkedPositionGroup.java
org.eclipse.text/src/org/eclipse/jface/text/link/package.html
org.eclipse.text/src/org/eclipse/jface/text/package.html
org.eclipse.text/src/org/eclipse/jface/text/source/Annotation.java
org.eclipse.text/src/org/eclipse/jface/text/source/AnnotationMap.java
org.eclipse.text/src/org/eclipse/jface/text/source/AnnotationModel.java
org.eclipse.text/src/org/eclipse/jface/text/source/AnnotationModelEvent.java
org.eclipse.text/src/org/eclipse/jface/text/source/IAnnotationMap.java
org.eclipse.text/src/org/eclipse/jface/text/source/IAnnotationModel.java
org.eclipse.text/src/org/eclipse/jface/text/source/IAnnotationModelExtension.java
org.eclipse.text/src/org/eclipse/jface/text/source/IAnnotationModelListener.java
org.eclipse.text/src/org/eclipse/jface/text/source/IAnnotationModelListenerExtension.java
org.eclipse.text/src/org/eclipse/jface/text/source/package.html
org.eclipse.text/src/org/eclipse/jface/text/templates/DocumentTemplateContext.java
org.eclipse.text/src/org/eclipse/jface/text/templates/GlobalTemplateVariables.java
org.eclipse.text/src/org/eclipse/jface/text/templates/SimpleTemplateVariableResolver.java
org.eclipse.text/src/org/eclipse/jface/text/templates/Template.java
org.eclipse.text/src/org/eclipse/jface/text/templates/TemplateBuffer.java
org.eclipse.text/src/org/eclipse/jface/text/templates/TemplateContext.java
org.eclipse.text/src/org/eclipse/jface/text/templates/TemplateContextType.java
org.eclipse.text/src/org/eclipse/jface/text/templates/TemplateException.java
org.eclipse.text/src/org/eclipse/jface/text/templates/TemplateTranslator.java
org.eclipse.text/src/org/eclipse/jface/text/templates/TemplateVariable.java
org.eclipse.text/src/org/eclipse/jface/text/templates/TemplateVariableResolver.java
org.eclipse.text/src/org/eclipse/jface/text/templates/TextTemplateMessages.java
org.eclipse.text/src/org/eclipse/jface/text/templates/TextTemplateMessages.properties
org.eclipse.text/src/org/eclipse/jface/text/templates/package.html
org.eclipse.text/src/org/eclipse/text/edits/CopySourceEdit.java
org.eclipse.text/src/org/eclipse/text/edits/CopyTargetEdit.java
org.eclipse.text/src/org/eclipse/text/edits/CopyingRangeMarker.java
org.eclipse.text/src/org/eclipse/text/edits/DeleteEdit.java
org.eclipse.text/src/org/eclipse/text/edits/EditDocument.java
org.eclipse.text/src/org/eclipse/text/edits/ISourceModifier.java
org.eclipse.text/src/org/eclipse/text/edits/InsertEdit.java
org.eclipse.text/src/org/eclipse/text/edits/MalformedTreeException.java
org.eclipse.text/src/org/eclipse/text/edits/Messages.properties
org.eclipse.text/src/org/eclipse/text/edits/MoveSourceEdit.java
org.eclipse.text/src/org/eclipse/text/edits/MoveTargetEdit.java
org.eclipse.text/src/org/eclipse/text/edits/MultiTextEdit.java
org.eclipse.text/src/org/eclipse/text/edits/RangeMarker.java
org.eclipse.text/src/org/eclipse/text/edits/ReplaceEdit.java
org.eclipse.text/src/org/eclipse/text/edits/TextEdit.java
org.eclipse.text/src/org/eclipse/text/edits/TextEditCopier.java
org.eclipse.text/src/org/eclipse/text/edits/TextEditGroup.java
org.eclipse.text/src/org/eclipse/text/edits/TextEditMessages.java
org.eclipse.text/src/org/eclipse/text/edits/TextEditProcessor.java
org.eclipse.text/src/org/eclipse/text/edits/TextEditVisitor.java
org.eclipse.text/src/org/eclipse/text/edits/TreeIterationInfo.java
org.eclipse.text/src/org/eclipse/text/edits/UndoCollector.java
org.eclipse.text/src/org/eclipse/text/edits/UndoEdit.java
org.eclipse.ui.editors.tests/src/org/eclipse/ui/editors/tests/EditorsTestSuite.java
org.eclipse.ui.editors/.classpath
org.eclipse.ui.editors/.cvsignore
org.eclipse.ui.editors/.project
org.eclipse.ui.editors/_buildnotes_text_2_0.html
org.eclipse.ui.editors/_buildnotes_text_2_1.html
org.eclipse.ui.editors/about.html
org.eclipse.ui.editors/build.properties
org.eclipse.ui.editors/buildnotes_text.html
org.eclipse.ui.editors/icons/full/ctool16/last_edit_pos.gif
org.eclipse.ui.editors/icons/full/ctool16/next_nav.gif
org.eclipse.ui.editors/icons/full/ctool16/prev_nav.gif
org.eclipse.ui.editors/icons/full/dtool16/last_edit_pos.gif
org.eclipse.ui.editors/icons/full/dtool16/next_nav.gif
org.eclipse.ui.editors/icons/full/dtool16/prev_nav.gif
org.eclipse.ui.editors/icons/full/etool16/last_edit_pos.gif
org.eclipse.ui.editors/icons/full/etool16/next_nav.gif
org.eclipse.ui.editors/icons/full/etool16/prev_nav.gif
org.eclipse.ui.editors/icons/full/obj16/file_obj.gif
org.eclipse.ui.editors/migration_guidelines.html
org.eclipse.ui.editors/plugin.properties
org.eclipse.ui.editors/plugin.xml
org.eclipse.ui.editors/schema/annotationTypes.exsd
org.eclipse.ui.editors/schema/documentProviders.exsd
org.eclipse.ui.editors/schema/markerAnnotationSpecification.exsd
org.eclipse.ui.editors/schema/markerUpdaters.exsd
org.eclipse.ui.editors/schema/templates.exsd
org.eclipse.ui.editors/scripts/exportplugin.xml
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/DefaultEncodingSupport.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/EditorsUI.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/EncodingActionGroup.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileDocumentProvider.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/ForwardingDocumentProvider.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingActionsConstants.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingActionsDefinitionIds.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingActionsHelpContextIds.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingSupport.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IFoldingCommandIds.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/ILocationProvider.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IStorageDocumentProvider.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/ITextEditorHelpContextIds.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/StorageDocumentProvider.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextEditor.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextEditorActionContributor.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextEditorMessages.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextEditorMessages.properties
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextEditorPreferenceConstants.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextEditorPreferencePage.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextFileDocumentProvider.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextSourceViewerConfiguration.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/package.html
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/templates/ContributionContextTypeRegistry.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/templates/ContributionTemplateMessages.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/templates/ContributionTemplateMessages.properties
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/templates/ContributionTemplateStore.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/templates/package.html
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/quickdiff/LastSaveReferenceProvider.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/quickdiff/QuickDiffMessages.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/quickdiff/QuickDiffMessages.properties
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/AbstractConfigurationBlockPreferencePage.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/AnnotationsConfigurationBlock.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/AnnotationsPreferencePage.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/ColorEditor.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/EditorsPlugin.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/FileEditorInputAdapterFactory.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/IEditorsStatusConstants.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/IPreferenceConfigurationBlock.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/JavaFileEditorInput.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/NextPreviousPulldownActionDelegate.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/NextPulldownActionDelegate.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/OpenExternalFileAction.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/OverlayPreferenceStore.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/PixelConverter.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/PreviousPulldownActionDelegate.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/QuickDiffConfigurationBlock.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/QuickDiffPreferencePage.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/SharedTextColors.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/StatusInfo.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/TabFolderLayout.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/TextEditorMessages.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/TextEditorMessages.properties
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/TextEditorPreferencePage2.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/UISynchronizationContext.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/editors/text/WorkspaceOperationRunner.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/texteditor/AnnotationType.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/texteditor/AnnotationTypeHierarchy.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/texteditor/DelegatingAnnotationPreference.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/texteditor/SourceViewerInformationControl.java
org.eclipse.ui.editors/src/org/eclipse/ui/internal/texteditor/TextChangeHover.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/AbstractDecoratedTextEditor.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/AbstractDecoratedTextEditorPreferenceConstants.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/AbstractMarkerAnnotationModel.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/AddMarkerAction.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/AddTaskAction.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/AnnotationPreferenceLookup.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/AnnotationTypeLookup.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/BasicMarkerUpdater.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/BookmarkRulerAction.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/ChainedPreferenceStore.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/DefaultMarkerAnnotationAccess.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/DocumentProviderRegistry.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/IMarkerUpdater.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/ImageUtilities.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/MarkerAnnotation.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/MarkerAnnotationPreferences.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/MarkerRulerAction.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/MarkerRulerInfoAction.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/MarkerUpdater.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/MarkerUtilities.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/ResourceMarkerAnnotationModel.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/ResourceMarkerAnnotationModelFactory.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/SelectMarkerRulerAction.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/SelectMarkerRulerInfoAction.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/SelectRulerAction.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/SimpleMarkerAnnotation.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/TaskRulerAction.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/TextEditorMessages.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/TextEditorMessages.properties
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/package.html
org.eclipse.ui.examples.javaeditor/.classpath
org.eclipse.ui.examples.javaeditor/.cvsignore
org.eclipse.ui.examples.javaeditor/.project
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaActionContributor.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaAnnotationHover.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaContentOutlinePage.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaDocumentSetupParticipant.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditor.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditorExamplePlugin.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditorMessages.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaEditorMessages.properties
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaPartitionScanner.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaSourceViewerConfiguration.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/JavaTextHover.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/PresentationAction.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaAutoIndentStrategy.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaCodeScanner.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaCompletionProcessor.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaDoubleClickSelector.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/java/JavaEditorMessages.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/javadoc/JavaDocCompletionProcessor.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/javadoc/JavaDocScanner.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/togglepresentation.gif
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/util/JavaColorProvider.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/util/JavaWhitespaceDetector.java
org.eclipse.ui.examples.javaeditor/Eclipse Java Editor Example/org/eclipse/ui/examples/javaeditor/util/JavaWordDetector.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/editors/ColorManager.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/editors/IXMLColorConstants.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/editors/NonRuleBasedDamagerRepairer.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/editors/TagRule.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/editors/TemplateEditor.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/editors/TemplateEditorUI.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/editors/TemplateMessages.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/editors/TemplateMessages.properties
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/editors/XMLConfiguration.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/editors/XMLDocumentProvider.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/editors/XMLDoubleClickStrategy.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/editors/XMLPartitionScanner.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/editors/XMLScanner.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/editors/XMLTagScanner.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/editors/XMLWhitespaceDetector.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/preferences/TemplatesPreferencePage.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/template/AntVariableResolver.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/template/XMLCompletionProcessor.java
org.eclipse.ui.examples.javaeditor/Template Editor Example/org/eclipse/ui/examples/templateeditor/template/XMLContextType.java
org.eclipse.ui.examples.javaeditor/about.html
org.eclipse.ui.examples.javaeditor/build.properties
org.eclipse.ui.examples.javaeditor/doc-html/hglegal.htm
org.eclipse.ui.examples.javaeditor/doc-html/hglegal2002.htm
org.eclipse.ui.examples.javaeditor/doc-html/hglegal2003.htm
org.eclipse.ui.examples.javaeditor/doc-html/ngibmcpy.gif
org.eclipse.ui.examples.javaeditor/doc-html/ngibmcpy2002.gif
org.eclipse.ui.examples.javaeditor/doc-html/ngibmcpy2003.gif
org.eclipse.ui.examples.javaeditor/doc-html/ui_javaeditor_ex.html
org.eclipse.ui.examples.javaeditor/doc-html/ui_templateeditor_ex.html
org.eclipse.ui.examples.javaeditor/icons/obj16/java.gif
org.eclipse.ui.examples.javaeditor/icons/resolver.gif
org.eclipse.ui.examples.javaeditor/icons/sample.gif
org.eclipse.ui.examples.javaeditor/icons/template.gif
org.eclipse.ui.examples.javaeditor/plugin.properties
org.eclipse.ui.examples.javaeditor/plugin.xml
org.eclipse.ui.examples.javaeditor/templates/ant.properties
org.eclipse.ui.examples.javaeditor/templates/ant.xml
org.eclipse.ui.workbench.texteditor.tests/src/org/eclipse/ui/workbench/texteditor/tests/WorkbenchTextEditorTestSuite.java
org.eclipse.ui.workbench.texteditor/.classpath
org.eclipse.ui.workbench.texteditor/.cvsignore
org.eclipse.ui.workbench.texteditor/.project
org.eclipse.ui.workbench.texteditor/about.html
org.eclipse.ui.workbench.texteditor/build.properties
org.eclipse.ui.workbench.texteditor/icons/full/ctool16/segment_edit.gif
org.eclipse.ui.workbench.texteditor/icons/full/dtool16/segment_edit.gif
org.eclipse.ui.workbench.texteditor/icons/full/etool16/segment_edit.gif
org.eclipse.ui.workbench.texteditor/plugin.properties
org.eclipse.ui.workbench.texteditor/plugin.xml
org.eclipse.ui.workbench.texteditor/schema/quickDiffReferenceProvider.exsd
org.eclipse.ui.workbench.texteditor/scripts/exportplugin.xml
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/contentassist/ContentAssistHandler.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/contentassist/ContentAssistMessages.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/contentassist/ContentAssistMessages.properties
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/AnnotationExpandHover.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/AnnotationExpansionControl.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/EditPosition.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/EditorMessages.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/EditorMessages.properties
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/GotoLastEditPositionAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/LinearLayouter.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/TextEditorPlugin.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/DiffRegion.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/DocumentLineDiffer.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/QuickDiffExtensionsRegistry.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/QuickDiffMessages.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/QuickDiffMessages.properties
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/QuickDiffRestoreAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/ReferenceSelectionAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/RestoreAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/RevertBlockAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/RevertLineAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/RevertSelectionAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/compare/rangedifferencer/DifferencesIterator.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/compare/rangedifferencer/DocLineComparator.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/compare/rangedifferencer/IRangeComparator.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/compare/rangedifferencer/ITokenComparator.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/compare/rangedifferencer/LinkedRangeDifference.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/compare/rangedifferencer/LinkedRangeFactory.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/compare/rangedifferencer/RangeDifference.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/compare/rangedifferencer/RangeDifferencer.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/compare/rangedifferencer/package.html
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/texteditor/quickdiff/package.html
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/AbstractDocumentProvider.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/AbstractRulerActionDelegate.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/AbstractTextEditor.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/AnnotationPreference.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/BasicTextEditorActionContributor.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/CaseAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/ConfigurationElementSorter.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/ContentAssistAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/ConvertLineDelimitersAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/DefaultRangeIndicator.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/DeleteLineAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/DeleteLineTarget.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/EditorMessages.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/EditorMessages.properties
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/EditorStatusLine.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/FindNextAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/FindReplaceAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/FindReplaceDialog.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/FindReplaceTarget.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/GotoLineAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IAbstractTextEditorHelpContextIds.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IAnnotationImageProvider.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IDocumentProvider.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IDocumentProviderExtension.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IDocumentProviderExtension2.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IDocumentProviderExtension3.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IEditorStatusLine.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IElementStateListener.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IElementStateListenerExtension.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IFindReplaceTargetExtension2.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IReadOnlyDependent.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/ISchedulingRuleProvider.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IStatusField.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IStatusFieldExtension.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/ITextEditor.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/ITextEditorActionConstants.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/ITextEditorActionDefinitionIds.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/ITextEditorDropTargetListener.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/ITextEditorExtension.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/ITextEditorExtension2.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/ITextEditorExtension3.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IUpdate.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IWorkbenchActionDefinitionIds.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IncrementalFindAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/IncrementalFindTarget.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/InfoForm.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/InsertLineAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/MarkAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/MarkRegionTarget.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/MoveLinesAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/PropagatingFontFieldEditor.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/RegExContentAssistProcessor.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/ResourceAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/RetargetTextEditorAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/RevertToSavedAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/SaveAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/SelectAnnotationRulerAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/ShiftAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/SourceViewerDecorationSupport.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/StatusLineContributionItem.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/StatusTextEditor.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/TextEditorAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/TextNavigationAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/TextOperationAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/TextSelectionNavigationLocation.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/ValidateStateException.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/WorkbenchChainedTextFontFieldEditor.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/link/EditorLinkedModeUI.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/package.html
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/quickdiff/IQuickDiffReferenceProvider.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/quickdiff/QuickDiff.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/quickdiff/QuickDiffToggleAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/quickdiff/ReferenceProviderDescriptor.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/quickdiff/package.html
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/EditTemplateDialog.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/MessageLine.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/StatusDialog.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/StatusInfo.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/TemplateContentProvider.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/TemplatePreferencePage.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/TemplateVariableProcessor.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/TemplateVariableProposal.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/TextEditorTemplateMessages.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/TextEditorTemplateMessages.properties
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/package.html
Diffstat (limited to 'org.eclipse.text/projection/org/eclipse/jface')
13 files changed, 0 insertions, 2625 deletions
diff --git a/org.eclipse.text/projection/org/eclipse/jface/text/projection/ChildDocument.java b/org.eclipse.text/projection/org/eclipse/jface/text/projection/ChildDocument.java deleted file mode 100644 index dfd775d32ae..00000000000 --- a/org.eclipse.text/projection/org/eclipse/jface/text/projection/ChildDocument.java +++ /dev/null @@ -1,97 +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 org.eclipse.jface.text.projection; - -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.Position; - -/** - * Implementation of a child document based on - * {@link org.eclipse.jface.text.projection.ProjectionDocument}. This class - * exists for compatibility reasons. - * <p> - * Internal class. This class is not intended to be used by clients. - * - * @since 3.0 - */ -public class ChildDocument extends ProjectionDocument { - - /** - * Position reflecting a visible region. The exclusive end offset of the position - * is considered being overlapping with the visible region. - */ - static private class VisibleRegion extends Position { - - /** - * Creates a new visible region. - * - * @param offset the offset of the region - * @param length the length of the region - */ - public VisibleRegion(int offset, int length) { - super(offset, length); - } - - /** - * If offset is the end of the visible region and the length is 0, - * the offset is considered overlapping with the visible region. - * - * @see org.eclipse.jface.text.Position#overlapsWith(int, int) - */ - public boolean overlapsWith(int offset, int length) { - boolean appending= (offset == this.offset + this.length) && length == 0; - return appending || super.overlapsWith(offset, length); - } - } - - /** - * Creates a new child document. - * - * @param masterDocument @inheritDoc - */ - public ChildDocument(IDocument masterDocument) { - super(masterDocument); - } - - /** - * Returns the parent document of this child document. - * - * @return the parent document of this child document - * @see ProjectionDocument#getMasterDocument() - */ - public IDocument getParentDocument() { - return getMasterDocument(); - } - - /** - * Sets the parent document range covered by this child document to the - * given range. - * - * @param offset the offset of the range - * @param length the length of the range - * @throws BadLocationException if the given range is not valid - */ - public void setParentDocumentRange(int offset, int length) throws BadLocationException { - replaceMasterDocumentRanges(offset, length); - } - - /** - * Returns the parent document range of this child document. - * - * @return the parent document range of this child document - */ - public Position getParentDocumentRange() { - IRegion coverage= getProjectionMapping().getCoverage(); - return new VisibleRegion(coverage.getOffset(), coverage.getLength()); - } -} diff --git a/org.eclipse.text/projection/org/eclipse/jface/text/projection/ChildDocumentManager.java b/org.eclipse.text/projection/org/eclipse/jface/text/projection/ChildDocumentManager.java deleted file mode 100644 index 8109b76e250..00000000000 --- a/org.eclipse.text/projection/org/eclipse/jface/text/projection/ChildDocumentManager.java +++ /dev/null @@ -1,34 +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 org.eclipse.jface.text.projection; - - -import org.eclipse.jface.text.IDocument; - - -/** - * Implementation of a child document manager based on - * {@link org.eclipse.jface.text.projection.ProjectionDocumentManager}. This - * class exists for compatibility reasons. - * <p> - * Internal class. This class is not intended to be used by clients. - * - * @since 3.0 - */ -public class ChildDocumentManager extends ProjectionDocumentManager { - - /* - * @see org.eclipse.jface.text.projection.ProjectionDocumentManager#createProjectionDocument(org.eclipse.jface.text.IDocument) - */ - protected ProjectionDocument createProjectionDocument(IDocument master) { - return new ChildDocument(master); - } -} diff --git a/org.eclipse.text/projection/org/eclipse/jface/text/projection/Fragment.java b/org.eclipse.text/projection/org/eclipse/jface/text/projection/Fragment.java deleted file mode 100644 index fcdb8c6e8b5..00000000000 --- a/org.eclipse.text/projection/org/eclipse/jface/text/projection/Fragment.java +++ /dev/null @@ -1,41 +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 org.eclipse.jface.text.projection; - - -import org.eclipse.jface.text.Position; - - -/** - * Internal class. Do not use. Only public for testing purposes. - * <p> - * A fragment is a range of the master document that has an image, the so called - * segment, in a projection document. - * - * @since 3.0 - */ -public class Fragment extends Position { - - /** - * The corresponding segment of this fragment. - */ - public Segment segment; - - /** - * Creates a new fragment covering the given range. - * - * @param offset the offset of the fragment - * @param length the length of the fragment - */ - public Fragment(int offset, int length) { - super(offset, length); - } -} diff --git a/org.eclipse.text/projection/org/eclipse/jface/text/projection/FragmentUpdater.java b/org.eclipse.text/projection/org/eclipse/jface/text/projection/FragmentUpdater.java deleted file mode 100644 index c357f3638eb..00000000000 --- a/org.eclipse.text/projection/org/eclipse/jface/text/projection/FragmentUpdater.java +++ /dev/null @@ -1,136 +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 org.eclipse.jface.text.projection; - - -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.BadPositionCategoryException; -import org.eclipse.jface.text.DefaultPositionUpdater; -import org.eclipse.jface.text.DocumentEvent; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.Position; - - -/** - * The position updater used to adapt the fragments of a master document. If an - * insertion happens at a fragment's offset, the fragment is extended rather - * than shifted. Also, the last fragment is extended if an insert operation - * happens at the end of the fragment. - * - * @since 3.0 - */ -class FragmentUpdater extends DefaultPositionUpdater { - - /** Indicates whether the position being updated represents the last fragment. */ - private boolean fIsLast= false; - - /** - * Creates the fragment updater for the given category. - * - * @param fragmentCategory the position category used for managing the fragments of a document - */ - protected FragmentUpdater(String fragmentCategory) { - super(fragmentCategory); - } - - /* - * @see org.eclipse.jface.text.IPositionUpdater#update(org.eclipse.jface.text.DocumentEvent) - */ - public void update(DocumentEvent event) { - - try { - - Position[] category= event.getDocument().getPositions(getCategory()); - - fOffset= event.getOffset(); - fLength= event.getLength(); - fReplaceLength= (event.getText() == null ? 0 : event.getText().length()); - fDocument= event.getDocument(); - - for (int i= 0; i < category.length; i++) { - - fPosition= category[i]; - fIsLast= (i == category.length -1); - - fOriginalPosition.offset= fPosition.offset; - fOriginalPosition.length= fPosition.length; - - if (notDeleted()) - adaptToReplace(); - } - - } catch (BadPositionCategoryException x) { - // do nothing - } - } - - /* - * @see org.eclipse.jface.text.DefaultPositionUpdater#adaptToInsert() - */ - protected void adaptToInsert() { - int myStart= fPosition.offset; - int myEnd= Math.max(myStart, fPosition.offset + fPosition.length - (fIsLast || isAffectingReplace() ? 0 : 1)); - - if (myEnd < fOffset) - return; - - if (fLength <= 0) { - - if (myStart <= fOffset) - fPosition.length += fReplaceLength; - else - fPosition.offset += fReplaceLength; - - } else { - - if (myStart <= fOffset && fOriginalPosition.offset <= fOffset) - fPosition.length += fReplaceLength; - else - fPosition.offset += fReplaceLength; - } - } - - /** - * Returns whether this updater considers any position affected by the given - * document event. A position is affected if either the offset or the length - * of the position is modified but the position is not just shifted. - * - * @param event the event - * @return <code>true</code> if there is any affected position, - * <code>false</code> otherwise - */ - public boolean affectsPositions(DocumentEvent event) { - IDocument document= event.getDocument(); - try { - - int index= document.computeIndexInCategory(getCategory(), event.getOffset()); - Position[] fragments= document.getPositions(getCategory()); - - if (0 < index) { - Position fragment= fragments[index - 1]; - if (fragment.overlapsWith(event.getOffset(), event.getLength())) - return true; - if (fragment.offset + fragment.length == event.getOffset()) - return index == fragments.length; - } - - if (index < fragments.length) { - Position fragment= fragments[index]; - return fragment.overlapsWith(event.getOffset(), event.getLength()); - } - - } catch (BadLocationException x) { - } catch (BadPositionCategoryException x) { - } - - return false; - } -} diff --git a/org.eclipse.text/projection/org/eclipse/jface/text/projection/IMinimalMapping.java b/org.eclipse.text/projection/org/eclipse/jface/text/projection/IMinimalMapping.java deleted file mode 100644 index a0a89831945..00000000000 --- a/org.eclipse.text/projection/org/eclipse/jface/text/projection/IMinimalMapping.java +++ /dev/null @@ -1,52 +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 org.eclipse.jface.text.projection; - - -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.IRegion; - - -/** - * Internal interface for defining the exact subset of - * {@link org.eclipse.jface.text.projection.ProjectionMapping}that the - * {@link org.eclipse.jface.text.projection.ProjectionTextStore}is allowed to - * access. - * - * @since 3.0 - */ -interface IMinimalMapping { - - /** - * @see org.eclipse.jface.text.IDocumentInformationMapping#getCoverage() - */ - IRegion getCoverage(); - - /** - * @see org.eclipse.jface.text.IDocumentInformationMapping#toOriginRegion(IRegion) - */ - IRegion toOriginRegion(IRegion region) throws BadLocationException; - - /** - * @see org.eclipse.jface.text.IDocumentInformationMapping#toOriginOffset(int) - */ - int toOriginOffset(int offset) throws BadLocationException; - - /** - * @see org.eclipse.jface.text.IDocumentInformationMappingExtension#toExactOriginRegions(IRegion) - */ - IRegion[] toExactOriginRegions(IRegion region)throws BadLocationException; - - /** - * @see org.eclipse.jface.text.IDocumentInformationMappingExtension#getImageLength() - */ - int getImageLength(); -} diff --git a/org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionDocument.java b/org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionDocument.java deleted file mode 100644 index 3f1641c36a7..00000000000 --- a/org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionDocument.java +++ /dev/null @@ -1,889 +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 org.eclipse.jface.text.projection; - - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.jface.text.AbstractDocument; -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.BadPositionCategoryException; -import org.eclipse.jface.text.DefaultLineTracker; -import org.eclipse.jface.text.DocumentEvent; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IDocumentExtension; -import org.eclipse.jface.text.IDocumentListener; -import org.eclipse.jface.text.ILineTracker; -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.ITextStore; -import org.eclipse.jface.text.Position; -import org.eclipse.jface.text.Region; - - -/** - * A <code>ProjectionDocument</code> represents a projection of its master - * document. The contents of a projection document is a sequence of fragments of - * the master document, i.e. the projection document can be thought as being - * constructed from the master document by not copying the whole master document - * but omitting several ranges of the master document. - * <p> - * The projection document indirectly utilizes its master document as - * <code>ITextStore</code> by means of a <code>ProjectionTextStore</code>. - * <p> - * The content of a projection document can be changed in two ways. Either by a - * text replace applied to the master document or the projection document. Or by - * changing the projection between the master document and the projection - * document. For the latter the two methods <code>addMasterDocumentRange</code> - * and <code>removeMasterDocumentRange</code> are provided. For any - * manipulation, the projection document sends out a - * {@link org.eclipse.jface.text.projection.ProjectionDocumentEvent} describing - * the change. - * <p> - * Clients are not supposed to directly instantiate this class. In order to - * obtain a projection document, a - * {@link org.eclipse.jface.text.projection.ProjectionDocumentManager}should be - * used. This class is not intended to be subclassed outside of its origin - * package. - * - * @since 3.0 - */ -public class ProjectionDocument extends AbstractDocument { - - - /** - * Prefix of the name of the position category used to keep track of the master - * document's fragments that correspond to the segments of the projection - * document. - */ - private final static String FRAGMENTS_CATEGORY_PREFIX= "__fragmentsCategory"; //$NON-NLS-1$ - - /** - * Name of the position category used to keep track of the project - * document's segments that correspond to the fragments of the master - * document. - */ - private final static String SEGMENTS_CATEGORY= "__segmentsCategory"; //$NON-NLS-1$ - - - /** The master document */ - private IDocument fMasterDocument; - /** The master document as document extension */ - private IDocumentExtension fMasterDocumentExtension; - /** The fragments' position category */ - private String fFragmentsCategory; - /** The segment's position category */ - private String fSegmentsCategory; - /** The document event issued by the master document */ - private DocumentEvent fMasterEvent; - /** The document event to be issued by the projection document */ - private ProjectionDocumentEvent fSlaveEvent; - /** The original document event generated by a direct manipulation of this projection document */ - private DocumentEvent fOriginalEvent; - /** Indicates whether the projection document initiated a master document update or not */ - private boolean fIsUpdating= false; - /** Indicated whether the projection document is in auto expand mode nor not */ - private boolean fIsAutoExpanding= false; - /** The position updater for the segments */ - private SegmentUpdater fSegmentUpdater; - /** The position updater for the fragments */ - private FragmentUpdater fFragmentsUpdater; - /** The projection mapping */ - private ProjectionMapping fMapping; - - /** - * Creates a projection document for the given master document. - * - * @param masterDocument the master document - */ - public ProjectionDocument(IDocument masterDocument) { - super(); - - fMasterDocument= masterDocument; - if (fMasterDocument instanceof IDocumentExtension) - fMasterDocumentExtension= (IDocumentExtension) fMasterDocument; - - fSegmentsCategory= SEGMENTS_CATEGORY; - fFragmentsCategory= FRAGMENTS_CATEGORY_PREFIX + hashCode(); - fMasterDocument.addPositionCategory(fFragmentsCategory); - fFragmentsUpdater= new FragmentUpdater(fFragmentsCategory); - fMasterDocument.addPositionUpdater(fFragmentsUpdater); - - fMapping= new ProjectionMapping(masterDocument, fFragmentsCategory, this, fSegmentsCategory); - - ITextStore s= new ProjectionTextStore(masterDocument, fMapping); - ILineTracker tracker= new DefaultLineTracker(); - - setTextStore(s); - setLineTracker(tracker); - - completeInitialization(); - - initializeProjection(); - tracker.set(s.get(0, s.getLength())); - } - - /** - * Disposes this projection document. - */ - public void dispose() { - fMasterDocument.removePositionUpdater(fFragmentsUpdater); - try { - fMasterDocument.removePositionCategory(fFragmentsCategory); - } catch (BadPositionCategoryException x) { - // allow multiple dispose calls - } - } - - private void internalError() { - throw new IllegalStateException(); - } - - /** - * Returns the fragments of the master documents. - * - * @return the fragment of the master document - */ - protected final Position[] getFragments() { - try { - return fMasterDocument.getPositions(fFragmentsCategory); - } catch (BadPositionCategoryException e) { - internalError(); - } - // unreachable - return null; - } - - /** - * Returns the segments of this projection document. - * - * @return the segments of this projection document - */ - protected final Position[] getSegments() { - try { - return getPositions(fSegmentsCategory); - } catch (BadPositionCategoryException e) { - internalError(); - } - // unreachable - return null; - } - - /** - * Returns the projection mapping used by this document. - * - * @return the projection mapping used by this document - */ - public ProjectionMapping getProjectionMapping(){ - return fMapping; - } - - /** - * Returns the master document of this projection document. - * - * @return the master document of this projection document - */ - public IDocument getMasterDocument() { - return fMasterDocument; - } - - /** - * Initializes the projection document from the master document based on - * the master's fragments. - */ - private void initializeProjection() { - - try { - - addPositionCategory(fSegmentsCategory); - fSegmentUpdater= new SegmentUpdater(fSegmentsCategory); - addPositionUpdater(fSegmentUpdater); - - int offset= 0; - Position[] fragments= getFragments(); - for (int i= 0; i < fragments.length; i++) { - Fragment fragment= (Fragment) fragments[i]; - Segment segment= new Segment(offset, fragment.getLength()); - segment.fragment= fragment; - addPosition(fSegmentsCategory, segment); - offset += fragment.length; - } - - } catch (BadPositionCategoryException x) { - internalError(); - } catch (BadLocationException x) { - internalError(); - } - } - - /** - * Creates a segment for the given fragment at the given position inside the list of segments. - * - * @param fragment the corresponding fragment - * @param index the index in the list of segments - * @return the created segment - * @throws BadLocationException in case the fragment is invalid - * @throws BadPositionCategoryException in case the segment category is invalid - */ - private Segment createSegmentFor(Fragment fragment, int index) throws BadLocationException, BadPositionCategoryException { - - int offset= 0; - if (index > 0) { - Position[] segments= getSegments(); - Segment segment= (Segment) segments[index - 1]; - offset= segment.getOffset() + segment.getLength(); - } - - Segment segment= new Segment(offset, 0); - segment.fragment= fragment; - fragment.segment= segment; - addPosition(fSegmentsCategory, segment); - return segment; - } - - /** - * Adds the given range of the master document to this projection document. - * - * @param offsetInMaster offset of the master document range - * @param lengthInMaster length of the master document range - * @param masterDocumentEvent the master document event that causes this - * projection change or <code>null</code> if none - * @throws BadLocationException if the given range is invalid in the master - * document - */ - private void internalAddMasterDocumentRange(int offsetInMaster, int lengthInMaster, DocumentEvent masterDocumentEvent) throws BadLocationException { - - if (lengthInMaster == 0) - return; - - try { - - Position[] fragments= getFragments(); - int index= fMasterDocument.computeIndexInCategory(fFragmentsCategory, offsetInMaster); - - Fragment left= null; - Fragment right= null; - - if (index < fragments.length) { - if (offsetInMaster == fragments[index].offset) - throw new IllegalArgumentException("overlaps with existing fragment"); //$NON-NLS-1$ - if (offsetInMaster + lengthInMaster == fragments[index].offset) - right= (Fragment) fragments[index]; - } - - if (0 < index && index <= fragments.length) { - Fragment fragment= (Fragment) fragments[index - 1]; - if (fragment.includes(offsetInMaster)) - throw new IllegalArgumentException("overlaps with existing fragment"); //$NON-NLS-1$ - if (fragment.getOffset() + fragment.getLength() == offsetInMaster) - left= fragment; - } - - int offsetInSlave= 0; - if (index > 0) { - Fragment fragment= (Fragment) fragments[index - 1]; - Segment segment= fragment.segment; - offsetInSlave= segment.getOffset() + segment.getLength(); - } - - ProjectionDocumentEvent event= new ProjectionDocumentEvent(this, offsetInSlave, 0, fMasterDocument.get(offsetInMaster, lengthInMaster), offsetInMaster, lengthInMaster, masterDocumentEvent); - super.fireDocumentAboutToBeChanged(event); - - // check for neighboring fragment - if (left != null && right != null) { - - int endOffset= right.getOffset() + right.getLength(); - left.setLength(endOffset - left.getOffset()); - left.segment.setLength(left.segment.getLength() + right.segment.getLength()); - - removePosition(fSegmentsCategory, right.segment); - fMasterDocument.removePosition(fFragmentsCategory, right); - - } else if (left != null) { - int endOffset= offsetInMaster +lengthInMaster; - left.setLength(endOffset - left.getOffset()); - left.segment.markForStretch(); - - } else if (right != null) { - right.setOffset(right.getOffset() - lengthInMaster); - right.setLength(right.getLength() + lengthInMaster); - right.segment.markForStretch(); - - } else { - // create a new segment - Fragment fragment= new Fragment(offsetInMaster, lengthInMaster); - fMasterDocument.addPosition(fFragmentsCategory, fragment); - Segment segment= createSegmentFor(fragment, index); - segment.markForStretch(); - } - - getTracker().replace(event.getOffset(), event.getLength(), event.getText()); - super.fireDocumentChanged(event); - - } catch (BadPositionCategoryException x) { - internalError(); - } - } - - /** - * Finds the fragment of the master document that represents the given range. - * - * @param offsetInMaster the offset of the range in the master document - * @param lengthInMaster the length of the range in the master document - * @return the fragment representing the given master document range - */ - private Fragment findFragment(int offsetInMaster, int lengthInMaster) { - Position[] fragments= getFragments(); - for (int i= 0; i < fragments.length; i++) { - Fragment f= (Fragment) fragments[i]; - if (f.getOffset() <= offsetInMaster && offsetInMaster + lengthInMaster <= f.getOffset() + f.getLength()) - return f; - } - return null; - } - - /** - * Removes the given range of the master document from this projection - * document. - * - * @param offsetInMaster the offset of the range in the master document - * @param lengthInMaster the length of the range in the master document - * - * @throws BadLocationException if the given range is not valid in the - * master document - * @throws IllegalArgumentException if the given range is not projected in - * this projection document or is not completely comprised by - * an existing fragment - */ - private void internalRemoveMasterDocumentRange(int offsetInMaster, int lengthInMaster) throws BadLocationException { - try { - - IRegion imageRegion= fMapping.toExactImageRegion(new Region(offsetInMaster, lengthInMaster)); - if (imageRegion == null) - throw new IllegalArgumentException(); - - Fragment fragment= findFragment(offsetInMaster, lengthInMaster); - if (fragment == null) - throw new IllegalArgumentException(); - - ProjectionDocumentEvent event= new ProjectionDocumentEvent(this, imageRegion.getOffset(), imageRegion.getLength(), null, offsetInMaster, lengthInMaster); - super.fireDocumentAboutToBeChanged(event); - - if (fragment.getOffset() == offsetInMaster) { - fragment.setOffset(offsetInMaster + lengthInMaster); - fragment.setLength(fragment.getLength() - lengthInMaster); - } else if (fragment.getOffset() + fragment.getLength() == offsetInMaster + lengthInMaster) { - fragment.setLength(fragment.getLength() - lengthInMaster); - } else { - // split fragment into three fragments, let position updater remove it - - // add fragment for the region to be removed - Fragment newFragment= new Fragment(offsetInMaster, lengthInMaster); - Segment segment= new Segment(imageRegion.getOffset(), imageRegion.getLength()); - newFragment.segment= segment; - segment.fragment= newFragment; - fMasterDocument.addPosition(fFragmentsCategory, newFragment); - addPosition(fSegmentsCategory, segment); - - // add fragment for the remainder right of the deleted range in the original fragment - int offset= offsetInMaster + lengthInMaster; - newFragment= new Fragment(offset, fragment.getOffset() + fragment.getLength() - offset); - offset= imageRegion.getOffset() + imageRegion.getLength(); - segment= new Segment(offset, fragment.segment.getOffset() + fragment.segment.getLength() - offset); - newFragment.segment= segment; - segment.fragment= newFragment; - fMasterDocument.addPosition(fFragmentsCategory, newFragment); - addPosition(fSegmentsCategory, segment); - - // adjust length of initial fragment (the left one) - fragment.setLength(offsetInMaster - fragment.getOffset()); - fragment.segment.setLength(imageRegion.getOffset() - fragment.segment.getOffset()); - } - - getTracker().replace(event.getOffset(), event.getLength(), event.getText()); - super.fireDocumentChanged(event); - - } catch (BadPositionCategoryException x) { - internalError(); - } - } - - /** - * Returns the sequence of all master document regions with are contained in the given master document - * range and which are not yet part of this projection document. - * - * @param offsetInMaster the range offset in the master document - * @param lengthInMaster the range length in the master document - * @return the sequence of regions which are not yet part of the projection document - * @throws BadLocationException in case the given range is invalid in the master document - */ - public final IRegion[] computeUnprojectedMasterRegions(int offsetInMaster, int lengthInMaster) throws BadLocationException { - - IRegion[] fragments= null; - IRegion imageRegion= fMapping.toImageRegion(new Region(offsetInMaster, lengthInMaster)); - if (imageRegion != null) - fragments= fMapping.toExactOriginRegions(imageRegion); - - if (fragments == null || fragments.length == 0) - return new IRegion[] { new Region(offsetInMaster, lengthInMaster) }; - - List gaps= new ArrayList(); - - IRegion region= fragments[0]; - if (offsetInMaster < region.getOffset()) - gaps.add(new Region(offsetInMaster, region.getOffset() - offsetInMaster)); - - for (int i= 0; i < fragments.length - 1; i++) { - IRegion left= fragments[i]; - IRegion right= fragments[i + 1]; - int leftEnd= left.getOffset() + left.getLength(); - if (leftEnd < right.getOffset()) - gaps.add(new Region(leftEnd, right.getOffset() - leftEnd)); - } - - region= fragments[fragments.length - 1]; - int leftEnd= region.getOffset() + region.getLength(); - int rightEnd= offsetInMaster + lengthInMaster; - if (leftEnd < rightEnd) - gaps.add(new Region(leftEnd, rightEnd - leftEnd)); - - IRegion[] result= new IRegion[gaps.size()]; - gaps.toArray(result); - return result; - } - - /** - * Ensures that the given range of the master document is part of this - * projection document. - * - * @param offsetInMaster the offset of the master document range - * @param lengthInMaster the length of the master document range - * @throws BadLocationException in case the master event is not valid - */ - public void addMasterDocumentRange(int offsetInMaster, int lengthInMaster) throws BadLocationException { - addMasterDocumentRange(offsetInMaster, lengthInMaster, null); - } - - /** - * Ensures that the given range of the master document is part of this - * projection document. - * - * @param offsetInMaster the offset of the master document range - * @param lengthInMaster the length of the master document range - * @param masterDocumentEvent the master document event which causes this - * projection change, or <code>null</code> if none - * @throws BadLocationException in case the master event is not valid - */ - private void addMasterDocumentRange(int offsetInMaster, int lengthInMaster, DocumentEvent masterDocumentEvent) throws BadLocationException { - - IRegion[] gaps= computeUnprojectedMasterRegions(offsetInMaster, lengthInMaster); - if (gaps == null) - return; - - for (int i= 0; i < gaps.length; i++) { - IRegion gap= gaps[i]; - internalAddMasterDocumentRange(gap.getOffset(), gap.getLength(), masterDocumentEvent); - } - } - - /** - * Ensures that the given range of the master document is not part of this - * projection document. - * - * @param offsetInMaster the offset of the master document range - * @param lengthInMaster the length of the master document range - * @throws BadLocationException in case the master event is not valid - */ - public void removeMasterDocumentRange(int offsetInMaster, int lengthInMaster) throws BadLocationException { - IRegion[] fragments= computeProjectedMasterRegions(offsetInMaster, lengthInMaster); - if (fragments == null || fragments.length == 0) - return; - - for (int i= 0; i < fragments.length; i++) { - IRegion fragment= fragments[i]; - internalRemoveMasterDocumentRange(fragment.getOffset(), fragment.getLength()); - } - } - - /** - * Returns the sequence of all master document regions with are contained in the given master document - * range and which are part of this projection document. May return <code>null</code> if no such - * regions exist. - * - * @param offsetInMaster the range offset in the master document - * @param lengthInMaster the range length in the master document - * @return the sequence of regions which are part of the projection document or <code>null</code> - * @throws BadLocationException in case the given range is invalid in the master document - */ - final public IRegion[] computeProjectedMasterRegions(int offsetInMaster, int lengthInMaster) throws BadLocationException { - IRegion imageRegion= fMapping.toImageRegion(new Region(offsetInMaster, lengthInMaster)); - if (imageRegion != null) - return fMapping.toExactOriginRegions(imageRegion); - return null; - } - - /** - * Returns whether this project is being updated. - * - * @return <code>true</code> if the document is updating - */ - protected boolean isUpdating() { - return fIsUpdating; - } - - /* - * @see org.eclipse.jface.text.IDocument#replace(int, int, java.lang.String) - */ - public void replace(int offset, int length, String text) throws BadLocationException { - try { - fIsUpdating= true; - if (fMasterDocumentExtension != null) - fMasterDocumentExtension.stopPostNotificationProcessing(); - - super.replace(offset, length, text); - - } finally { - fIsUpdating= false; - if (fMasterDocumentExtension != null) - fMasterDocumentExtension.resumePostNotificationProcessing(); - } - } - - /* - * @see org.eclipse.jface.text.IDocument#set(java.lang.String) - */ - public void set(String text) { - try { - fIsUpdating= true; - if (fMasterDocumentExtension != null) - fMasterDocumentExtension.stopPostNotificationProcessing(); - - super.set(text); - - } finally { - fIsUpdating= false; - if (fMasterDocumentExtension != null) - fMasterDocumentExtension.resumePostNotificationProcessing(); - } - } - - /** - * Transforms a document event of the master document into a projection - * document based document event. - * - * @param masterEvent the master document event - * @return the slave document event - * @throws BadLocationException in case the master event is not valid - */ - private ProjectionDocumentEvent normalize(DocumentEvent masterEvent) throws BadLocationException { - if (!isUpdating()) { - IRegion imageRegion= fMapping.toExactImageRegion(new Region(masterEvent.getOffset(), masterEvent.getLength())); - if (imageRegion != null) - return new ProjectionDocumentEvent(this, imageRegion.getOffset(), imageRegion.getLength(), masterEvent.getText(), masterEvent); - return null; - } else { - ProjectionDocumentEvent event= new ProjectionDocumentEvent(this, fOriginalEvent.getOffset(), fOriginalEvent.getLength(), fOriginalEvent.getText(), masterEvent); - fOriginalEvent= null; - return event; - } - } - - private boolean includes(IRegion region, int offset) { - if (region == null) - return false; - return region.getOffset() <= offset && offset <= region.getOffset() + region.getLength(); - } - - private boolean includes(IRegion region1, int offset, int length) { - if (region1 == null) - return false; - return region1.getOffset() <= offset && (offset + length <= region1.getOffset() + region1.getLength()); - } - - /** - * Compute the gaps that must be covered in order to ensure that the range affected - * by the given document event is completely projected. - * - * @param event the master document event - * @return the gaps to be covered - */ - private IRegion[] computeCoverageGap(DocumentEvent event) { - - IRegion left= null; - List gaps= new ArrayList(); - - try { - // deal with the beginning of the event region - int imageOffset= fMapping.toImageOffset(event.getOffset()); - if (imageOffset == -1) { - Position[] fragments= getFragments(); - int index= fMasterDocument.computeIndexInCategory(fFragmentsCategory, event.getOffset()); - if (index < fragments.length) { - Fragment fragment= (Fragment) fragments[index]; - left= new Region(event.getOffset(), fragment.getOffset() - event.getOffset()); - gaps.add(left); - } - } - - // the event itself - if (!includes(left, event.getOffset(), event.getLength())) - gaps.add(new Region(event.getOffset(), event.getLength())); - - // deal with the end of the event region - int inclusiveOriginEndOffset= event.getOffset() + Math.max(0, event.getLength() - 1); - int inclusiveImageEndOffset= fMapping.toImageOffset(inclusiveOriginEndOffset); - if (inclusiveImageEndOffset == -1 && !includes(left, inclusiveOriginEndOffset)) { - int index= fMasterDocument.computeIndexInCategory(fFragmentsCategory, inclusiveOriginEndOffset); - if (0 < index) { - Position[] fragments= getFragments(); - Fragment fragment= (Fragment) fragments[index - 1]; - gaps.add(new Region(fragment.getOffset(), inclusiveOriginEndOffset + 1 - fragment.getOffset())); - } - } - - } catch (BadLocationException e) { - internalError(); - } catch (BadPositionCategoryException e) { - internalError(); - } - - IRegion[] result= new IRegion[gaps.size()]; - gaps.toArray(result); - return result; - } - - /** - * Ensures that when the master event effects this projection document, that the whole region described by the - * event is part of this projection document. - * - * @param masterEvent the master document event - * @return <code>true</code> if masterEvent affects this projection document - * @throws BadLocationException in case the master event is not valid - */ - protected final boolean adaptProjectionToMasterChange(DocumentEvent masterEvent) throws BadLocationException { - if (!isUpdating() && fFragmentsUpdater.affectsPositions(masterEvent) || fIsAutoExpanding) { - - IRegion[] gaps= computeCoverageGap(masterEvent); - for (int i= 0; i < gaps.length; i++) { - IRegion gap= gaps[i]; - addMasterDocumentRange(gap.getOffset(), gap.getLength(), masterEvent); - } - return true; - - } else if (fMapping.getImageLength() == 0 && masterEvent.getLength() == 0) { - - Position[] fragments= getFragments(); - if (fragments.length == 0) { - // there is no segment in this projection document, thus one must be created - // need to bypass the usual infrastructure as the new segment/fragment would be of length 0 and thus the segmentation be not well formed - try { - Fragment fragment= new Fragment(0, 0); - fMasterDocument.addPosition(fFragmentsCategory, fragment); - createSegmentFor(fragment, 0); - } catch (BadPositionCategoryException x) { - internalError(); - } - } - } - - return isUpdating(); - } - - /** - * When called, this projection document is informed about a forthcoming - * change of its master document. This projection document checks whether - * the master document change affects it and if so informs all document - * listeners. - * - * @param masterEvent the master document event - */ - public void masterDocumentAboutToBeChanged(DocumentEvent masterEvent) { - try { - - boolean assertNotNull= adaptProjectionToMasterChange(masterEvent); - fSlaveEvent= normalize(masterEvent); - if (assertNotNull && fSlaveEvent == null) - internalError(); - - fMasterEvent= masterEvent; - if (fSlaveEvent != null) - delayedFireDocumentAboutToBeChanged(); - - } catch (BadLocationException e) { - internalError(); - } - } - - /** - * When called, this projection document is informed about a change of its - * master document. If this projection document is affected it informs all - * of its document listeners. - * - * @param masterEvent the master document event - */ - public void masterDocumentChanged(DocumentEvent masterEvent) { - if ( !isUpdating() && masterEvent == fMasterEvent) { - if (fSlaveEvent != null) { - try { - getTracker().replace(fSlaveEvent.getOffset(), fSlaveEvent.getLength(), fSlaveEvent.getText()); - fireDocumentChanged(fSlaveEvent); - } catch (BadLocationException e) { - internalError(); - } - } else if (ensureWellFormedSegmentation(masterEvent.getOffset())) - fMapping.projectionChanged(); - } - } - - /* - * @see org.eclipse.jface.text.AbstractDocument#fireDocumentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent) - */ - protected void fireDocumentAboutToBeChanged(DocumentEvent event) { - fOriginalEvent= event; - // delay it until there is a notification from the master document - // at this point, it is expensive to construct the master document information - } - - /** - * Fires the slave document event as about-to-be-changed event to all registered listeners. - */ - private void delayedFireDocumentAboutToBeChanged() { - super.fireDocumentAboutToBeChanged(fSlaveEvent); - } - - /** - * Ignores the given event and sends the semantically equal slave document event instead. - * - * @param event the event to be ignored - */ - protected void fireDocumentChanged(DocumentEvent event) { - super.fireDocumentChanged(fSlaveEvent); - } - - /* - * @see org.eclipse.jface.text.AbstractDocument#updateDocumentStructures(org.eclipse.jface.text.DocumentEvent) - */ - protected void updateDocumentStructures(DocumentEvent event) { - super.updateDocumentStructures(event); - ensureWellFormedSegmentation(computeAnchor(event)); - fMapping.projectionChanged(); - } - - private int computeAnchor(DocumentEvent event) { - if (event instanceof ProjectionDocumentEvent) { - ProjectionDocumentEvent slave= (ProjectionDocumentEvent) event; - if (ProjectionDocumentEvent.CONTENT_CHANGE == slave.getChangeType()) { - DocumentEvent master= slave.getMasterEvent(); - if (master != null) - return master.getOffset(); - } - } - return -1; - } - - private boolean ensureWellFormedSegmentation(int anchorOffset) { - boolean changed= false; - Position[] segments= getSegments(); - for (int i= 0; i < segments.length; i++) { - Segment segment= (Segment) segments[i]; - if (segment.isDeleted() || segment.getLength() == 0) { - try { - removePosition(fSegmentsCategory, segment); - fMasterDocument.removePosition(fFragmentsCategory, segment.fragment); - changed= true; - } catch (BadPositionCategoryException e) { - internalError(); - } - } else if (i < segments.length - 1) { - Segment next= (Segment) segments[i + 1]; - if (next.isDeleted() || next.getLength() == 0) - continue; - Fragment fragment= segment.fragment; - if (fragment.getOffset() + fragment.getLength() == next.fragment.getOffset()) { - // join fragments and their corresponding segments - segment.setLength(segment.getLength() + next.getLength()); - fragment.setLength(fragment.getLength() + next.fragment.getLength()); - next.delete(); - } - } - } - - if (changed && anchorOffset != -1) { - Position[] changedSegments= getSegments(); - if (changedSegments == null || changedSegments.length == 0) { - Fragment fragment= new Fragment(anchorOffset, 0); - try { - fMasterDocument.addPosition(fFragmentsCategory, fragment); - createSegmentFor(fragment, 0); - } catch (BadLocationException e) { - internalError(); - } catch (BadPositionCategoryException e) { - internalError(); - } - } - } - - return changed; - } - - /* - * @see IDocumentExtension#registerPostNotificationReplace(IDocumentListener, IDocumentExtension.IReplace) - */ - public void registerPostNotificationReplace(IDocumentListener owner, IDocumentExtension.IReplace replace) { - if (!isUpdating()) - throw new UnsupportedOperationException(); - super.registerPostNotificationReplace(owner, replace); - } - - /** - * Sets the auto expand mode for this document. - * - * @param autoExpandMode <code>true</code> if auto-expanding - */ - public void setAutoExpandMode(boolean autoExpandMode) { - fIsAutoExpanding= autoExpandMode; - } - - /** - * Replaces all master document ranges with the given master document range. - * - * @param offsetInMaster the offset in the master document - * @param lengthInMaster the length in the master document - * @throws BadLocationException if the given range of the master document is not valid - */ - public void replaceMasterDocumentRanges(int offsetInMaster, int lengthInMaster) throws BadLocationException { - try { - - ProjectionDocumentEvent event= new ProjectionDocumentEvent(this, 0, fMapping.getImageLength(), fMasterDocument.get(offsetInMaster, lengthInMaster), offsetInMaster, lengthInMaster); - super.fireDocumentAboutToBeChanged(event); - - Position[] fragments= getFragments(); - for (int i= 0; i < fragments.length; i++) { - Fragment fragment= (Fragment) fragments[i]; - fMasterDocument.removePosition(fFragmentsCategory, fragment); - removePosition(fSegmentsCategory, fragment.segment); - } - - Fragment fragment= new Fragment(offsetInMaster, lengthInMaster); - Segment segment= new Segment(0, 0); - segment.fragment= fragment; - fragment.segment= segment; - fMasterDocument.addPosition(fFragmentsCategory, fragment); - addPosition(fSegmentsCategory, segment); - - getTracker().set(fMasterDocument.get(offsetInMaster, lengthInMaster)); - super.fireDocumentChanged(event); - - } catch (BadPositionCategoryException x) { - internalError(); - } - } -} diff --git a/org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionDocumentEvent.java b/org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionDocumentEvent.java deleted file mode 100644 index 79125c9823a..00000000000 --- a/org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionDocumentEvent.java +++ /dev/null @@ -1,137 +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 org.eclipse.jface.text.projection; - - -import org.eclipse.jface.text.DocumentEvent; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.SlaveDocumentEvent; - - -/** - * This event is sent out by an - * {@link org.eclipse.jface.text.projection.ProjectionDocument}when it is - * manipulated. The manipulation is either a content manipulation or a change of - * the projection between the master and the slave. Clients can determine the - * type of change by asking the projection document event for its change type - * (see {@link #getChangeType()}) and comparing it with the predefined types - * {@link #PROJECTION_CHANGE}and {@link #CONTENT_CHANGE}. - * <p> - * Clients are not supposed to create instances of this class. Instances are - * created by {@link org.eclipse.jface.text.projection.ProjectionDocument} - * instances. This class is not intended to be subclassed. - * - * @since 3.0 - */ -public class ProjectionDocumentEvent extends SlaveDocumentEvent { - - /** The change type indicating a projection change */ - public final static Object PROJECTION_CHANGE= new Object(); - /** The change type indicating a content change */ - public final static Object CONTENT_CHANGE= new Object(); - - /** The change type */ - private Object fChangeType; - /** The offset of the change in the master document */ - private int fMasterOffset= -1; - /** The length of the change in the master document */ - private int fMasterLength= -1; - - /** - * Creates a new content change event caused by the given master document - * change. Instances created using this constructor return <code>-1</code> - * when calling <code>getMasterOffset</code> or - * <code>getMasterLength</code>. This information can be obtained by - * accessing the master event. - * - * @param doc the changed projection document - * @param offset the offset in the projection document - * @param length the length in the projection document - * @param text the replacement text - * @param masterEvent the original master event - */ - public ProjectionDocumentEvent(IDocument doc, int offset, int length, String text, DocumentEvent masterEvent) { - super(doc, offset, length, text, masterEvent); - fChangeType= CONTENT_CHANGE; - } - - /** - * Creates a new projection change event for the given properties. Instances - * created with this constructor return the given master document offset and - * length but do not have an associated master document event. - * - * @param doc the projection document - * @param offset the offset in the projection document - * @param length the length in the projection document - * @param text the replacement text - * @param masterOffset the offset in the master document - * @param masterLength the length in the master document - */ - public ProjectionDocumentEvent(IDocument doc, int offset, int length, String text, int masterOffset, int masterLength) { - super(doc, offset, length, text, null); - fChangeType= PROJECTION_CHANGE; - fMasterOffset= masterOffset; - fMasterLength= masterLength; - } - - /** - * Creates a new projection document event for the given properties. The - * projection change is caused by a manipulation of the master document. In - * order to accommodate the master document change, the projection document - * had to change the projection. Instances created with this constructor - * return the given master document offset and length and also have an - * associated master document event. - * - * @param doc the projection document - * @param offset the offset in the projection document - * @param length the length in the projection document - * @param text the replacement text - * @param masterOffset the offset in the master document - * @param masterLength the length in the master document - * @param masterEvent the master document event - */ - public ProjectionDocumentEvent(IDocument doc, int offset, int length, String text, int masterOffset, int masterLength, DocumentEvent masterEvent) { - super(doc, offset, length, text, masterEvent); - fChangeType= PROJECTION_CHANGE; - fMasterOffset= masterOffset; - fMasterLength= masterLength; - } - - /** - * Returns the change type of this event. This is either {@link #PROJECTION_CHANGE} or - * {@link #CONTENT_CHANGE}. - * - * @return the change type of this event - */ - public Object getChangeType() { - return fChangeType; - } - - /** - * Returns the offset of the master document range that has been added or removed in case this - * event describes a projection change, otherwise it returns <code>-1</code>. - * - * @return the master document offset of the projection change or <code>-1</code> - */ - public int getMasterOffset() { - return fMasterOffset; - } - - /** - * Returns the length of the master document range that has been added or removed in case this event - * describes a projection changed, otherwise <code>-1</code>. - * - * @return the master document length of the projection change or <code>-1</code> - */ - public int getMasterLength() { - return fMasterLength; - } -} diff --git a/org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionDocumentManager.java b/org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionDocumentManager.java deleted file mode 100644 index 4fe4c6a2ca6..00000000000 --- a/org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionDocumentManager.java +++ /dev/null @@ -1,223 +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 org.eclipse.jface.text.projection; - - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.jface.text.DocumentEvent; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IDocumentInformationMapping; -import org.eclipse.jface.text.IDocumentListener; -import org.eclipse.jface.text.ISlaveDocumentManager; -import org.eclipse.jface.text.ISlaveDocumentManagerExtension; - - -/** - * A <code>ProjectionDocumentManager</code> is one particular implementation - * of {@link org.eclipse.jface.text.ISlaveDocumentManager}. This manager - * creates so called projection documents (see - * {@link org.eclipse.jface.text.projection.ProjectionDocument}as slave - * documents for given master documents. - * <p> - * A projection document represents a particular projection of the master - * document and is accordingly adapted to changes of the master document. Vice - * versa, the master document is accordingly adapted to changes of its slave - * documents. The manager does not maintain any particular management structure - * but utilizes mechanisms given by {@link org.eclipse.jface.text.IDocument} - * such as position categories and position updaters. - * <p> - * Clients can instantiate this class. This class is not intended to be - * subclassed. - * - * @since 3.0 - */ -public class ProjectionDocumentManager implements IDocumentListener, ISlaveDocumentManager, ISlaveDocumentManagerExtension { - - /** Registry for master documents and their projection documents. */ - private Map fProjectionRegistry= new HashMap(); - - /** - * Registers the given projection document for the given master document. - * - * @param master the master document - * @param projection the projection document - */ - private void add(IDocument master, ProjectionDocument projection) { - List list= (List) fProjectionRegistry.get(master); - if (list == null) { - list= new ArrayList(1); - fProjectionRegistry.put(master, list); - } - list.add(projection); - } - - /** - * Unregisters the given projection document from its master. - * - * @param master the master document - * @param projection the projection document - */ - private void remove(IDocument master, ProjectionDocument projection) { - List list= (List) fProjectionRegistry.get(master); - if (list != null) { - list.remove(projection); - if (list.size() == 0) - fProjectionRegistry.remove(master); - } - } - - /** - * Returns whether the given document is a master document. - * - * @param master the document - * @return <code>true</code> if the given document is a master document known to this manager - */ - private boolean hasProjection(IDocument master) { - return (fProjectionRegistry.get(master) instanceof List); - } - - /** - * Returns an iterator enumerating all projection documents registered for the given document or - * <code>null</code> if the document is not a known master document. - * - * @param master the document - * @return an iterator for all registered projection documents or <code>null</code> - */ - private Iterator getProjectionsIterator(IDocument master) { - List list= (List) fProjectionRegistry.get(master); - if (list != null) - return list.iterator(); - return null; - } - - /** - * Informs all projection documents of the master document that issued the given document event. - * - * @param about indicates whether the change is about to happen or happened already - * @param masterEvent the document event which will be processed to inform the projection documents - */ - protected void fireDocumentEvent(boolean about, DocumentEvent masterEvent) { - IDocument master= masterEvent.getDocument(); - Iterator e= getProjectionsIterator(master); - if (e == null) - return; - - while (e.hasNext()) { - ProjectionDocument document= (ProjectionDocument) e.next(); - if (about) - document.masterDocumentAboutToBeChanged(masterEvent); - else - document.masterDocumentChanged(masterEvent); - } - } - - /* - * @see org.eclipse.jface.text.IDocumentListener#documentChanged(org.eclipse.jface.text.DocumentEvent) - */ - public void documentChanged(DocumentEvent event) { - fireDocumentEvent(false, event); - } - - /* - * @see org.eclipse.jface.text.IDocumentListener#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent) - */ - public void documentAboutToBeChanged(DocumentEvent event) { - fireDocumentEvent(true, event); - } - - /* - * @see org.eclipse.jface.text.ISlaveDocumentManager#createMasterSlaveMapping(org.eclipse.jface.text.IDocument) - */ - public IDocumentInformationMapping createMasterSlaveMapping(IDocument slave) { - if (slave instanceof ProjectionDocument) { - ProjectionDocument projectionDocument= (ProjectionDocument) slave; - return projectionDocument.getProjectionMapping(); - } - return null; - } - - /* - * @see org.eclipse.jface.text.ISlaveDocumentManager#createSlaveDocument(org.eclipse.jface.text.IDocument) - */ - public IDocument createSlaveDocument(IDocument master) { - if (!hasProjection(master)) - master.addDocumentListener(this); - ProjectionDocument slave= createProjectionDocument(master); - add(master, slave); - return slave; - } - - /** - * Factory method for projection documents. - * - * @param master the master document - * @return the newly created projection document - */ - protected ProjectionDocument createProjectionDocument(IDocument master) { - return new ProjectionDocument(master); - } - - /* - * @see org.eclipse.jface.text.ISlaveDocumentManager#freeSlaveDocument(org.eclipse.jface.text.IDocument) - */ - public void freeSlaveDocument(IDocument slave) { - if (slave instanceof ProjectionDocument) { - ProjectionDocument projectionDocument= (ProjectionDocument) slave; - IDocument master= projectionDocument.getMasterDocument(); - remove(master, projectionDocument); - projectionDocument.dispose(); - if (!hasProjection(master)) - master.removeDocumentListener(this); - } - } - - /* - * @see org.eclipse.jface.text.ISlaveDocumentManager#getMasterDocument(org.eclipse.jface.text.IDocument) - */ - public IDocument getMasterDocument(IDocument slave) { - if (slave instanceof ProjectionDocument) - return ((ProjectionDocument) slave).getMasterDocument(); - return null; - } - - /* - * @see org.eclipse.jface.text.ISlaveDocumentManager#isSlaveDocument(org.eclipse.jface.text.IDocument) - */ - public boolean isSlaveDocument(IDocument document) { - return (document instanceof ProjectionDocument); - } - - /* - * @see org.eclipse.jface.text.ISlaveDocumentManager#setAutoExpandMode(org.eclipse.jface.text.IDocument, boolean) - */ - public void setAutoExpandMode(IDocument slave, boolean autoExpanding) { - if (slave instanceof ProjectionDocument) - ((ProjectionDocument) slave).setAutoExpandMode(autoExpanding); - } - - /* - * @see org.eclipse.jface.text.ISlaveDocumentManagerExtension#getSlaveDocuments(org.eclipse.jface.text.IDocument) - */ - public IDocument[] getSlaveDocuments(IDocument master) { - List list= (List) fProjectionRegistry.get(master); - if (list != null) { - IDocument[] result= new IDocument[list.size()]; - list.toArray(result); - return result; - } - return null; - } -} diff --git a/org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionMapping.java b/org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionMapping.java deleted file mode 100644 index ede2945c699..00000000000 --- a/org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionMapping.java +++ /dev/null @@ -1,626 +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 org.eclipse.jface.text.projection; - - -import org.eclipse.jface.text.Assert; -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.BadPositionCategoryException; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IDocumentInformationMapping; -import org.eclipse.jface.text.IDocumentInformationMappingExtension; -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.Position; -import org.eclipse.jface.text.Region; - - -/** - * Internal class. Do not use. Only public for testing purposes. - * <p> - * Implementation of {@link org.eclipse.jface.text.IDocumentInformationMapping} - * for the projection mapping between a master and a slave document. - * - * @since 3.0 - */ -public class ProjectionMapping implements IDocumentInformationMapping , IDocumentInformationMappingExtension, IMinimalMapping { - - private static final int LEFT= -1; - private static final int NONE= 0; - private static final int RIGHT= +1; - - /** The master document */ - private IDocument fMasterDocument; - /** The position category used to manage the projection fragments inside the master document */ - private String fFragmentsCategory; - /** The projection document */ - private IDocument fSlaveDocument; - /** The position category to manage the projection segments inside the slave document. */ - private String fSegmentsCategory; - /** Cached segments */ - private Position[] fCachedSegments; - /** Cached fragments */ - private Position[] fCachedFragments; - /** Thread local indices */ - private static ThreadLocal sfIndices= new ThreadLocal() { - protected Object initialValue() { - return new int[2]; - } - }; - - - /** - * Creates a new mapping between the given parent document and the given projection document. - * - * @param masterDocument the master document - * @param fragmentsCategory the position category of the parent document used to manage the projected regions - * @param slaveDocument the slave document - * @param segmentsCategory the position category of the projection document used to manage the fragments - */ - public ProjectionMapping(IDocument masterDocument, String fragmentsCategory, IDocument slaveDocument, String segmentsCategory) { - fMasterDocument= masterDocument; - fFragmentsCategory= fragmentsCategory; - fSlaveDocument= slaveDocument; - fSegmentsCategory= segmentsCategory; - } - - /** - * Notifies this projection mapping that there was a projection change. - */ - public void projectionChanged() { - fCachedSegments= null; - fCachedFragments= null; - } - - private Position[] getSegments() { - if (fCachedSegments == null) { - try { - fCachedSegments= fSlaveDocument.getPositions(fSegmentsCategory); - } catch (BadPositionCategoryException e) { - return new Position[0]; - } - } - return fCachedSegments; - } - - private Position[] getFragments() { - if (fCachedFragments == null) { - try { - fCachedFragments= fMasterDocument.getPositions(fFragmentsCategory); - } catch (BadPositionCategoryException e) { - return new Position[0]; - } - } - return fCachedFragments; - } - - private int findSegmentIndex(int offset) throws BadLocationException { - Position[] segments= getSegments(); - if (segments.length == 0) { - if (offset > 0) - throw new BadLocationException(); - return -1; - } - - try { - int index= fSlaveDocument.computeIndexInCategory(fSegmentsCategory, offset); - if (index == segments.length && offset > (segments[index-1].offset + segments[index-1].length)) - throw new BadLocationException(); - - if (index < segments.length && offset == segments[index].offset) - return index; - - if (index > 0) - index--; - - return index; - - } catch (BadPositionCategoryException e) { - throw new IllegalStateException(); - } - } - - private Segment findSegment(int offset) throws BadLocationException { - - if (offset < 0 || getImageLength() < offset) - throw new BadLocationException(); - - int index= findSegmentIndex(offset); - if (index == -1) { - - Segment s= new Segment(0, 0); - Fragment f= new Fragment(0, 0); - s.fragment= f; - f.segment= s; - return s; - } - - Position[] segments= getSegments(); - return (Segment) segments[index]; - } - - private int findFragmentIndex(int offset, int extensionDirection) throws BadLocationException { - try { - - Position[] fragments= getFragments(); - if (fragments.length == 0) - return -1; - - int index= fMasterDocument.computeIndexInCategory(fFragmentsCategory, offset); - - if (index < fragments.length && offset == fragments[index].offset) - return index; - - if (0 < index && index <= fragments.length && fragments[index - 1].includes(offset)) - return index - 1; - - switch(extensionDirection) { - case LEFT: - return Math.max(index - 1, 0); - case RIGHT: - return Math.min(index, fragments.length - 1); - } - - return -1; - - } catch (BadPositionCategoryException e) { - throw new IllegalStateException(); - } - } - - private Fragment findFragment(int offset) throws BadLocationException { - - int length= fMasterDocument.getLength(); - if (offset < 0 || length < offset) - throw new BadLocationException(); - - int index= findFragmentIndex(offset, NONE); - Position[] fragments= getFragments(); - if (index == -1) { - if (fragments.length > 0) { - Fragment last= (Fragment) fragments[fragments.length - 1]; - if (last.getOffset() + last.getLength() == offset) - return last; - } - return null; - } - return (Fragment) fragments[index]; - } - - private void findFragmentIndices(IRegion region, boolean exact, int[] result) throws BadLocationException { - int offset= region.getOffset(); - if (offset < 0 || fMasterDocument.getLength() < offset) - throw new BadLocationException(); - - int inclusiveEndOffset= region.getOffset() + region.getLength() - 1; - if (inclusiveEndOffset < 0 || fMasterDocument.getLength() < inclusiveEndOffset) - throw new BadLocationException(); - - int startIndex= findFragmentIndex(offset, exact ? NONE : LEFT); - if (startIndex == -1) { - result[0]= -1; - return; - } - - int endIndex= findFragmentIndex(inclusiveEndOffset, exact ? NONE : RIGHT); - if (endIndex == -1) { - result[0]= -1; - return; - } - - Position[] fragments= getFragments(); - while (startIndex <= endIndex && !fragments[startIndex].overlapsWith(region.getOffset(), region.getLength())) - ++startIndex; - - while (endIndex >= startIndex && !fragments[endIndex].overlapsWith(region.getOffset(), region.getLength())) - --endIndex; - - if (startIndex > endIndex) { - result[0]= -1; - return; - } - - result[0]= startIndex; - result[1]= endIndex; - } - - private IRegion toImageRegion(IRegion originRegion, boolean exact) throws BadLocationException { - if (originRegion.getLength() == 0) { - int imageOffset= toImageOffset(originRegion.getOffset()); - return imageOffset == -1 ? null : new Region(imageOffset, 0); - } - - int[] indices= (int[]) sfIndices.get(); - findFragmentIndices(originRegion, exact, indices); - if (indices[0] >= 0) { - - Position[] fragments= getFragments(); - - // translate start offset - Fragment fragment= (Fragment) fragments[indices[0]]; - int originOffset= originRegion.getOffset(); - int relative= originOffset - fragment.getOffset(); - if (relative < 0) { - Assert.isTrue(!exact); - relative= 0; - } - int imageOffset= fragment.segment.getOffset() + relative; - - // translate end offset - fragment= (Fragment) fragments[indices[1]]; - int exclusiveOriginEndOffset= originRegion.getOffset() + originRegion.getLength(); - relative= exclusiveOriginEndOffset - fragment.getOffset(); - if (relative > fragment.getLength()) { - Assert.isTrue(!exact); - int delta= relative - fragment.getLength(); - relative -= delta; - } - int exclusiveImageEndOffset= fragment.segment.getOffset() + relative; - - return new Region(imageOffset, exclusiveImageEndOffset - imageOffset); - } - - return null; - } - - private IRegion createOriginStartRegion(Segment image, int offsetShift) { - return new Region(image.fragment.getOffset() + offsetShift, image.fragment.getLength() - offsetShift); - } - - private IRegion createOriginRegion(Segment image) { - return new Region(image.fragment.getOffset(), image.fragment.getLength()); - } - - private IRegion createOriginEndRegion(Segment image, int lengthReduction) { - return new Region(image.fragment.getOffset(), image.fragment.getLength() - lengthReduction); - } - - private IRegion createImageStartRegion(Fragment origin, int offsetShift) { - int shift= offsetShift > 0 ? offsetShift : 0; - return new Region(origin.segment.getOffset() + shift, origin.segment.getLength() - shift); - } - - private IRegion createImageRegion(Fragment origin) { - return new Region(origin.segment.getOffset(), origin.segment.getLength()); - } - - private IRegion createImageEndRegion(Fragment origin, int lengthReduction) { - int reduction= lengthReduction > 0 ? lengthReduction : 0; - return new Region(origin.segment.getOffset(), origin.segment.getLength() - reduction); - } - - private IRegion createOriginStartRegion(Fragment origin, int offsetShift) { - int shift= offsetShift > 0 ? offsetShift : 0; - return new Region(origin.getOffset() + shift, origin.getLength() - shift); - } - - private IRegion createOriginRegion(Fragment origin) { - return new Region(origin.getOffset(), origin.getLength()); - } - - private IRegion createOriginEndRegion(Fragment origin, int lengthReduction) { - int reduction= lengthReduction > 0 ? lengthReduction : 0; - return new Region(origin.getOffset(), origin.getLength() - reduction); - } - - private IRegion getIntersectingRegion(IRegion left, IRegion right) { - int offset= Math.max(left.getOffset(), right.getOffset()); - int exclusiveEndOffset= Math.min(left.getOffset() + left.getLength(), right.getOffset() + right.getLength()); - if (exclusiveEndOffset < offset) - return null; - return new Region(offset, exclusiveEndOffset - offset); - } - - /* - * @see org.eclipse.jface.text.IDocumentInformationMapping#getCoverage() - */ - public IRegion getCoverage() { - Position[] fragments= getFragments(); - if (fragments != null && fragments.length > 0) { - Position first=fragments[0]; - Position last= fragments[fragments.length -1]; - return new Region(first.offset, (last.offset + last.length) - first.offset); - } - return new Region(0, 0); - } - - /* - * @see org.eclipse.jface.text.IDocumentInformationMapping#toOriginOffset(int) - */ - public int toOriginOffset(int imageOffset) throws BadLocationException { - Segment segment= findSegment(imageOffset); - int relative= imageOffset - segment.offset; - return segment.fragment.offset + relative; - } - - /* - * @see org.eclipse.jface.text.IDocumentInformationMapping#toOriginRegion(org.eclipse.jface.text.IRegion) - */ - public IRegion toOriginRegion(IRegion imageRegion) throws BadLocationException { - int imageOffset= imageRegion.getOffset(); - int imageLength= imageRegion.getLength(); - - if (imageLength == 0) { - if (imageOffset == 0) { - Position[] fragments= getFragments(); - if (fragments.length == 0 || (fragments.length == 1 && fragments[0].getOffset() == 0 && fragments[0].getLength() == 0)) - return new Region(0, fMasterDocument.getLength()); - } - return new Region(toOriginOffset(imageOffset), 0); - } - - int originOffset= toOriginOffset(imageOffset); - int inclusiveImageEndOffset= imageOffset + imageLength -1; - int inclusiveOriginEndOffset= toOriginOffset(inclusiveImageEndOffset); - - return new Region(originOffset, (inclusiveOriginEndOffset + 1) - originOffset); - } - - /* - * @see org.eclipse.jface.text.IDocumentInformationMapping#toOriginLines(int) - */ - public IRegion toOriginLines(int imageLine) throws BadLocationException { - IRegion imageRegion= fSlaveDocument.getLineInformation(imageLine); - IRegion originRegion= toOriginRegion(imageRegion); - - int originStartLine= fMasterDocument.getLineOfOffset(originRegion.getOffset()); - if (originRegion.getLength() == 0) - return new Region(originStartLine, 1); - - int inclusiveOriginEndOffset= originRegion.getOffset() + originRegion.getLength() -1; - int originEndLine= fMasterDocument.getLineOfOffset(inclusiveOriginEndOffset); - return new Region(originStartLine, (originEndLine + 1) - originStartLine); - } - - /* - * @see org.eclipse.jface.text.IDocumentInformationMapping#toOriginLine(int) - */ - public int toOriginLine(int imageLine) throws BadLocationException { - IRegion lines= toOriginLines(imageLine); - return (lines.getLength() > 1 ? -1 : lines.getOffset()); - } - - /* - * @see org.eclipse.jface.text.IDocumentInformationMapping#toImageOffset(int) - */ - public int toImageOffset(int originOffset) throws BadLocationException { - Fragment fragment= findFragment(originOffset); - if (fragment != null) { - int relative= originOffset - fragment.offset; - return fragment.segment.offset + relative; - } - return -1; - } - - /* - * @see org.eclipse.jface.text.IDocumentInformationMappingExtension#toExactImageRegion(org.eclipse.jface.text.IRegion) - */ - public IRegion toExactImageRegion(IRegion originRegion) throws BadLocationException { - return toImageRegion(originRegion, true); - } - - /* - * @see org.eclipse.jface.text.IDocumentInformationMapping#toImageRegion(org.eclipse.jface.text.IRegion) - */ - public IRegion toImageRegion(IRegion originRegion) throws BadLocationException { - return toImageRegion(originRegion, false); - } - - /* - * @see org.eclipse.jface.text.IDocumentInformationMapping#toImageLine(int) - */ - public int toImageLine(int originLine) throws BadLocationException { - IRegion originRegion= fMasterDocument.getLineInformation(originLine); - IRegion imageRegion= toImageRegion(originRegion); - if (imageRegion == null) { - int imageOffset= toImageOffset(originRegion.getOffset()); - if (imageOffset > -1) - imageRegion= new Region(imageOffset, 0); - else - return -1; - } - - int startLine= fSlaveDocument.getLineOfOffset(imageRegion.getOffset()); - if (imageRegion.getLength() == 0) - return startLine; - - int endLine= fSlaveDocument.getLineOfOffset(imageRegion.getOffset() + imageRegion.getLength()); - if (endLine != startLine) - throw new IllegalStateException(); - - return startLine; - } - - /* - * @see org.eclipse.jface.text.IDocumentInformationMapping#toClosestImageLine(int) - */ - public int toClosestImageLine(int originLine) throws BadLocationException { - try { - - int imageLine= toImageLine(originLine); - if (imageLine > -1) - return imageLine; - - Position[] fragments= getFragments(); - if (fragments.length == 0) - return -1; - - IRegion originLineRegion= fMasterDocument.getLineInformation(originLine); - int index= fMasterDocument.computeIndexInCategory(fFragmentsCategory, originLineRegion.getOffset()); - - if (0 < index && index < fragments.length) { - Fragment left= (Fragment) fragments[index - 1]; - int leftDistance= originLineRegion.getOffset() - (left.getOffset() + left.getLength()); - Fragment right= (Fragment) fragments[index]; - int rightDistance= right.getOffset() - (originLineRegion.getOffset() + originLineRegion.getLength()); - - if (leftDistance <= rightDistance) - originLine= fMasterDocument.getLineOfOffset(left.getOffset() + Math.max(left.getLength() - 1, 0)); - else - originLine= fMasterDocument.getLineOfOffset(right.getOffset()); - - } else if (index == 0) { - Fragment right= (Fragment) fragments[index]; - originLine= fMasterDocument.getLineOfOffset(right.getOffset()); - } else if (index == fragments.length) { - Fragment left= (Fragment) fragments[index - 1]; - originLine= fMasterDocument.getLineOfOffset(left.getOffset() + left.getLength()); - } - - return toImageLine(originLine); - - } catch (BadPositionCategoryException x) { - } - - return -1; - } - - /* - * @see org.eclipse.jface.text.IDocumentInformationMappingExtension#toExactOriginRegions(org.eclipse.jface.text.IRegion) - */ - public IRegion[] toExactOriginRegions(IRegion imageRegion) throws BadLocationException { - - if (imageRegion.getLength() == 0) - return new IRegion[] { new Region(toOriginOffset(imageRegion.getOffset()), 0) }; - - int endOffset= imageRegion.getOffset() + imageRegion.getLength(); - Position[] segments= getSegments(); - int firstIndex= findSegmentIndex(imageRegion.getOffset()); - int lastIndex= findSegmentIndex(endOffset - 1); - - int resultLength= lastIndex - firstIndex + 1; - IRegion[] result= new IRegion[resultLength]; - - // first - result[0]= createOriginStartRegion((Segment) segments[firstIndex], imageRegion.getOffset() - segments[firstIndex].getOffset()); - // middles - for (int i= 1; i < resultLength - 1; i++) - result[i]= createOriginRegion((Segment) segments[firstIndex + i]); - // last - Segment last= (Segment) segments[lastIndex]; - int segmentEndOffset= last.getOffset() + last.getLength(); - IRegion lastRegion= createOriginEndRegion(last, segmentEndOffset - endOffset); - if (resultLength > 1) { - // first != last - result[resultLength - 1]= lastRegion; - } else { - // merge first and last - IRegion intersection= getIntersectingRegion(result[0], lastRegion); - if (intersection == null) - result= new IRegion[0]; - else - result[0]= intersection; - } - - return result; - } - - /* - * @see org.eclipse.jface.text.IDocumentInformationMappingExtension#getImageLength() - */ - public int getImageLength() { - Position[] segments= getSegments(); - int length= 0; - for (int i= 0; i < segments.length; i++) - length += segments[i].length; - return length; - } - - /* - * @see org.eclipse.jface.text.IDocumentInformationMappingExtension#toExactImageRegions(org.eclipse.jface.text.IRegion) - */ - public IRegion[] toExactImageRegions(IRegion originRegion) throws BadLocationException { - - if (originRegion.getLength() == 0) { - int imageOffset= toImageOffset(originRegion.getOffset()); - return imageOffset > -1 ? new IRegion[] { new Region(imageOffset, 0) } : null; - } - - int endOffset= originRegion.getOffset() + originRegion.getLength(); - Position[] fragments= getFragments(); - int firstIndex= findFragmentIndex(originRegion.getOffset(), RIGHT); - int lastIndex= findFragmentIndex(endOffset - 1, LEFT); - - if (firstIndex == -1 || lastIndex == -1 || firstIndex > lastIndex) - return null; - - int resultLength= lastIndex - firstIndex + 1; - IRegion[] result= new IRegion[resultLength]; - - // first - result[0]= createImageStartRegion((Fragment) fragments[firstIndex], originRegion.getOffset() - fragments[firstIndex].getOffset()); - // middles - for (int i= 1; i < resultLength - 1; i++) - result[i]= createImageRegion((Fragment) fragments[firstIndex + i]); - // last - Fragment last= (Fragment) fragments[lastIndex]; - int fragmentEndOffset= last.getOffset() + last.getLength(); - IRegion lastRegion= createImageEndRegion(last, fragmentEndOffset - endOffset); - if (resultLength > 1) { - // first != last - result[resultLength - 1]= lastRegion; - } else { - // merge first and last - IRegion intersection= getIntersectingRegion(result[0], lastRegion); - if (intersection == null) - return null; - result[0]= intersection; - } - - return result; - } - - /* - * @see org.eclipse.jface.text.IDocumentInformationMappingExtension#getExactCoverage(org.eclipse.jface.text.IRegion) - */ - public IRegion[] getExactCoverage(IRegion originRegion) throws BadLocationException { - - int originOffset= originRegion.getOffset(); - int originLength= originRegion.getLength(); - - if (originLength == 0) { - int imageOffset= toImageOffset(originOffset); - return imageOffset > -1 ? new IRegion[] { new Region(originOffset, 0) } : null; - } - - int endOffset= originOffset + originLength; - Position[] fragments= getFragments(); - int firstIndex= findFragmentIndex(originOffset, RIGHT); - int lastIndex= findFragmentIndex(endOffset - 1, LEFT); - - if (firstIndex == -1 || lastIndex == -1 || firstIndex > lastIndex) - return null; - - int resultLength= lastIndex - firstIndex + 1; - IRegion[] result= new IRegion[resultLength]; - - // first - result[0]= createOriginStartRegion((Fragment) fragments[firstIndex], originOffset - fragments[firstIndex].getOffset()); - // middles - for (int i= 1; i < resultLength - 1; i++) - result[i]= createOriginRegion((Fragment) fragments[firstIndex + i]); - // last - Fragment last= (Fragment) fragments[lastIndex]; - int fragmentEndOffset= last.getOffset() + last.getLength(); - IRegion lastRegion= createOriginEndRegion(last, fragmentEndOffset - endOffset); - if (resultLength > 1) { - // first != last - result[resultLength - 1]= lastRegion; - } else { - // merge first and last - IRegion intersection= getIntersectingRegion(result[0], lastRegion); - if (intersection == null) - return null; - result[0]= intersection; - } - - return result; - } -} diff --git a/org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionTextStore.java b/org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionTextStore.java deleted file mode 100644 index 40219ce4cbd..00000000000 --- a/org.eclipse.text/projection/org/eclipse/jface/text/projection/ProjectionTextStore.java +++ /dev/null @@ -1,158 +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 org.eclipse.jface.text.projection; - - -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.ITextStore; -import org.eclipse.jface.text.Region; - - -/** - * A text store representing the projection defined by the given document - * information mapping. - * - * @since 3.0 - */ -class ProjectionTextStore implements ITextStore { - - /** - * Implementation of {@link IRegion} that can be reused - * by setting the offset and the length. - */ - private static class ReusableRegion implements IRegion { - - private int fOffset; - private int fLength; - - /* - * @see org.eclipse.jface.text.IRegion#getLength() - */ - public int getLength() { - return fLength; - } - - /* - * @see org.eclipse.jface.text.IRegion#getOffset() - */ - public int getOffset() { - return fOffset; - } - - /** - * Updates this region. - * - * @param offset the new offset - * @param length the new length - */ - public void update(int offset, int length) { - fOffset= offset; - fLength= length; - } - } - - /** The master document */ - private IDocument fMasterDocument; - /** The document information mapping */ - private IMinimalMapping fMapping; - /** Internal region used for querying the mapping. */ - private ReusableRegion fReusableRegion= new ReusableRegion(); - - - /** - * Creates a new projection text store for the given master document and - * the given document information mapping. - * - * @param masterDocument the master document - * @param mapping the document information mapping - */ - public ProjectionTextStore(IDocument masterDocument, IMinimalMapping mapping) { - fMasterDocument= masterDocument; - fMapping= mapping; - } - - private void internalError() { - throw new IllegalStateException(); - } - - /* - * @see org.eclipse.jface.text.ITextStore#set(java.lang.String) - */ - public void set(String contents) { - - IRegion masterRegion= fMapping.getCoverage(); - if (masterRegion == null) - internalError(); - - try { - fMasterDocument.replace(masterRegion.getOffset(), masterRegion.getLength(), contents); - } catch (BadLocationException e) { - internalError(); - } - } - - /* - * @see org.eclipse.jface.text.ITextStore#replace(int, int, java.lang.String) - */ - public void replace(int offset, int length, String text) { - fReusableRegion.update(offset, length); - try { - IRegion masterRegion= fMapping.toOriginRegion(fReusableRegion); - fMasterDocument.replace(masterRegion.getOffset(), masterRegion.getLength(), text); - } catch (BadLocationException e) { - internalError(); - } - } - - /* - * @see org.eclipse.jface.text.ITextStore#getLength() - */ - public int getLength() { - return fMapping.getImageLength(); - } - - /* - * @see org.eclipse.jface.text.ITextStore#get(int) - */ - public char get(int offset) { - try { - int originOffset= fMapping.toOriginOffset(offset); - return fMasterDocument.getChar(originOffset); - } catch (BadLocationException e) { - internalError(); - } - - // unreachable - return (char) 0; - } - - /* - * @see ITextStore#get(int, int) - */ - public String get(int offset, int length) { - try { - IRegion[] fragments= fMapping.toExactOriginRegions(new Region(offset, length)); - StringBuffer buffer= new StringBuffer(); - for (int i= 0; i < fragments.length; i++) { - IRegion fragment= fragments[i]; - buffer.append(fMasterDocument.get(fragment.getOffset(), fragment.getLength())); - } - return buffer.toString(); - } catch (BadLocationException e) { - internalError(); - } - - // unreachable - return null; - } -} diff --git a/org.eclipse.text/projection/org/eclipse/jface/text/projection/Segment.java b/org.eclipse.text/projection/org/eclipse/jface/text/projection/Segment.java deleted file mode 100644 index 4915c32f69f..00000000000 --- a/org.eclipse.text/projection/org/eclipse/jface/text/projection/Segment.java +++ /dev/null @@ -1,81 +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 org.eclipse.jface.text.projection; - - -import org.eclipse.jface.text.Position; - - -/** - * Internal class. Do not use. Only public for testing purposes. - * <p> - * A segment is the image of a master document fragment in a projection - * document. - * - * @since 3.0 - */ -public class Segment extends Position { - - /** The corresponding fragment for this segment. */ - public Fragment fragment; - /** A flag indicating that the segment updater should stretch this segment when a change happens at its boundaries. */ - public boolean isMarkedForStretch; - /** A flag indicating that the segment updater should shift this segment when a change happends at its boundaries. */ - public boolean isMarkedForShift; - - /** - * Creates a new segment covering the given range. - * - * @param offset the offset of the segment - * @param length the length of the segment - */ - public Segment(int offset, int length) { - super(offset, length); - } - - /** - * Sets the stretching flag. - */ - public void markForStretch() { - isMarkedForStretch= true; - } - - /** - * Returns <code>true</code> if the stretching flag is set, <code>false</code> otherwise. - * @return <code>true</code> if the stretching flag is set, <code>false</code> otherwise - */ - public boolean isMarkedForStretch() { - return isMarkedForStretch; - } - - /** - * Sets the shifting flag. - */ - public void markForShift() { - isMarkedForShift= true; - } - - /** - * Returns <code>true</code> if the shifting flag is set, <code>false</code> otherwise. - * @return <code>true</code> if the shifting flag is set, <code>false</code> otherwise - */ - public boolean isMarkedForShift() { - return isMarkedForShift; - } - - /** - * Clears the shifting and the streching flag. - */ - public void clearMark() { - isMarkedForStretch= false; - isMarkedForShift= false; - } -} diff --git a/org.eclipse.text/projection/org/eclipse/jface/text/projection/SegmentUpdater.java b/org.eclipse.text/projection/org/eclipse/jface/text/projection/SegmentUpdater.java deleted file mode 100644 index f4c415b7ebc..00000000000 --- a/org.eclipse.text/projection/org/eclipse/jface/text/projection/SegmentUpdater.java +++ /dev/null @@ -1,128 +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 org.eclipse.jface.text.projection; - - -import org.eclipse.jface.text.Assert; -import org.eclipse.jface.text.BadPositionCategoryException; -import org.eclipse.jface.text.DefaultPositionUpdater; -import org.eclipse.jface.text.DocumentEvent; -import org.eclipse.jface.text.Position; - - -/** - * The position updater used to adapt the segments of a projection document to - * changes of the master document. Depending on the flags set on a segment, a - * segment is either extended to shifted if an insertion happens at a segment's - * offset. The last segment is extended if an insert operation happens at the - * end of the segment. - * - * @since 3.0 - */ -class SegmentUpdater extends DefaultPositionUpdater { - - private Segment fNextSegment= null; - private boolean fIsProjectionChange= false; - - /** - * Creates the segment updater for the given category. - * - * @param segmentCategory the position category used for managing the segments of a projection document - */ - protected SegmentUpdater(String segmentCategory) { - super(segmentCategory); - } - - /* - * @see org.eclipse.jface.text.IPositionUpdater#update(org.eclipse.jface.text.DocumentEvent) - */ - public void update(DocumentEvent event) { - - Assert.isTrue(event instanceof ProjectionDocumentEvent); - fIsProjectionChange= ((ProjectionDocumentEvent) event).getChangeType() == ProjectionDocumentEvent.PROJECTION_CHANGE; - - try { - - Position[] category= event.getDocument().getPositions(getCategory()); - - fOffset= event.getOffset(); - fLength= event.getLength(); - fReplaceLength= (event.getText() == null ? 0 : event.getText().length()); - fDocument= event.getDocument(); - - for (int i= 0; i < category.length; i++) { - - fPosition= category[i]; - Assert.isTrue(fPosition instanceof Segment); - - if (i < category.length - 1) - fNextSegment= (Segment) category[i + 1]; - else - fNextSegment= null; - - fOriginalPosition.offset= fPosition.offset; - fOriginalPosition.length= fPosition.length; - - if (notDeleted()) - adaptToReplace(); - - } - - } catch (BadPositionCategoryException x) { - // do nothing - } - } - - /* - * @see org.eclipse.jface.text.DefaultPositionUpdater#adaptToInsert() - */ - protected void adaptToInsert() { - - Segment segment= (Segment) fPosition; - int myStart= segment.offset; - int myEnd= segment.offset + segment.length - (segment.isMarkedForStretch || fNextSegment == null || isAffectingReplace() ? 0 : 1); - myEnd= Math.max(myStart, myEnd); - int yoursStart= fOffset; - - try { - - if (myEnd < yoursStart) - return; - - if (segment.isMarkedForStretch) { - Assert.isTrue(fIsProjectionChange); - segment.isMarkedForShift= false; - if (fNextSegment != null) { - fNextSegment.isMarkedForShift= true; - fNextSegment.isMarkedForStretch= false; - } - } - - if (fLength <= 0) { - - if (myStart < (yoursStart + (segment.isMarkedForShift ? 0 : 1))) - fPosition.length += fReplaceLength; - else - fPosition.offset += fReplaceLength; - - } else { - - if (myStart <= yoursStart && fOriginalPosition.offset <= yoursStart) - fPosition.length += fReplaceLength; - else - fPosition.offset += fReplaceLength; - } - - } finally { - segment.clearMark(); - } - } -} diff --git a/org.eclipse.text/projection/org/eclipse/jface/text/projection/package.html b/org.eclipse.text/projection/org/eclipse/jface/text/projection/package.html deleted file mode 100644 index 1d60a7a2a6b..00000000000 --- a/org.eclipse.text/projection/org/eclipse/jface/text/projection/package.html +++ /dev/null @@ -1,23 +0,0 @@ -<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> -<html><head> - <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> - <meta content="IBM" name="Author"> - <meta content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]" name="GENERATOR"><title>projections</title></head> - -<body> -<p>This package provides an implementation of projection documents. Projection - is a specific master/slave mapping. Non-overlapping fragments if a master document - form the segments of a slave document. The slave document is completely built - out of segments, i.e. there are no gaps between two neighboring segments. The - segments have exactly the same sequence in which they apprear as fragments in - the master document.</p> -<h3>Package Specification</h3> -<p><tt>ProjectionDocument</tt> is custom - <tt>IDocument</tt> implementation that - uses a <tt>ProjectionTextStore. </tt>The - content of the <tt>ProjectionDocument</tt> - is defined by the <tt>ProjectionMapping. - </tt>The<tt> ProjectionDocumentManager</tt> - manages the life cycle of <tt>ProjectionDocuments</tt> - and their relation to their master documents.</p> -</body></html>
\ No newline at end of file |