diff options
author | cvs2svn | 2004-01-05 14:29:21 +0000 |
---|---|---|
committer | cvs2svn | 2004-01-05 14:29:21 +0000 |
commit | 89f564dfaae99ef54af776225af1567a7185250e (patch) | |
tree | c7c444bf52d9ecf5dface9186b6e91d89f625cfa | |
parent | 2cbf8b64bb820cdaa3f4324993104cad0240a3f3 (diff) | |
download | eclipse.platform.text-89f564dfaae99ef54af776225af1567a7185250e.tar.gz eclipse.platform.text-89f564dfaae99ef54af776225af1567a7185250e.tar.xz eclipse.platform.text-89f564dfaae99ef54af776225af1567a7185250e.zip |
This commit was manufactured by cvs2svn to create branch 'ITypingTarget'.
Sprout from master 2004-01-05 14:29:18 UTC Dani Megert <dmegert> 'Fixed bug 47877: [misc] NPE in TextViewer.addPresentation'
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/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/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/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/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/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.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/clcl16/search_goto.gif
org.eclipse.search/icons/full/clcl16/search_history.gif
org.eclipse.search/icons/full/clcl16/search_next.gif
org.eclipse.search/icons/full/clcl16/search_prev.gif
org.eclipse.search/icons/full/clcl16/search_rem.gif
org.eclipse.search/icons/full/clcl16/search_remall.gif
org.eclipse.search/icons/full/clcl16/search_sortmatch.gif
org.eclipse.search/icons/full/clcl16/search_stop.gif
org.eclipse.search/icons/full/ctool16/search.gif
org.eclipse.search/icons/full/cview16/searchres.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/search_stop.gif
org.eclipse.search/icons/full/dtool16/search.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/search_stop.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/icons/full/obj16/tsearch_obj.gif
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/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/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/GotoMarkerAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/GroupByKeyComputer.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/ReplaceAction.java
org.eclipse.search/search/org/eclipse/search/internal/ui/text/ReplaceDialog.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/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/CoordinatesTranslator.java
org.eclipse.text/projection/org/eclipse/jface/text/Fragment.java
org.eclipse.text/projection/org/eclipse/jface/text/FragmentUpdater.java
org.eclipse.text/projection/org/eclipse/jface/text/ProjectionDocument.java
org.eclipse.text/projection/org/eclipse/jface/text/ProjectionDocumentManager.java
org.eclipse.text/projection/org/eclipse/jface/text/ProjectionPosition.java
org.eclipse.text/projection/org/eclipse/jface/text/ProjectionPositionUpdater.java
org.eclipse.text/projection/org/eclipse/jface/text/ProjectionTextStore.java
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/ChildDocument.java
org.eclipse.text/src/org/eclipse/jface/text/ChildDocumentManager.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/FindReplaceOperationCode.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/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/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/ParentChildMapping.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/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/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/.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/next_nav.gif
org.eclipse.ui.editors/icons/full/ctool16/prev_nav.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/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/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/EncodingActionGroup.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileDocumentProvider.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/ILocationProvider.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/ISchedulingRuleProvider.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/UISynchronizationContext.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/WorkspaceOperationRunner.java
org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/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/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/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/PreviousPulldownActionDelegate.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/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/AnnotationType.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/AnnotationTypeHierarchy.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/DefaultAnnotation.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/DefaultMarkerAnnotationAccess.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/DelegatingAnnotationPreference.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/DocumentProviderRegistry.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/ExtendedTextEditor.java
org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/ExtendedTextEditorPreferenceConstants.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/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/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.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/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/icons/obj16/java.gif
org.eclipse.ui.examples.javaeditor/plugin.properties
org.eclipse.ui.examples.javaeditor/plugin.xml
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/last_edit_pos.gif
org.eclipse.ui.workbench.texteditor/icons/full/ctool16/segment_edit.gif
org.eclipse.ui.workbench.texteditor/icons/full/dtool16/last_edit_pos.gif
org.eclipse.ui.workbench.texteditor/icons/full/dtool16/segment_edit.gif
org.eclipse.ui.workbench.texteditor/icons/full/etool16/last_edit_pos.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/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/TextEditorPlugin.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/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/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/ComboContentAssistSubjectAdapter.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/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/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/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/ShiftAction.java
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/SmartEnterAction.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/package.html
org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/quickdiff/IQuickDiffProviderImplementation.java
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
482 files changed, 0 insertions, 78664 deletions
diff --git a/org.eclipse.core.filebuffers/.classpath b/org.eclipse.core.filebuffers/.classpath deleted file mode 100644 index 065ac06e197..00000000000 --- a/org.eclipse.core.filebuffers/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/org.eclipse.core.filebuffers/.cvsignore b/org.eclipse.core.filebuffers/.cvsignore deleted file mode 100644 index c5e82d74585..00000000000 --- a/org.eclipse.core.filebuffers/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin
\ No newline at end of file diff --git a/org.eclipse.core.filebuffers/.project b/org.eclipse.core.filebuffers/.project deleted file mode 100644 index ac71d98c0f7..00000000000 --- a/org.eclipse.core.filebuffers/.project +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.core.filebuffers</name> - <comment></comment> - <projects> - <project>org.eclipse.core.resources</project> - <project>org.eclipse.core.runtime.compatibility</project> - <project>org.eclipse.text</project> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.pde.PluginNature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> diff --git a/org.eclipse.core.filebuffers/about.html b/org.eclipse.core.filebuffers/about.html deleted file mode 100644 index 9db411aab99..00000000000 --- a/org.eclipse.core.filebuffers/about.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>20th June, 2002</p> -<h3>License</h3> -<p>Eclipse.org makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>. -For purposes of the CPL, "Program" will mean the Content.</p> - -<h3>Contributions</h3> - -<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise -made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such -Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p> - -<p>If this Content is licensed to you under license terms and conditions other than the CPL ("Other License"), any modifications, enhancements and/or -other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the -host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available -to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also -providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of -the CPL.</p> - -</body> -</html>
\ No newline at end of file diff --git a/org.eclipse.core.filebuffers/build.properties b/org.eclipse.core.filebuffers/build.properties deleted file mode 100644 index 95c07dee416..00000000000 --- a/org.eclipse.core.filebuffers/build.properties +++ /dev/null @@ -1,17 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Common Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/cpl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = plugin.properties,\ - plugin.xml,\ - *.jar,\ - about.html -src.includes = about.html,\ - schema/ -source.filebuffers.jar = src/ diff --git a/org.eclipse.core.filebuffers/hglegal2003.htm b/org.eclipse.core.filebuffers/hglegal2003.htm deleted file mode 100644 index 47c8540c84c..00000000000 --- a/org.eclipse.core.filebuffers/hglegal2003.htm +++ /dev/null @@ -1,14 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <LINK REL="stylesheet" HREF="book.css" CHARSET="ISO-8859-1" TYPE="text/css"> - <title>Legal Notices</title> -</head> -<body> - -<h3> -<a NAME="Notices"></a>Notices</h3> -(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved. -</body> -</html> diff --git a/org.eclipse.core.filebuffers/ngibmcpy2003.gif b/org.eclipse.core.filebuffers/ngibmcpy2003.gif Binary files differdeleted file mode 100644 index c786e43e1f9..00000000000 --- a/org.eclipse.core.filebuffers/ngibmcpy2003.gif +++ /dev/null diff --git a/org.eclipse.core.filebuffers/plugin.properties b/org.eclipse.core.filebuffers/plugin.properties deleted file mode 100644 index 23d210cea8b..00000000000 --- a/org.eclipse.core.filebuffers/plugin.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Common Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/cpl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -pluginName= File Buffers -providerName= Eclipse.org -documentCreationPoint= Document Creation -documentSetupPoint= Document Setup -defaultDocumentFactory= Default Document Factory diff --git a/org.eclipse.core.filebuffers/plugin.xml b/org.eclipse.core.filebuffers/plugin.xml deleted file mode 100644 index 872501d93ea..00000000000 --- a/org.eclipse.core.filebuffers/plugin.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.0"?> -<plugin - id="org.eclipse.core.filebuffers" - name="%pluginName" - version="3.0" - provider-name="%providerName" - class="org.eclipse.core.internal.filebuffers.FileBuffersPlugin"> - - <runtime> - <library name="filebuffers.jar"> - <export name="*"/> - <packages prefixes="org.eclipse.core.filebuffers,org.eclipse.core.internal.filebuffers"/> - </library> - </runtime> - <requires> - <import plugin="org.eclipse.core.runtime.compatibility" optional="true"/> - <import plugin="org.eclipse.core.resources"/> - <import plugin="org.eclipse.text"/> - </requires> - - - <extension-point id="documentCreation" name="%documentCreationPoint" schema="schema/documentCreation.exsd"/> - <extension-point id="documentSetup" name="%documentSetupPoint" schema="schema/documentSetup.exsd"/> - - <extension - id="DefaultDocumentFactory" - name="%defaultDocumentFactory" - point="org.eclipse.core.filebuffers.documentCreation"> - <factory - extensions="*" - class="org.eclipse.core.internal.filebuffers.DefaultDocumentFactory"> - </factory> - </extension> -</plugin> diff --git a/org.eclipse.core.filebuffers/schema/documentCreation.exsd b/org.eclipse.core.filebuffers/schema/documentCreation.exsd deleted file mode 100644 index 1d3ddc7e794..00000000000 --- a/org.eclipse.core.filebuffers/schema/documentCreation.exsd +++ /dev/null @@ -1,114 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.core.filebuffers">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.core.filebuffers" id="documentCreation" name="Document Creation"/>
- </appInfo>
- <documentation>
- This extension point is interesting for your if you want the file buffer manager to instantiate a specific document implementation for certain file extensions.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="factory"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="factory">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="extensions" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 3.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- <p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
- ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
- BORDER="0" height="14" width="324"></a>
-</p>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/org.eclipse.core.filebuffers/schema/documentSetup.exsd b/org.eclipse.core.filebuffers/schema/documentSetup.exsd deleted file mode 100644 index 1f3908d3594..00000000000 --- a/org.eclipse.core.filebuffers/schema/documentSetup.exsd +++ /dev/null @@ -1,114 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.core.filebuffers">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.core.filebuffers" id="documentSetup" name="Document Setup"/>
- </appInfo>
- <documentation>
- This extension point is interesting if you want to install specific partitioners etc. on documents created by the file buffer manager for certain file extensions.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="participant"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="participant">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="extensions" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 3.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- <p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
- ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
- BORDER="0" height="14" width="324"></a>
-</p>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/org.eclipse.core.filebuffers/scripts/exportplugin.xml b/org.eclipse.core.filebuffers/scripts/exportplugin.xml deleted file mode 100644 index 57d44f387a0..00000000000 --- a/org.eclipse.core.filebuffers/scripts/exportplugin.xml +++ /dev/null @@ -1,28 +0,0 @@ -<project name="Export Text" default="export" basedir=".."> - <target name="init"> - <tstamp/> - <property name="destdir" value="../../plugin-export" /> - <property name="plugin" value="org.eclipse.core.filebuffers" /> - <property name="version" value="_3.0.0" /> - <property name="dest" value="${destdir}/${plugin}${version}" /> - </target> - - <target name="build" depends="init"> - <eclipse.incrementalBuild project="${plugin}" kind="incr"/> - </target> - - <target name="export" depends="build"> - <mkdir dir="${destdir}" /> - <delete dir="${dest}" /> - <mkdir dir="${dest}" /> - <jar - jarfile="${dest}/filebuffers.jar" - basedir="bin" - /> - <copy file="plugin.xml" todir="${dest}"/> - <copy file="plugin.properties" todir="${dest}"/> - <zip zipfile="${dest}/filebufferssrc.zip"> - <fileset dir="src" /> - </zip> - </target> -</project> diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/FileBuffers.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/FileBuffers.java deleted file mode 100644 index 14ea016ba75..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/FileBuffers.java +++ /dev/null @@ -1,105 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ -package org.eclipse.core.filebuffers; - -import java.io.File; - -import org.eclipse.core.internal.filebuffers.FileBuffersPlugin; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IWorkspaceRoot; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.IPath; - -/** - * Facade for the file buffers plug-in. Provides access to the - * text file buffer manager. - * - * @since 3.0 - */ -public final class FileBuffers { - - /** - * Cannot be instantiated. - */ - private FileBuffers() { - } - - /** - * Returns the text file buffer manager. - * - * @return the text file buffer manager - */ - public static ITextFileBufferManager getTextFileBufferManager() { - return FileBuffersPlugin.getDefault().getFileBufferManager(); - } - - /** - * Returns the workspace file at the given location or <code>null</code> if - * the location is not a valid location in the workspace. - * - * @param location the location - * @return the workspace file at the location or <code>null</code> - */ - public static IFile getWorkspaceFileAtLocation(IPath location) { - IPath normalized= normalizeLocation(location); - IWorkspaceRoot workspaceRoot= ResourcesPlugin.getWorkspace().getRoot(); - IFile file= workspaceRoot.getFile(normalized); - if (file != null && file.exists()) - return file; - return null; - } - - /** - * Returns a copy of the given location in a normalized form. - * - * @param location the location to be normalized - * @return normalized copy of location - */ - public static IPath normalizeLocation(IPath location) { - IWorkspaceRoot workspaceRoot= ResourcesPlugin.getWorkspace().getRoot(); - IProject[] projects= workspaceRoot.getProjects(); - - for (int i= 0, length= projects.length; i < length; i++) { - IPath path= projects[i].getLocation(); - if (path.isPrefixOf(location)) { - IPath filePath= location.removeFirstSegments(path.segmentCount()); - filePath= projects[i].getFullPath().append(filePath); - return filePath.makeAbsolute(); - } - - } - return location.makeAbsolute(); - } - - /** - * Returns the file in the local file system for the given location. - * <p> - * The location is either a full path of a workspace resource or an - * absolute path in the local file system. - * </p> - * - * @param location - * @return - */ - public static File getSystemFileAtLocation(IPath location) { - if (location == null) - return null; - - IFile file= getWorkspaceFileAtLocation(location); - if (file != null) { - IPath path= file.getLocation(); - return path.toFile(); - } - - return location.toFile(); - } -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IDocumentFactory.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IDocumentFactory.java deleted file mode 100644 index 989ecf993c3..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IDocumentFactory.java +++ /dev/null @@ -1,29 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ -package org.eclipse.core.filebuffers; - -import org.eclipse.jface.text.IDocument; - -/** - * Factory for text file buffer documents. Used by the text file buffer - * manager to create the document for a new text file buffer. - * - * @since 3.0 - */ -public interface IDocumentFactory { - - /** - * Creates and returns a new, empty document. - * - * @return a new, empty document - */ - IDocument createDocument(); -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IDocumentSetupParticipant.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IDocumentSetupParticipant.java deleted file mode 100644 index 93a5d5ad871..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IDocumentSetupParticipant.java +++ /dev/null @@ -1,28 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ -package org.eclipse.core.filebuffers; - -import org.eclipse.jface.text.IDocument; - -/** - * Participates in the setup of a text file buffer document. - * - * @since 3.0 - */ -public interface IDocumentSetupParticipant { - - /** - * Sets up the document to be ready for use by a text file buffer. - * - * @param document the document to be set up - */ - void setup(IDocument document); -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBuffer.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBuffer.java deleted file mode 100644 index 8ae2afeea1a..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBuffer.java +++ /dev/null @@ -1,130 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ -package org.eclipse.core.filebuffers; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; - -/** - * A file buffer represents a file that can be edited by more than one client. Editing is - * session oriented. This means that editing is a sequence of modification steps. The - * start of the sequence and the end of the sequence are explicitly indicated. There are - * no time constraints connected with the sequence of modification steps. A file buffer - * reifies editing sessions and allows them to interleave.<p> - * It is not specified whether simultaneous editing sessions can be owned by different - * threads. - * - * @since 3.0 - */ -public interface IFileBuffer { - - /** - * Returns the location of this file buffer. - * <p> - * The location is either a full path of a workspace resource or an - * absolute path in the local file system. - * </p> - * - * @return the location of this file buffer - */ - IPath getLocation(); - - /** - * Returns whether this file buffer is synchronized with the file system. This is when - * the file buffer's underlying file is in sync with the file system and the file buffer - * has been initialized after the underlying files has been modified the last time. - * - * @return <code>true</code> if the file buffer is synchronized with the file system - */ - boolean isSynchronized(); - - /** - * Reverts the contents of this file buffer to the content of its underlying file. After - * that call successfully returned, <code>isDirty</code> returns <code>false</code> and - * <code>isSynchronized</code> returns <code>true</code>. - * - * @param monitor the progress monitor - * @throws CoreException if reading or accessing the underlying file fails - */ - void revert(IProgressMonitor monitor) throws CoreException; - - /** - * Commits this file buffer by changing the contents of th underlying file to - * the contents of this file buffer. After that call, <code>isDirty</code> - * returns <code>false</code> and <code>isSynchronized</code> returns - * <code>true</code>. - * - * @param monitor the progress monitor - * @param overwrite indicates whether the underlying file should be overwritten if it is not synchronized with the file system - * @throws CoreException if writing or accessing the underlying file fails - */ - void commit(IProgressMonitor monitor, boolean overwrite) throws CoreException; - - /** - * Returns whether changes have been applied to this file buffer since initialization, or the most - * recent <code>revert</code> or <code>commit</code> call. - * - * @return <code>true</code> if changes have been applied to this buffer - */ - boolean isDirty(); - - /** - * Returns whether this file buffer is shared by more than one client. - * - * @return <code>true</code> if this file buffer is shared by more than one client - */ - boolean isShared(); - - /** - * Validates the state of this file buffer and tries to bring the buffer's - * underlying file into a state in which it can be modified. If state - * validation is not supported this operation does nothing. - * - * @param monitor the progress monitor - * @param computationContext the context in which the validation is - * performed, e.g., a SWT shell - * @exception CoreException if the underlying file can not be accessed to - * it's state cannot be changed - */ - void validateState(IProgressMonitor monitor, Object computationContext) throws CoreException; - - /** - * Returns whether the state of this file buffer has been validated. If - * state validation is not supported this method always returns <code>true</code>. - * - * @return <code>true</code> if the state has been validated, <code>false</code> - * otherwise - */ - boolean isStateValidated(); - - /** - * Resets state validation. If state validation is supported, <code>isStateValidated</code> - * afterwars returns <code>false</code> unti the state is revalidated. - */ - void resetStateValidation(); - - /** - * Returns the status of this file buffer. This is the result of the last operation peformed on this file buffer or - * internally initiated by this file buffer. - * - * @return the status of this file buffer - */ - IStatus getStatus(); - - /** - * Returns the modification stamp of the file underlying this file buffer. - * - * @return the modification stamp of the file underlying this file buffer - */ - long getModifcationStamp(); -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBufferListener.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBufferListener.java deleted file mode 100644 index 06f8e244f33..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBufferListener.java +++ /dev/null @@ -1,98 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ -package org.eclipse.core.filebuffers; - -import org.eclipse.core.runtime.IPath; - -/** - * Interface for listeners of file buffer changes. - * - * @since 3.0 - */ -public interface IFileBufferListener { - - /** - * Informs the listener about the creation of the given buffer. - * - * @param buffer the created file buffer - */ - void bufferCreated(IFileBuffer buffer); - - /** - * Informs the listener about the disposal of the given buffer. - * - * @param buffer - */ - void bufferDisposed(IFileBuffer buffer); - - /** - * Informs the listener about an upcoming replace of the contents of the given buffer. - * - * @param buffer the effected file buffer - */ - void bufferContentAboutToBeReplaced(IFileBuffer buffer); - - /** - * Informs the listener that the buffer of the given buffer has been replaced. - * - * @param buffer the effected file buffer - */ - void bufferContentReplaced(IFileBuffer buffer); - - /** - * Informs the listener about the start of a state changing operation on - * the given buffer. - * - * @param buffer the effected file buffer - */ - void stateChanging(IFileBuffer buffer); - - /** - * Informs the listener that the dirty state of the given buffer changed - * to the specified value - * - * @param buffer the effected file buffer - * @param isDirty <code>true</code> if the buffer is dirty, <code>false</code> otherwise - */ - void dirtyStateChanged(IFileBuffer buffer, boolean isDirty); - - /** - * Informs the listener that the state validation changed to the specified value. - * - * @param buffer the effected file buffer - * @param isStateValidated <code>true</code> if the buffer state is validated, <code>false</code> otherwise - */ - void stateValidationChanged(IFileBuffer buffer, boolean isStateValidated); - - /** - * Informs the listener that the file underlying the given file buffer has been moved to the - * given location. - * - * @param buffer the effected file buffer - * @param target the new location (not just the container) - */ - void underlyingFileMoved(IFileBuffer buffer, IPath path); - - /** - * Informs the listener that the file underlying the given file buffer has been deleted. - * - * @param buffer the effected file buffer - */ - void underlyingFileDeleted(IFileBuffer buffer); - - /** - * Informs the listener that a state changing operation on the given - * file buffer failed. - * - * @param buffer the effected file buffer - */ - void stateChangeFailed(IFileBuffer buffer); -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBufferManager.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBufferManager.java deleted file mode 100644 index f0e7cae7f1c..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/IFileBufferManager.java +++ /dev/null @@ -1,138 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ - -package org.eclipse.core.filebuffers; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; - -/** - * A file buffer manager manages file buffers for files while the files are - * connected to the file buffer manager. In order to connect a file to a file - * buffer manager call <code>connect</code>. After that call has - * successfully completed the file buffer can be obtained by <code>getFileBuffer</code>. - * The file buffer is created on the first connect and destroyed on the last - * disconnect. I.e. the file buffer manager keeps track of how often a file is - * connected and returns the same file buffer to each client as long as the - * file is connected. - * - * @since 3.0 - */ -public interface IFileBufferManager { - - /** - * Connects the file at the given location to this manager. After that call - * successfully completed it is guaranteed that each call to <code>getFileBuffer</code> - * returns the same file buffer until <code>disconnect</code> is called. - * <p> - * The provided location is either a full path of a workspace resource or - * an absolute path in the local file system. The file buffer manager does - * not resolve the location of workspace resources in the case of linked - * resources. - * </p> - * - * @param location the location of the file to be connected - * @param monitor the progress monitor - * @throws CoreException if the file could not successfully be connected - */ - void connect(IPath location, IProgressMonitor monitor) throws CoreException; - - /** - * Disconnects the file at the given location from this manager. After that - * call successfully completed there is no guarantee that <code>getFileBuffer</code> - * will return a valid file buffer. - * <p> - * The provided location is either a full path of a workspace resource or - * an absolute path in the local file system. The file buffer manager does - * not resolve the location of workspace resources in the case of linked - * resources. - * </p> - * - * @param location the location of the file to be disconnected - * @param monitor the progress monitor - * @throws CoreException if the file could not successfully be disconnected - */ - void disconnect(IPath location, IProgressMonitor monitor) throws CoreException; - - /** - * Returns the file buffer managed for the given location or <code>null</code> - * if there is no such file buffer. - * <p> - * The provided location is either a full path of a workspace resource or - * an absolute path in the local file system. The file buffer manager does - * not resolve the location of workspace resources in the case of linked - * resources. - * </p> - * - * @param location the location - * @return the file buffer managed for that location or <code>null</code> - */ - IFileBuffer getFileBuffer(IPath location); - - /** - * Sets the synchronization context for this file buffer manager, i.e., for - * all file buffers this manager manages. - * - * @param context the synchronization context managed by this file buffer - * manager - */ - void setSynchronizationContext(ISynchronizationContext context); - - /** - * Requests that the synchronization context is used to synchronize the - * given location with its file buffer. This call as no effect if there is - * no file buffer managed for the given location. - * <p> - * The provided location is either a full path of a workspace resource or - * an absolute path in the local file system. The file buffer manager does - * not resolve the location of workspace resources in the case of linked - * resources. - * </p> - * - * @param location the location - */ - void requestSynchronizationContext(IPath location); - - /** - * No longer requests the synchronization context for the filebuffer for - * the given location. This method has no effect if there is no file buffer - * managed for this location. - * <p> - * The provided location is either a full path of a workspace resource or - * an absolute path in the local file system. The file buffer manager does - * not resolve the location of workspace resources in the case of linked - * resources. - * </p> - * - * @param location the location - */ - void releaseSynchronizationContext(IPath location); - - /** - * Adds the given listener to the list of file buffer listeners. After that - * call the listener is informated about changes related to this file - * buffer. If the listener is already registered with the file buffer, this - * call has no effect. - * - * @param listener the listener to be added - */ - void addFileBufferListener(IFileBufferListener listener); - - /** - * Removes the given listener from the list of file buffer listeners. If - * the listener is not registered with this file buffer, this call has no - * effect. - * - * @param listener the listener to be removed - */ - void removeFileBufferListener(IFileBufferListener listener); -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/ISynchronizationContext.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/ISynchronizationContext.java deleted file mode 100644 index 046e9a93da1..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/ISynchronizationContext.java +++ /dev/null @@ -1,26 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ -package org.eclipse.core.filebuffers; - -/** - * Executes runnables that describe how to synchronize a file buffer with its underlying file. - * - * @since 3.0 - */ -public interface ISynchronizationContext { - - /** - * Executes the given runnable. - * - * @param runnable the runnable to be executed - */ - void run(Runnable runnable); -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/ITextFileBuffer.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/ITextFileBuffer.java deleted file mode 100644 index 60da3a8bb73..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/ITextFileBuffer.java +++ /dev/null @@ -1,48 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ -package org.eclipse.core.filebuffers; - - -import org.eclipse.jface.text.IDocument; - -/** - * A text file buffer is a file buffer for text files. The contents of a text file buffe is - * given in the form of a document. Also, the text file buffer provides methods to - * manage the character encoding used to read and write the buffer's underlying - * text file. - * - * @since 3.0 - */ -public interface ITextFileBuffer extends IFileBuffer { - - /** - * Returns the document of this text file buffer. - * - * @return the document of this text file buffer - */ - IDocument getDocument(); - - /** - * Returns the character encoding to be used for reading and writing the - * buffer's underlying file. - * - * @return the character encoding - */ - String getEncoding(); - - /** - * Sets the character encoding to be used for reading and writing the buffer's - * underlyning file. - * - * @param encoding the encoding - */ - void setEncoding(String encoding); -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/ITextFileBufferManager.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/ITextFileBufferManager.java deleted file mode 100644 index 6897cdf56fa..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/ITextFileBufferManager.java +++ /dev/null @@ -1,64 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ - -package org.eclipse.core.filebuffers; - -import org.eclipse.core.runtime.IPath; - -import org.eclipse.jface.text.IDocument; - - -/** - * A text file buffer manager manages text file buffers for files whose contents - * could be considered text. - * - * @since 3.0 - */ -public interface ITextFileBufferManager extends IFileBufferManager { - - /** - * Returns the text file buffer managed for the file at the given location - * or <code>null</code> if either there is no such text file buffer. - * <p> - * The provided location is either a full path of a workspace resource or - * an absolute path in the local file system. The file buffer manager does - * not resolve the location of workspace resources in the case of linked - * resources. - * </p> - * - * @param location the location - * @return the text file buffer managed for that location or <code>null</code> - */ - ITextFileBuffer getTextFileBuffer(IPath location); - - /** - * Returns the default encoding that is used to read the contents of text files - * if no other encoding is specified. - * - * @return the default text file encoding - */ - String getDefaultEncoding(); - - /** - * Creates a new empty document . The document is set up in the same way as - * it would be used in a text file buffer for a file at the given location. - * <p> - * The provided location is either a full path of a workspace resource or - * an absolute path in the local file system. The file buffer manager does - * not resolve the location of workspace resources in the case of linked - * resources. - * </p> - * - * @param location the location used to set up the newly created document - * @return a new empty document - */ - IDocument createEmptyDocument(IPath location); -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/AbstractFileBuffer.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/AbstractFileBuffer.java deleted file mode 100644 index 6be8c2a9e34..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/AbstractFileBuffer.java +++ /dev/null @@ -1,36 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ -package org.eclipse.core.internal.filebuffers; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; - -import org.eclipse.core.filebuffers.IFileBuffer; - -/** - * @since 3.0 - */ -public abstract class AbstractFileBuffer implements IFileBuffer { - - - public abstract void create(IPath location, IProgressMonitor monitor) throws CoreException; - - public abstract void connect(); - - public abstract void disconnect() throws CoreException; - - public abstract boolean isDisposed(); - - public abstract void requestSynchronizationContext(); - - public abstract void releaseSynchronizationContext(); -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ContainerGenerator.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ContainerGenerator.java deleted file mode 100644 index c1b0c7066f2..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ContainerGenerator.java +++ /dev/null @@ -1,118 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ -package org.eclipse.core.internal.filebuffers; - -import org.eclipse.core.resources.IContainer; -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.IWorkspaceRoot; -import org.eclipse.core.resources.IWorkspaceRunnable; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.OperationCanceledException; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.SubProgressMonitor; - -public class ContainerGenerator { - - private IPath fContainerFullPath; - private IContainer fContainer; - private IWorkspace fWorkspace; - - public ContainerGenerator(IWorkspace workspace, IPath containerPath) { - fWorkspace= workspace; - fContainerFullPath = containerPath; - } - - private IFolder createFolder(IFolder folderHandle, IProgressMonitor monitor) throws CoreException { - folderHandle.create(false, true, monitor); - if (monitor.isCanceled()) - throw new OperationCanceledException(); - return folderHandle; - } - - private IFolder createFolderHandle(IContainer container, String folderName) { - return container.getFolder(new Path(folderName)); - } - - private IProject createProject(IProject projectHandle, IProgressMonitor monitor) throws CoreException { - try { - monitor.beginTask("",2000);//$NON-NLS-1$ - - projectHandle.create(new SubProgressMonitor(monitor, 1000)); - if (monitor.isCanceled()) - throw new OperationCanceledException(); - - projectHandle.open(new SubProgressMonitor(monitor, 1000)); - if (monitor.isCanceled()) - throw new OperationCanceledException(); - - } finally { - monitor.done(); - } - - return projectHandle; - } - - private IProject createProjectHandle(IWorkspaceRoot root, String projectName) { - return root.getProject(projectName); - } - - public IContainer generateContainer(IProgressMonitor monitor) throws CoreException { - IWorkspaceRunnable runnable= new IWorkspaceRunnable() { - public void run(IProgressMonitor monitor) throws CoreException { - monitor.beginTask("creating container", 1000 * fContainerFullPath.segmentCount()); - if (fContainer != null) - return; - - // Does the container exist already? - IWorkspaceRoot root= fWorkspace.getRoot(); - fContainer= (IContainer) root.findMember(fContainerFullPath); - if (fContainer != null) - return; - - // Create the container for the given path - fContainer= root; - for (int i = 0; i < fContainerFullPath.segmentCount(); i++) { - String currentSegment = fContainerFullPath.segment(i); - IResource resource = fContainer.findMember(currentSegment); - if (resource != null) { - fContainer= (IContainer) resource; - monitor.worked(1000); - } - else { - if (i == 0) { - IProject projectHandle= createProjectHandle(root, currentSegment); - fContainer= createProject(projectHandle, new SubProgressMonitor(monitor,1000)); - } - else { - IFolder folderHandle= createFolderHandle(fContainer, currentSegment); - fContainer= createFolder(folderHandle, new SubProgressMonitor(monitor,1000)); - } - } - } - } - }; - - // Get scheduling rule - IWorkspaceRoot root= fWorkspace.getRoot(); - IPath existingParentPath= fContainerFullPath; - while (!root.exists(existingParentPath)) - existingParentPath= existingParentPath.removeLastSegments(1); - - IResource schedulingRule= root.findMember(existingParentPath); - fWorkspace.run(runnable, schedulingRule, IWorkspace.AVOID_UPDATE, monitor); - return fContainer; - } -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/DefaultDocumentFactory.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/DefaultDocumentFactory.java deleted file mode 100644 index 0a4973ab22d..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/DefaultDocumentFactory.java +++ /dev/null @@ -1,32 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ -package org.eclipse.core.internal.filebuffers; - -import org.eclipse.core.filebuffers.IDocumentFactory; - -import org.eclipse.jface.text.Document; -import org.eclipse.jface.text.IDocument; - -/** - * The default document factory. - */ -public class DefaultDocumentFactory implements IDocumentFactory { - - public DefaultDocumentFactory() { - } - - /* - * @see org.eclipse.core.filebuffers.IDocumentFactory#createDocument() - */ - public IDocument createDocument() { - return new Document(); - } -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ExtensionsRegistry.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ExtensionsRegistry.java deleted file mode 100644 index f8fc178c3fd..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ExtensionsRegistry.java +++ /dev/null @@ -1,231 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.internal.filebuffers; - - - -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.StringTokenizer; - -import org.eclipse.core.filebuffers.IDocumentFactory; -import org.eclipse.core.filebuffers.IDocumentSetupParticipant; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtensionPoint; -import org.eclipse.core.runtime.ILog; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; - - -/** - * This registry manages shareable document factories. Document factories are specified - * in <code>plugin.xml</code> per file name extension. - */ -public class ExtensionsRegistry { - - private final static String WILDCARD= "*"; //$NON-NLS-1$ - - /** The mapping between name extensions and configuration elements describing document factories. */ - private Map fFactoryDescriptors= new HashMap(); - /** The mapping between configuration elements for document factories and instantiated document factories. */ - private Map fFactories= new HashMap(); - /** The mapping between name extensions and configuration elements describing document setup participants. */ - private Map fSetupParticipantDescriptors= new HashMap(); - /** The mapping between configuration elements for setup participants and instantiated setup participants. */ - private Map fSetupParticipants= new HashMap(); - - - /** - * Creates a new document factory registry and intializes it with the information - * found in the plugin registry. - */ - public ExtensionsRegistry() { - initialize("documentCreation", "extensions", fFactoryDescriptors); //$NON-NLS-1$ //$NON-NLS-2$ - initialize("documentSetup", "extensions", fSetupParticipantDescriptors); //$NON-NLS-1$ //$NON-NLS-2$ - } - - /** - * Reads the comma-separated value of the given configuration element for the given attribute name and remembers the configuration element - * in the given map under the individual tokens of the attribute value. - */ - private void read(String attributeName, IConfigurationElement element, Map map) { - String value= element.getAttribute(attributeName); - if (value != null) { - StringTokenizer tokenizer= new StringTokenizer(value, ","); //$NON-NLS-1$ - while (tokenizer.hasMoreTokens()) { - String token= tokenizer.nextToken().trim(); - - Set s= (Set) map.get(token); - if (s == null) { - s= new HashSet(); - map.put(token, s); - } - s.add(element); - } - } - } - - /** - * Adds an entry to the log of this plugin for the given status - * @param status the status to log - */ - private void log(IStatus status) { - ILog log= Platform.getPlugin(FileBuffersPlugin.PLUGIN_ID).getLog(); - log.log(status); - } - - /** - * Initializes this registry. It retrieves all implementers of the given - * extension point and remembers those implementers based on the - * file name extensions in the given map. - * - * @param extensionPointName the name of the extension point - * @param childElementName the name of the child elements - * @param descriptors the map to be filled - */ - private void initialize(String extensionPointName, String childElementName, Map descriptors) { - - IExtensionPoint extensionPoint= Platform.getPluginRegistry().getExtensionPoint(FileBuffersPlugin.PLUGIN_ID, extensionPointName); - if (extensionPoint == null) { - log(new Status(IStatus.ERROR, FileBuffersPlugin.PLUGIN_ID, 0, MessageFormat.format("Extension point \"{0}\" not found.", new Object[] { extensionPointName}), null)); - return; - } - - IConfigurationElement[] elements= extensionPoint.getConfigurationElements(); - for (int i= 0; i < elements.length; i++) - read(childElementName, elements[i], descriptors); - } - - /** - * Returns the executable extension for the given configuration element. - * If there is no instantiated extension remembered for this - * element, a new extension is created and put into the cache if it is of the requested type. - * - * @param entry the configuration element - * @param extensions the map of instantiated extensions - * @param extensionType the requested result type - */ - private Object getExtension(IConfigurationElement entry, Map extensions, Class extensionType) { - Object extension= extensions.get(entry); - if (extension != null) - return extension; - - try { - extension= entry.createExecutableExtension("class"); //$NON-NLS-1$ - } catch (CoreException x) { - log(x.getStatus()); - } - - if (extensionType.isInstance(extension)) { - extensions.put(entry, extension); - return extension; - } - - return null; - } - - /** - * Returns the first enumerated element of the given set. - * - * @param set the set from which to choose - */ - private IConfigurationElement selectConfigurationElement(Set set) { - if (set != null && !set.isEmpty()) { - Iterator e= set.iterator(); - return (IConfigurationElement) e.next(); - } - return null; - } - - /** - * Returns a shareable document factory for the given file name extension. - * - * @param extension the name extension to be used for lookup - * @return the shareable document factory or <code>null</code> - */ - private IDocumentFactory getDocumentFactory(String extension) { - - Set set= (Set) fFactoryDescriptors.get(extension); - if (set != null) { - IConfigurationElement entry= selectConfigurationElement(set); - return (IDocumentFactory) getExtension(entry, fFactories, IDocumentFactory.class); - } - return null; - } - - /** - * Returns the set of setup participants for the given file name. - * - * @param extension the name extension to be used for lookup - * @return the shareable set of document setup participants - */ - private List getDocumentSetupParticipants(String extension) { - - Set set= (Set) fSetupParticipantDescriptors.get(extension); - if (set == null) - return null; - - List participants= new ArrayList(); - Iterator e= set.iterator(); - while (e.hasNext()) { - IConfigurationElement entry= (IConfigurationElement) e.next(); - Object participant= getExtension(entry, fSetupParticipants, IDocumentSetupParticipant.class); - if (participant != null) - participants.add(participant); - } - - return participants; - } - - /** - * Returns the shareable document factory for the given location. - * - * @param location the location for which to looked up the factory - * @return the shareable document factory - */ - public IDocumentFactory getDocumentFactory(IPath location) { - IDocumentFactory factory= getDocumentFactory(location.getFileExtension()); - if (factory == null) - factory= getDocumentFactory(WILDCARD); - return factory; - } - - /** - * Returns the shareable set of document setup participants for the given location. - * - * @param location the location for which to look up the setup participants - * @return the shareable set of document setup participants - */ - public IDocumentSetupParticipant[] getDocumentSetupParticipants(IPath location) { - List participants= new ArrayList(); - - List p= getDocumentSetupParticipants(location.getFileExtension()); - if (p != null) - participants.addAll(p); - - p= getDocumentSetupParticipants(WILDCARD); - if (p != null) - participants.addAll(p); - - IDocumentSetupParticipant[] result= new IDocumentSetupParticipant[participants.size()]; - participants.toArray(result); - return result; - } -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileBuffersPlugin.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileBuffersPlugin.java deleted file mode 100644 index 752cffe2826..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileBuffersPlugin.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.eclipse.core.internal.filebuffers; - -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -import org.eclipse.core.filebuffers.ITextFileBufferManager; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.IPluginDescriptor; -import org.eclipse.core.runtime.Plugin; - - -/** - * The main plugin class to be used in the desktop. - */ -public class FileBuffersPlugin extends Plugin { - - public final static String PLUGIN_ID= "org.eclipse.core.filebuffers"; //$NON-NLS-1$ - - /** The shared plug-in instance */ - private static FileBuffersPlugin fgPlugin; - /** The resource bundle */ - private ResourceBundle fResourceBundle; - /** The file buffer manager */ - private ITextFileBufferManager fTextFileBufferManager; - - /** - * The constructor. - */ - public FileBuffersPlugin(IPluginDescriptor descriptor) { - super(descriptor); - fgPlugin = this; - try { - fResourceBundle= ResourceBundle.getBundle("org.eclipse.core.internal.filebuffers.FileBuffersPlugin"); //$NON-NLS-1$ - } catch (MissingResourceException x) { - fResourceBundle = null; - } - } - - /** - * Returns the shared instance. - */ - public static FileBuffersPlugin getDefault() { - return fgPlugin; - } - - /** - * Returns the workspace instance. - */ - public static IWorkspace getWorkspace() { - return ResourcesPlugin.getWorkspace(); - } - - /** - * Returns the string from the plugin's resource bundle, - * or 'key' if not found. - */ - public static String getResourceString(String key) { - ResourceBundle bundle= FileBuffersPlugin.getDefault().getResourceBundle(); - try { - return (bundle!=null ? bundle.getString(key) : key); - } catch (MissingResourceException e) { - return key; - } - } - - /** - * Returns the plugin's resource bundle, - */ - public ResourceBundle getResourceBundle() { - return fResourceBundle; - } - - /** - * Returns the text file buffer manager of this plug-in. - * - * @return the text file buffer manager of this plug-in - */ - public ITextFileBufferManager getFileBufferManager() { - if (fTextFileBufferManager == null) - fTextFileBufferManager= new TextFileBufferManager(); - return fTextFileBufferManager; - } -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/JavaFileBuffer.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/JavaFileBuffer.java deleted file mode 100644 index e7b6c506d1e..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/JavaFileBuffer.java +++ /dev/null @@ -1,218 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ -package org.eclipse.core.internal.filebuffers; - -import java.io.File; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.ILog; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; - -import org.eclipse.core.filebuffers.FileBuffers; - -/** - * @since 3.0 - */ -public abstract class JavaFileBuffer extends AbstractFileBuffer { - - /** The location */ - protected IPath fLocation; - /** The element for which the info is stored */ - protected File fFile; - /** How often the element has been connected */ - protected int fReferenceCount; - /** Can the element be saved */ - protected boolean fCanBeSaved= false; - /** The status of this element */ - protected IStatus fStatus; - /** The time stamp at which this buffer synchronized with the underlying file. */ - protected long fSynchronizationStamp= IFile.NULL_STAMP; - /** How often the synchronization context has been requested */ - protected int fSynchronizationContextCount; - /** The text file buffer manager */ - protected TextFileBufferManager fManager; - - - public JavaFileBuffer(TextFileBufferManager manager) { - super(); - fManager= manager; - } - - abstract protected void addFileBufferContentListeners(); - - abstract protected void removeFileBufferContentListeners(); - - abstract protected void initializeFileBufferContent(IProgressMonitor monitor) throws CoreException; - - abstract protected void commitFileBufferContent(IProgressMonitor monitor, boolean overwrite) throws CoreException; - - /** - * Returns the file at the given location or <code>null</code> if - * there is no such file. - * - * @param location the location - * @return the file at the given location - */ - private File getFileAtLocation(IPath location) { - File file= FileBuffers.getSystemFileAtLocation(location); - return file.exists() ? file : null; - } - - public void create(IPath location, IProgressMonitor monitor) throws CoreException { - File file= getFileAtLocation(location); - if (file == null) - throw new CoreException(new Status(IStatus.ERROR, FileBuffersPlugin.PLUGIN_ID, IStatus.OK, "File does not exist", null)); - - fLocation= location; - fFile= file; - initializeFileBufferContent(monitor); - fSynchronizationStamp= fFile.lastModified(); - - addFileBufferContentListeners(); - } - - public void connect() { - ++ fReferenceCount; - } - - public void disconnect() throws CoreException { - -- fReferenceCount; - } - - /** - * Returns whether this file buffer has already been disposed. - * - * @return <code>true</code> if already disposed, <code>false</code> otherwise - */ - public boolean isDisposed() { - return fReferenceCount <= 0; - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#getLocation() - */ - public IPath getLocation() { - return fLocation; - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#commit(org.eclipse.core.runtime.IProgressMonitor, boolean) - */ - public void commit(IProgressMonitor monitor, boolean overwrite) throws CoreException { - if (!isDisposed() && fCanBeSaved) { - - fManager.fireStateChanging(this); - - try { - commitFileBufferContent(monitor, overwrite); - } catch (CoreException x) { - fManager.fireStateChangeFailed(this); - throw x; - } catch (RuntimeException x) { - fManager.fireStateChangeFailed(this); - throw x; - } - - fCanBeSaved= false; - addFileBufferContentListeners(); - fManager.fireDirtyStateChanged(this, fCanBeSaved); - } - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#isDirty() - */ - public boolean isDirty() { - return fCanBeSaved; - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#isShared() - */ - public boolean isShared() { - return fReferenceCount > 1; - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#validateState(org.eclipse.core.runtime.IProgressMonitor, java.lang.Object) - */ - public void validateState(IProgressMonitor monitor, Object computationContext) throws CoreException { - // nop - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#isStateValidated() - */ - public boolean isStateValidated() { - return true; - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#resetStateValidation() - */ - public void resetStateValidation() { - // nop - } - - /** - * Sends out the notification that the file serving as document input has been moved. - * - * @param newLocation the path of the new location of the file - */ - protected void handleFileMoved(IPath newLocation) { - fManager.fireUnderlyingFileMoved(this, newLocation); - } - - /** - * Defines the standard procedure to handle <code>CoreExceptions</code>. Exceptions - * are written to the plug-in log. - * - * @param exception the exception to be logged - * @param message the message to be logged - */ - protected void handleCoreException(CoreException exception) { - ILog log= Platform.getPlugin(FileBuffersPlugin.PLUGIN_ID).getLog(); - log.log(exception.getStatus()); - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#isSynchronized() - */ - public boolean isSynchronized() { - return fSynchronizationStamp == fFile.lastModified(); - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#getModifcationStamp() - */ - public long getModifcationStamp() { - return fFile.lastModified(); - } - - /** - * Requests the file buffer manager's synchronization context for this file buffer. - */ - public void requestSynchronizationContext() { - ++ fSynchronizationContextCount; - } - - /** - * Releases the file buffer manager's synchronization context for this file buffer. - */ - public void releaseSynchronizationContext() { - -- fSynchronizationContextCount; - } -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/JavaTextFileBuffer.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/JavaTextFileBuffer.java deleted file mode 100644 index d4b05920b3f..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/JavaTextFileBuffer.java +++ /dev/null @@ -1,338 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ -package org.eclipse.core.internal.filebuffers; - -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.Reader; - -import org.eclipse.core.resources.IResourceStatus; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; - -import org.eclipse.core.filebuffers.ITextFileBuffer; - -import org.eclipse.jface.text.DocumentEvent; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IDocumentListener; - -/** - * @since 3.0 - */ -public class JavaTextFileBuffer extends JavaFileBuffer implements ITextFileBuffer { - - - private class DocumentListener implements IDocumentListener { - - /* - * @see org.eclipse.jface.text.IDocumentListener#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent) - */ - public void documentAboutToBeChanged(DocumentEvent event) { - } - - /* - * @see org.eclipse.jface.text.IDocumentListener#documentChanged(org.eclipse.jface.text.DocumentEvent) - */ - public void documentChanged(DocumentEvent event) { - fCanBeSaved= true; - removeFileBufferContentListeners(); - fManager.fireDirtyStateChanged(JavaTextFileBuffer.this, fCanBeSaved); - } - } - - /** - * Reader chunk size. - */ - static final private int READER_CHUNK_SIZE= 2048; - /** - * Buffer size. - */ - static final private int BUFFER_SIZE= 8 * READER_CHUNK_SIZE; - /** - * Constant for representing the ok status. This is considered a value object. - */ - static final private IStatus STATUS_OK= new Status(IStatus.OK, FileBuffersPlugin.PLUGIN_ID, IStatus.OK, "OK", null); - /** - * Constant for representing the error status. This is considered a value object. - */ - static final private IStatus STATUS_ERROR= new Status(IStatus.ERROR, FileBuffersPlugin.PLUGIN_ID, IStatus.INFO, "Error", null); - - - - /** The element's document */ - protected IDocument fDocument; - /** The encoding used to create the document from the storage or <code>null</code> for workbench encoding. */ - protected String fEncoding; - /** Internal document listener */ - protected IDocumentListener fDocumentListener= new DocumentListener(); - - - - public JavaTextFileBuffer(TextFileBufferManager manager) { - super(manager); - } - - /* - * @see org.eclipse.core.buffer.text.IBufferedTextFile#getDocument() - */ - public IDocument getDocument() { - return fDocument; - } - - /* - * @see org.eclipse.core.buffer.text.IBufferedTextFile#getEncoding() - */ - public String getEncoding() { - return fEncoding; - } - - /* - * @see org.eclipse.core.buffer.text.IBufferedTextFile#setEncoding(java.lang.String) - */ - public void setEncoding(String encoding) { - fEncoding= encoding; - } - - /* - * @see org.eclipse.core.buffer.text.IBufferedFile#getStatus() - */ - public IStatus getStatus() { - if (!isDisposed()) { - if (fStatus != null) - return fStatus; - return (fDocument == null ? STATUS_ERROR : STATUS_OK); - } - return STATUS_ERROR; - } - - private InputStream getFileContents(IProgressMonitor monitor) { - try { - return new FileInputStream(fFile); - } catch (FileNotFoundException e) { - } - return null; - } - - private void setFileContents(InputStream stream, boolean overwrite, IProgressMonitor monitor) { - try { - OutputStream out= new FileOutputStream(fFile, false); - - try { - byte[] buffer = new byte[8192]; - while (true) { - int bytesRead = -1; - try { - bytesRead = stream.read(buffer); - } catch (IOException e) { - } - if (bytesRead == -1) - break; - try { - out.write(buffer, 0, bytesRead); - } catch (IOException e) { - } - monitor.worked(1); - } - } finally { - try { - stream.close(); - } catch (IOException e) { - } finally { - try { - out.close(); - } catch (IOException e) { - } - } - } - } catch (FileNotFoundException e) { - } - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#revert(org.eclipse.core.runtime.IProgressMonitor) - */ - public void revert(IProgressMonitor monitor) throws CoreException { - if (isDisposed()) - return; - - IDocument original= null; - IStatus status= null; - - try { - original= fManager.createEmptyDocument(getLocation()); - setDocumentContent(original, getFileContents(monitor), fEncoding); - } catch (CoreException x) { - status= x.getStatus(); - } - - fStatus= status; - - if (original != null) { - - String originalContents= original.get(); - boolean replaceContents= !originalContents.equals(fDocument.get()); - - if (replaceContents) { - fManager.fireBufferContentAboutToBeReplaced(this); - fDocument.set(original.get()); - } - - if (fCanBeSaved) { - fCanBeSaved= false; - addFileBufferContentListeners(); - } - - if (replaceContents) - fManager.fireBufferContentReplaced(this); - - fManager.fireDirtyStateChanged(this, fCanBeSaved); - } - } - - /* - * @see org.eclipse.core.internal.filebuffers.FileBuffer#addFileBufferContentListeners() - */ - protected void addFileBufferContentListeners() { - if (fDocument != null) - fDocument.addDocumentListener(fDocumentListener); - } - - /* - * @see org.eclipse.core.internal.filebuffers.FileBuffer#removeFileBufferContentListeners() - */ - protected void removeFileBufferContentListeners() { - if (fDocument != null) - fDocument.removeDocumentListener(fDocumentListener); - } - - /* - * @see org.eclipse.core.internal.filebuffers.FileBuffer#initializeFileBufferContent(org.eclipse.core.runtime.IProgressMonitor) - */ - protected void initializeFileBufferContent(IProgressMonitor monitor) throws CoreException { - try { - fDocument= fManager.createEmptyDocument(getLocation()); - setDocumentContent(fDocument, getFileContents(monitor), fEncoding); - } catch (CoreException x) { - fDocument= fManager.createEmptyDocument(getLocation()); - fStatus= x.getStatus(); - } - } - - /* - * @see org.eclipse.core.internal.filebuffers.FileBuffer#commitFileBufferContent(org.eclipse.core.runtime.IProgressMonitor, boolean) - */ - protected void commitFileBufferContent(IProgressMonitor monitor, boolean overwrite) throws CoreException { - try { - - String encoding= getEncoding(); - if (encoding == null) - encoding= fManager.getDefaultEncoding(); - - InputStream stream= new ByteArrayInputStream(fDocument.get().getBytes(encoding)); - - if (fFile.exists()) { - - if (!overwrite) - checkSynchronizationState(); - - - // here the file synchronizer should actually be removed and afterwards added again. However, - // we are already inside an operation, so the delta is sent AFTER we have added the listener - setFileContents(stream, overwrite, monitor); - // set synchronization stamp to know whether the file synchronizer must become active - fSynchronizationStamp= fFile.lastModified(); - - // TODO if there is an annotation model update it here - - } else { - -// try { -// monitor.beginTask("Saving", 2000); //$NON-NLS-1$ -// ContainerGenerator generator = new ContainerGenerator(fFile.getWorkspace(), fFile.getParent().getFullPath()); -// generator.generateContainer(new SubProgressMonitor(monitor, 1000)); -// fFile.create(stream, false, new SubProgressMonitor(monitor, 1000)); -// } -// finally { -// monitor.done(); -// } - - } - - } catch (IOException x) { - String message= (x.getMessage() != null ? x.getMessage() : ""); //$NON-NLS-1$ - IStatus s= new Status(IStatus.ERROR, FileBuffersPlugin.PLUGIN_ID, IStatus.OK, message, x); - throw new CoreException(s); - } - } - - /** - * Intitializes the given document with the given stream using the given encoding. - * - * @param document the document to be initialized - * @param contentStream the stream which delivers the document content - * @param encoding the character encoding for reading the given stream - * @exception CoreException if the given stream can not be read - */ - private void setDocumentContent(IDocument document, InputStream contentStream, String encoding) throws CoreException { - Reader in= null; - try { - - if (encoding == null) - encoding= fManager.getDefaultEncoding(); - - in= new BufferedReader(new InputStreamReader(contentStream, encoding), BUFFER_SIZE); - StringBuffer buffer= new StringBuffer(BUFFER_SIZE); - char[] readBuffer= new char[READER_CHUNK_SIZE]; - int n= in.read(readBuffer); - while (n > 0) { - buffer.append(readBuffer, 0, n); - n= in.read(readBuffer); - } - - document.set(buffer.toString()); - - } catch (IOException x) { - String msg= x.getMessage() == null ? "" : x.getMessage(); //$NON-NLS-1$ - IStatus s= new Status(IStatus.ERROR, FileBuffersPlugin.PLUGIN_ID, IStatus.OK, msg, x); - throw new CoreException(s); - } finally { - if (in != null) { - try { - in.close(); - } catch (IOException x) { - } - } - } - } - - /** - * Checks whether the given file is synchronized with the the local file system. - * If the file has been changed, a <code>CoreException</code> is thrown. - * - * @param file the file to check - * @exception CoreException if file has been changed on the file system - */ - private void checkSynchronizationState() throws CoreException { - if (!isSynchronized()) { - Status status= new Status(IStatus.ERROR, FileBuffersPlugin.PLUGIN_ID, IResourceStatus.OUT_OF_SYNC_LOCAL, "out of sync", null); - throw new CoreException(status); - } - } -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ResourceFileBuffer.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ResourceFileBuffer.java deleted file mode 100644 index 0024eff3860..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ResourceFileBuffer.java +++ /dev/null @@ -1,406 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ -package org.eclipse.core.internal.filebuffers; - -import java.io.File; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceChangeEvent; -import org.eclipse.core.resources.IResourceChangeListener; -import org.eclipse.core.resources.IResourceDelta; -import org.eclipse.core.resources.IResourceDeltaVisitor; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.ILog; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.OperationCanceledException; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; - -import org.eclipse.core.filebuffers.FileBuffers; - - -public abstract class ResourceFileBuffer extends AbstractFileBuffer { - - /** - * Runnable encapsulating an element state change. This runnable ensures - * that a element change failed message is sent out to the element state - * listeners in case an exception occurred. - */ - private class SafeFileChange implements Runnable { - - /** - * Creates a new safe runnable for the given file. - */ - public SafeFileChange() { - } - - /** - * Execute the change. - * Subclass responsibility. - * - * @exception an exception in case of error - */ - protected void execute() throws Exception { - } - - /** - * Does everything necessary prior to execution. - */ - public void preRun() { - fManager.fireStateChanging(ResourceFileBuffer.this); - } - - /* - * @see java.lang.Runnable#run() - */ - public void run() { - - if (isDisposed()) { - fManager.fireStateChangeFailed(ResourceFileBuffer.this); - return; - } - - try { - execute(); - } catch (Exception x) { - FileBuffersPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, FileBuffersPlugin.PLUGIN_ID, IStatus.OK, "Exception when synchronizing", x)); //$NON-NLS-1$ - fManager.fireStateChangeFailed(ResourceFileBuffer.this); - } - } - } - - /** - * Synchronizes the document with external resource changes. - */ - private class FileSynchronizer implements IResourceChangeListener, IResourceDeltaVisitor { - - /** A flag indicating whether this synchronizer is installed or not. */ - private boolean fIsInstalled= false; - - /** - * Creates a new file synchronizer. Is not yet installed on a file. - */ - public FileSynchronizer() { - } - - /** - * Installs the synchronizer on the file. - */ - public void install() { - fFile.getWorkspace().addResourceChangeListener(this); - fIsInstalled= true; - } - - /** - * Uninstalls the synchronizer from the file. - */ - public void uninstall() { - fFile.getWorkspace().removeResourceChangeListener(this); - fIsInstalled= false; - } - - /* - * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent) - */ - public void resourceChanged(IResourceChangeEvent e) { - IResourceDelta delta= e.getDelta(); - try { - if (delta != null && fIsInstalled) - delta.accept(this); - } catch (CoreException x) { - handleCoreException(x); - } - } - - /* - * @see IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta) - */ - public boolean visit(IResourceDelta delta) throws CoreException { - - if (delta != null && fFile.equals(delta.getResource())) { - - SafeFileChange fileChange= null; - - switch (delta.getKind()) { - case IResourceDelta.CHANGED: - if ((IResourceDelta.CONTENT & delta.getFlags()) != 0) { - if (!isDisposed() && !fCanBeSaved && !isSynchronized()) { - fileChange= new SafeFileChange() { - protected void execute() throws Exception { - handleFileContentChanged(); - } - }; - } - } - break; - case IResourceDelta.REMOVED: - if ((IResourceDelta.MOVED_TO & delta.getFlags()) != 0) { - final IPath path= delta.getMovedToPath(); - fileChange= new SafeFileChange() { - protected void execute() throws Exception { - handleFileMoved(path); - } - }; - } else { - if (!isDisposed() && !fCanBeSaved) { - fileChange= new SafeFileChange() { - protected void execute() throws Exception { - handleFileDeleted(); - } - }; - } - } - break; - } - - if (fileChange != null) { - fileChange.preRun(); - fManager.execute(fileChange, fSynchronizationContextCount > 0); - } - } - - return true; // because we are sitting on files anyway - } - } - - - - /** The location */ - protected IPath fLocation; - /** The element for which the info is stored */ - protected IFile fFile; - /** How often the element has been connected */ - protected int fReferenceCount; - /** Can the element be saved */ - protected boolean fCanBeSaved= false; - /** Has element state been validated */ - protected boolean fIsStateValidated= false; - /** The status of this element */ - protected IStatus fStatus; - /** The file synchronizer. */ - protected FileSynchronizer fFileSynchronizer; - /** The time stamp at which this buffer synchronized with the underlying file. */ - protected long fSynchronizationStamp= IFile.NULL_STAMP; - /** How often the synchronization context has been requested */ - protected int fSynchronizationContextCount; - /** The text file buffer manager */ - protected TextFileBufferManager fManager; - - - - - public ResourceFileBuffer(TextFileBufferManager manager) { - super(); - fManager= manager; - } - - abstract protected void handleFileContentChanged(); - - abstract protected void addFileBufferContentListeners(); - - abstract protected void removeFileBufferContentListeners(); - - abstract protected void initializeFileBufferContent(IProgressMonitor monitor) throws CoreException; - - abstract protected void commitFileBufferContent(IProgressMonitor monitor, boolean overwrite) throws CoreException; - - public void create(IPath location, IProgressMonitor monitor) throws CoreException { - IFile file= FileBuffers.getWorkspaceFileAtLocation(location); - if (file == null || !file.exists()) - throw new CoreException(new Status(IStatus.ERROR, FileBuffersPlugin.PLUGIN_ID, IStatus.OK, "File does not exist", null)); - - fLocation= location; - fFile= file; - fFileSynchronizer= new FileSynchronizer(); - - refreshFile(monitor); - initializeFileBufferContent(monitor); - fSynchronizationStamp= fFile.getModificationStamp(); - - addFileBufferContentListeners(); - } - - public void connect() { - ++ fReferenceCount; - if (fReferenceCount == 1) - fFileSynchronizer.install(); - } - - public void disconnect() throws CoreException { - -- fReferenceCount; - if (fReferenceCount == 0) { - if (fFileSynchronizer != null) - fFileSynchronizer.uninstall(); - fFileSynchronizer= null; - } - } - - /** - * Returns whether this file buffer has already been disposed. - * - * @return <code>true</code> if already disposed, <code>false</code> otherwise - */ - public boolean isDisposed() { - return fFileSynchronizer == null; - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#getLocation() - */ - public IPath getLocation() { - return fLocation; - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#commit(org.eclipse.core.runtime.IProgressMonitor, boolean) - */ - public void commit(IProgressMonitor monitor, boolean overwrite) throws CoreException { - if (!isDisposed() && fCanBeSaved) { - - fManager.fireStateChanging(this); - - try { - commitFileBufferContent(monitor, overwrite); - } catch (CoreException x) { - fManager.fireStateChangeFailed(this); - throw x; - } catch (RuntimeException x) { - fManager.fireStateChangeFailed(this); - throw x; - } - - fCanBeSaved= false; - addFileBufferContentListeners(); - fManager.fireDirtyStateChanged(this, fCanBeSaved); - } - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#isDirty() - */ - public boolean isDirty() { - return fCanBeSaved; - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#isShared() - */ - public boolean isShared() { - return fReferenceCount > 1; - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#validateState(org.eclipse.core.runtime.IProgressMonitor, java.lang.Object) - */ - public void validateState(IProgressMonitor monitor, Object computationContext) throws CoreException { - if (!isDisposed() && !fIsStateValidated) { - - if (fFile.isReadOnly()) { - IWorkspace workspace= fFile.getWorkspace(); - fStatus= workspace.validateEdit(new IFile[] { fFile }, computationContext); - } - fIsStateValidated= true; - fManager.fireStateValidationChanged(this, fIsStateValidated); - } - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#isStateValidated() - */ - public boolean isStateValidated() { - return fIsStateValidated; - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#resetStateValidation() - */ - public void resetStateValidation() { - if (fIsStateValidated) { - fIsStateValidated= false; - fManager.fireStateValidationChanged(this, fIsStateValidated); - } - } - - /** - * Sends out the notification that the file serving as document input has been moved. - * - * @param newLocation the path of the new location of the file - */ - protected void handleFileMoved(IPath newLocation) { - fManager.fireUnderlyingFileMoved(this, newLocation); - } - - /** - * Sends out the notification that the file serving as document input has been deleted. - */ - protected void handleFileDeleted() { - fManager.fireUnderlyingFileDeleted(this); - } - - /** - * Refreshes the given file. - */ - protected void refreshFile(IProgressMonitor monitor) { - try { - fFile.refreshLocal(IFile.DEPTH_INFINITE, monitor); - } catch (OperationCanceledException x) { - } catch (CoreException x) { - handleCoreException(x); - } - } - - /** - * Defines the standard procedure to handle <code>CoreExceptions</code>. Exceptions - * are written to the plug-in log. - * - * @param exception the exception to be logged - * @param message the message to be logged - */ - protected void handleCoreException(CoreException exception) { - ILog log= Platform.getPlugin(FileBuffersPlugin.PLUGIN_ID).getLog(); - log.log(exception.getStatus()); - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#isSynchronized() - */ - public boolean isSynchronized() { - return fSynchronizationStamp == fFile.getModificationStamp() && fFile.isSynchronized(IResource.DEPTH_ZERO); - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#getModifcationStamp() - */ - public long getModifcationStamp() { - File file= FileBuffers.getSystemFileAtLocation(getLocation()); - if (file != null) - return file.lastModified(); - return IResource.NULL_STAMP; - } - - /** - * Requests the file buffer manager's synchronization context for this file buffer. - */ - public void requestSynchronizationContext() { - ++ fSynchronizationContextCount; - } - - /** - * Releases the file buffer manager's synchronization context for this file buffer. - */ - public void releaseSynchronizationContext() { - -- fSynchronizationContextCount; - } -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ResourceTextFileBuffer.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ResourceTextFileBuffer.java deleted file mode 100644 index b18404c0475..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/ResourceTextFileBuffer.java +++ /dev/null @@ -1,347 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ -package org.eclipse.core.internal.filebuffers; - -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; - -import org.eclipse.core.filebuffers.ITextFileBuffer; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IResourceStatus; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.QualifiedName; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.SubProgressMonitor; - -import org.eclipse.jface.text.DocumentEvent; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IDocumentListener; - -/** - * - */ -public class ResourceTextFileBuffer extends ResourceFileBuffer implements ITextFileBuffer { - - - private class DocumentListener implements IDocumentListener { - - /* - * @see org.eclipse.jface.text.IDocumentListener#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent) - */ - public void documentAboutToBeChanged(DocumentEvent event) { - } - - /* - * @see org.eclipse.jface.text.IDocumentListener#documentChanged(org.eclipse.jface.text.DocumentEvent) - */ - public void documentChanged(DocumentEvent event) { - fCanBeSaved= true; - removeFileBufferContentListeners(); - fManager.fireDirtyStateChanged(ResourceTextFileBuffer.this, fCanBeSaved); - } - } - - /** - * Reader chunk size. - */ - static final private int READER_CHUNK_SIZE= 2048; - /** - * Buffer size. - */ - static final private int BUFFER_SIZE= 8 * READER_CHUNK_SIZE; - /** - * Qualified name for the encoding key. - */ - static final private QualifiedName ENCODING_KEY= new QualifiedName(FileBuffersPlugin.PLUGIN_ID, "encoding"); //$NON-NLS-1$ - /** - * Constant for representing the ok status. This is considered a value object. - */ - static final private IStatus STATUS_OK= new Status(IStatus.OK, FileBuffersPlugin.PLUGIN_ID, IStatus.OK, "OK", null); - /** - * Constant for representing the error status. This is considered a value object. - */ - static final private IStatus STATUS_ERROR= new Status(IStatus.ERROR, FileBuffersPlugin.PLUGIN_ID, IStatus.INFO, "Error", null); - - - - /** The element's document */ - protected IDocument fDocument; - /** The encoding used to create the document from the storage or <code>null</code> for workbench encoding. */ - protected String fEncoding; - /** Internal document listener */ - protected IDocumentListener fDocumentListener= new DocumentListener(); - - - - public ResourceTextFileBuffer(TextFileBufferManager manager) { - super(manager); - } - - /* - * @see org.eclipse.core.buffer.text.IBufferedTextFile#getDocument() - */ - public IDocument getDocument() { - return fDocument; - } - - /* - * @see org.eclipse.core.buffer.text.IBufferedTextFile#getEncoding() - */ - public String getEncoding() { - return fEncoding; - } - - /* - * @see org.eclipse.core.buffer.text.IBufferedTextFile#setEncoding(java.lang.String) - */ - public void setEncoding(String encoding) { - fEncoding= encoding; - try { - fFile.setPersistentProperty(ENCODING_KEY, encoding); - } catch (CoreException x) { - handleCoreException(x); - } - } - - /* - * @see org.eclipse.core.buffer.text.IBufferedFile#getStatus() - */ - public IStatus getStatus() { - if (!isDisposed()) { - if (fStatus != null) - return fStatus; - return (fDocument == null ? STATUS_ERROR : STATUS_OK); - } - return STATUS_ERROR; - } - - /* - * @see org.eclipse.core.filebuffers.IFileBuffer#revert(org.eclipse.core.runtime.IProgressMonitor) - */ - public void revert(IProgressMonitor monitor) throws CoreException { - if (isDisposed()) - return; - - refreshFile(monitor); - - IDocument original= null; - IStatus status= null; - - try { - original= fManager.createEmptyDocument(fFile.getLocation()); - setDocumentContent(original, fFile.getContents(), fEncoding); - } catch (CoreException x) { - status= x.getStatus(); - } - - fStatus= status; - - if (original != null) { - - String originalContents= original.get(); - boolean replaceContents= !originalContents.equals(fDocument.get()); - - if (replaceContents) { - fManager.fireBufferContentAboutToBeReplaced(this); - fDocument.set(original.get()); - } - - if (fCanBeSaved) { - fCanBeSaved= false; - addFileBufferContentListeners(); - } - - if (replaceContents) - fManager.fireBufferContentReplaced(this); - - fManager.fireDirtyStateChanged(this, fCanBeSaved); - } - } - - /* - * @see org.eclipse.core.internal.filebuffers.FileBuffer#addFileBufferContentListeners() - */ - protected void addFileBufferContentListeners() { - if (fDocument != null) - fDocument.addDocumentListener(fDocumentListener); - } - - /* - * @see org.eclipse.core.internal.filebuffers.FileBuffer#removeFileBufferContentListeners() - */ - protected void removeFileBufferContentListeners() { - if (fDocument != null) - fDocument.removeDocumentListener(fDocumentListener); - } - - /* - * @see org.eclipse.core.internal.filebuffers.FileBuffer#initializeFileBufferContent(org.eclipse.core.runtime.IProgressMonitor) - */ - protected void initializeFileBufferContent(IProgressMonitor monitor) throws CoreException { - try { - fEncoding= fFile.getPersistentProperty(ENCODING_KEY); - fDocument= fManager.createEmptyDocument(fFile.getLocation()); - setDocumentContent(fDocument, fFile.getContents(), fEncoding); - } catch (CoreException x) { - fDocument= fManager.createEmptyDocument(fFile.getLocation()); - fStatus= x.getStatus(); - } - } - - /* - * @see org.eclipse.core.internal.filebuffers.FileBuffer#commitFileBufferContent(org.eclipse.core.runtime.IProgressMonitor, boolean) - */ - protected void commitFileBufferContent(IProgressMonitor monitor, boolean overwrite) throws CoreException { - try { - - String encoding= getEncoding(); - if (encoding == null) - encoding= fManager.getDefaultEncoding(); - - InputStream stream= new ByteArrayInputStream(fDocument.get().getBytes(encoding)); - - if (fFile.exists()) { - - if (!overwrite) - checkSynchronizationState(); - - - // here the file synchronizer should actually be removed and afterwards added again. However, - // we are already inside an operation, so the delta is sent AFTER we have added the listener - fFile.setContents(stream, overwrite, true, monitor); - // set synchronization stamp to know whether the file synchronizer must become active - fSynchronizationStamp= fFile.getModificationStamp(); - - // TODO if there is an annotation model update it here - - } else { - - try { - monitor.beginTask("Saving", 2000); //$NON-NLS-1$ - ContainerGenerator generator = new ContainerGenerator(fFile.getWorkspace(), fFile.getParent().getFullPath()); - generator.generateContainer(new SubProgressMonitor(monitor, 1000)); - fFile.create(stream, false, new SubProgressMonitor(monitor, 1000)); - } - finally { - monitor.done(); - } - } - - } catch (IOException x) { - String message= (x.getMessage() != null ? x.getMessage() : ""); //$NON-NLS-1$ - IStatus s= new Status(IStatus.ERROR, FileBuffersPlugin.PLUGIN_ID, IStatus.OK, message, x); - throw new CoreException(s); - } - } - - /** - * Updates the element info to a change of the file content and sends out appropriate notifications. - */ - protected void handleFileContentChanged() { - if (isDisposed()) - return; - - IDocument document= fManager.createEmptyDocument(fFile.getLocation()); - IStatus status= null; - - try { - setDocumentContent(document, fFile.getContents(false), fEncoding); - } catch (CoreException x) { - status= x.getStatus(); - } - - String newContent= document.get(); - - if ( !newContent.equals(fDocument.get())) { - - fManager.fireBufferContentAboutToBeReplaced(this); - - removeFileBufferContentListeners(); - fDocument.set(newContent); - fCanBeSaved= false; - fSynchronizationStamp= fFile.getModificationStamp(); - fStatus= status; - addFileBufferContentListeners(); - - fManager.fireBufferContentReplaced(this); - - } else { - - removeFileBufferContentListeners(); - fCanBeSaved= false; - fSynchronizationStamp= fFile.getModificationStamp(); - fStatus= status; - addFileBufferContentListeners(); - - fManager.fireDirtyStateChanged(this, fCanBeSaved); - } - } - - /** - * Intitializes the given document with the given stream using the given encoding. - * - * @param document the document to be initialized - * @param contentStream the stream which delivers the document content - * @param encoding the character encoding for reading the given stream - * @exception CoreException if the given stream can not be read - */ - private void setDocumentContent(IDocument document, InputStream contentStream, String encoding) throws CoreException { - Reader in= null; - try { - - if (encoding == null) - encoding= fManager.getDefaultEncoding(); - - in= new BufferedReader(new InputStreamReader(contentStream, encoding), BUFFER_SIZE); - StringBuffer buffer= new StringBuffer(BUFFER_SIZE); - char[] readBuffer= new char[READER_CHUNK_SIZE]; - int n= in.read(readBuffer); - while (n > 0) { - buffer.append(readBuffer, 0, n); - n= in.read(readBuffer); - } - - document.set(buffer.toString()); - - } catch (IOException x) { - String message= (x.getMessage() != null ? x.getMessage() : ""); //$NON-NLS-1$ - IStatus s= new Status(IStatus.ERROR, FileBuffersPlugin.PLUGIN_ID, IStatus.OK, message, x); - throw new CoreException(s); - } finally { - if (in != null) { - try { - in.close(); - } catch (IOException x) { - } - } - } - } - - /** - * Checks whether the given file is synchronized with the the local file system. - * If the file has been changed, a <code>CoreException</code> is thrown. - * - * @param file the file to check - * @exception CoreException if file has been changed on the file system - */ - private void checkSynchronizationState() throws CoreException { - if (!fFile.isSynchronized(IFile.DEPTH_ZERO)) { - Status status= new Status(IStatus.ERROR, FileBuffersPlugin.PLUGIN_ID, IResourceStatus.OUT_OF_SYNC_LOCAL, "out of sync", null); - throw new CoreException(status); - } - } -} diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/TextFileBufferManager.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/TextFileBufferManager.java deleted file mode 100644 index e2685562031..00000000000 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/TextFileBufferManager.java +++ /dev/null @@ -1,301 +0,0 @@ -/********************************************************************** -Copyright (c) 2000, 2003 IBM Corp. 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 implementation -**********************************************************************/ -package org.eclipse.core.internal.filebuffers; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; - -import org.eclipse.core.filebuffers.FileBuffers; -import org.eclipse.core.filebuffers.IDocumentFactory; -import org.eclipse.core.filebuffers.IDocumentSetupParticipant; -import org.eclipse.core.filebuffers.IFileBuffer; -import org.eclipse.core.filebuffers.IFileBufferListener; -import org.eclipse.core.filebuffers.ISynchronizationContext; -import org.eclipse.core.filebuffers.ITextFileBuffer; -import org.eclipse.core.filebuffers.ITextFileBufferManager; - -import org.eclipse.jface.text.Assert; -import org.eclipse.jface.text.Document; -import org.eclipse.jface.text.IDocument; - -/** - * @since 3.0 - */ -public class TextFileBufferManager implements ITextFileBufferManager { - - private Map fFilesBuffers= new HashMap(); - private List fFileBufferListeners= new ArrayList(); - private ExtensionsRegistry fRegistry; - private ISynchronizationContext fSynchronizationContext; - - - public TextFileBufferManager() { - fRegistry= new ExtensionsRegistry(); - } - - /* - * @see org.eclipse.core.filebuffers.IFileBufferManager#connect(org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IProgressMonitor) - */ - public void connect(IPath location, IProgressMonitor monitor) throws CoreException { - Assert.isNotNull(location); - location= FileBuffers.normalizeLocation(location); - - AbstractFileBuffer fileBuffer= (AbstractFileBuffer) fFilesBuffers.get(location); - if (fileBuffer == null) { - - fileBuffer= createFileBuffer(location); - if (fileBuffer == null) - throw new CoreException(new Status(IStatus.ERROR, FileBuffersPlugin.PLUGIN_ID, 0, "Cannot create file buffer.", null)); - - fileBuffer.create(location, monitor); - fileBuffer.connect(); - fFilesBuffers.put(location, fileBuffer); - fireBufferCreated(fileBuffer); - - } else { - fileBuffer.connect(); - } - } - - /* - * @see org.eclipse.core.filebuffers.IFileBufferManager#disconnect(org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IProgressMonitor) - */ - public void disconnect(IPath location, IProgressMonitor monitor) throws CoreException { - Assert.isNotNull(location); - location= FileBuffers.normalizeLocation(location); - - AbstractFileBuffer fileBuffer= (AbstractFileBuffer) fFilesBuffers.get(location); - if (fileBuffer != null) { - fileBuffer.disconnect(); - if (fileBuffer.isDisposed()) { - fFilesBuffers.remove(location); - fireBufferDisposed(fileBuffer); - } - } - } - - private AbstractFileBuffer createFileBuffer(IPath location) { - if (!isTextFile(location)) - return null; - - if (isWorkspaceResource(location)) - return new ResourceTextFileBuffer(this); - - return new JavaTextFileBuffer(this); - } - - private boolean isWorkspaceResource(IPath location) { - return FileBuffers.getWorkspaceFileAtLocation(location) != null; - } - - private boolean isTextFile(IPath location) { - return true; - } - - /* - * @see org.eclipse.core.filebuffers.IFileBufferManager#getFileBuffer(org.eclipse.core.runtime.IPath) - */ - public IFileBuffer getFileBuffer(IPath location) { - location= FileBuffers.normalizeLocation(location); - return (IFileBuffer) fFilesBuffers.get(location); - } - - /* - * @see org.eclipse.core.filebuffers.ITextFileBufferManager#getTextFileBuffer(org.eclipse.core.runtime.IPath) - */ - public ITextFileBuffer getTextFileBuffer(IPath location) { - location= FileBuffers.normalizeLocation(location); - return (ITextFileBuffer) fFilesBuffers.get(location); - } - - /* - * @see org.eclipse.core.buffer.text.IBufferedFileManager#getDefaultEncoding() - */ - public String getDefaultEncoding() { - return ResourcesPlugin.getEncoding(); - } - - /* - * @see org.eclipse.core.filebuffers.ITextFileBufferManager#createEmptyDocument(org.eclipse.core.runtime.IPath) - */ - public IDocument createEmptyDocument(IPath location) { - Assert.isNotNull(location); - location= FileBuffers.normalizeLocation(location); - - IDocumentFactory factory= fRegistry.getDocumentFactory(location); - - IDocument document= null; - if (factory != null) - document= factory.createDocument(); - else - document= new Document(); - - IDocumentSetupParticipant[] participants= fRegistry.getDocumentSetupParticipants(location); - if (participants != null) { - for (int i= 0; i < participants.length; i++) - participants[i].setup(document); - } - - return document; - } - - /* - * @see org.eclipse.core.filebuffers.IFileBufferManager#addFileBufferListener(org.eclipse.core.filebuffers.IFileBufferListener) - */ - public void addFileBufferListener(IFileBufferListener listener) { - Assert.isNotNull(listener); - if (!fFileBufferListeners.contains(listener)) - fFileBufferListeners.add(listener); - } - - /* - * @see org.eclipse.core.filebuffers.IFileBufferManager#removeFileBufferListener(org.eclipse.core.filebuffers.IFileBufferListener) - */ - public void removeFileBufferListener(IFileBufferListener listener) { - Assert.isNotNull(listener); - fFileBufferListeners.remove(listener); - } - - /* - * @see org.eclipse.core.filebuffers.IFileBufferManager#setSynchronizationContext(org.eclipse.core.filebuffers.ISynchronizationContext) - */ - public void setSynchronizationContext(ISynchronizationContext context) { - fSynchronizationContext= context; - } - - /* - * @see org.eclipse.core.filebuffers.IFileBufferManager#requestSynchronizationContext(org.eclipse.core.runtime.IPath) - */ - public void requestSynchronizationContext(IPath location) { - Assert.isNotNull(location); - location= FileBuffers.normalizeLocation(location); - - AbstractFileBuffer fileBuffer= (AbstractFileBuffer) fFilesBuffers.get(location); - if (fileBuffer != null) - fileBuffer.requestSynchronizationContext(); - } - - /* - * @see org.eclipse.core.filebuffers.IFileBufferManager#releaseSynchronizationContext(org.eclipse.core.runtime.IPath) - */ - public void releaseSynchronizationContext(IPath location) { - Assert.isNotNull(location); - location= FileBuffers.normalizeLocation(location); - - AbstractFileBuffer fileBuffer= (AbstractFileBuffer) fFilesBuffers.get(location); - if (fileBuffer != null) - fileBuffer.releaseSynchronizationContext(); - } - - /** - * Executes the given runnable in the synchronization context of this file buffer manager. - * If there is no synchronization context connected with this manager, the runnable is - * directly executed. - * - * @param runnable the runnable to be executed - */ - public void execute(Runnable runnable, boolean requestSynchronizationContext) { - if (requestSynchronizationContext && fSynchronizationContext != null) - fSynchronizationContext.run(runnable); - else - runnable.run(); - } - - protected void fireDirtyStateChanged(IFileBuffer buffer, boolean isDirty) { - Iterator e= new ArrayList(fFileBufferListeners).iterator(); - while (e.hasNext()) { - IFileBufferListener l= (IFileBufferListener) e.next(); - l.dirtyStateChanged(buffer, isDirty); - } - } - - protected void fireBufferContentAboutToBeReplaced(IFileBuffer buffer) { - Iterator e= new ArrayList(fFileBufferListeners).iterator(); - while (e.hasNext()) { - IFileBufferListener l= (IFileBufferListener) e.next(); - l.bufferContentAboutToBeReplaced(buffer); - } - } - - protected void fireBufferContentReplaced(IFileBuffer buffer) { - Iterator e= new ArrayList(fFileBufferListeners).iterator(); - while (e.hasNext()) { - IFileBufferListener l= (IFileBufferListener) e.next(); - l.bufferContentReplaced(buffer); - } - } - - protected void fireUnderlyingFileMoved(IFileBuffer buffer, IPath target) { - Iterator e= new ArrayList(fFileBufferListeners).iterator(); - while (e.hasNext()) { - IFileBufferListener l= (IFileBufferListener) e.next(); - l.underlyingFileMoved(buffer, target); - } - } - - protected void fireUnderlyingFileDeleted(IFileBuffer buffer) { - Iterator e= new ArrayList(fFileBufferListeners).iterator(); - while (e.hasNext()) { - IFileBufferListener l= (IFileBufferListener) e.next(); - l.underlyingFileDeleted(buffer); - } - } - - protected void fireStateValidationChanged(IFileBuffer buffer, boolean isStateValidated) { - Iterator e= new ArrayList(fFileBufferListeners).iterator(); - while (e.hasNext()) { - IFileBufferListener l= (IFileBufferListener) e.next(); - l.stateValidationChanged(buffer, isStateValidated); - } - } - - protected void fireStateChanging(IFileBuffer buffer) { - Iterator e= new ArrayList(fFileBufferListeners).iterator(); - while (e.hasNext()) { - IFileBufferListener l= (IFileBufferListener) e.next(); - l.stateChanging(buffer); - } - } - - protected void fireStateChangeFailed(IFileBuffer buffer) { - Iterator e= new ArrayList(fFileBufferListeners).iterator(); - while (e.hasNext()) { - IFileBufferListener l= (IFileBufferListener) e.next(); - l.stateChangeFailed(buffer); - } - } - - protected void fireBufferCreated(IFileBuffer buffer) { - Iterator e= new ArrayList(fFileBufferListeners).iterator(); - while (e.hasNext()) { - IFileBufferListener l= (IFileBufferListener) e.next(); - l.bufferCreated(buffer); - } - } - - protected void fireBufferDisposed(IFileBuffer buffer) { - Iterator e= new ArrayList(fFileBufferListeners).iterator(); - while (e.hasNext()) { - IFileBufferListener l= (IFileBufferListener) e.next(); - l.bufferDisposed(buffer); - } - } -} diff --git a/org.eclipse.search/.classpath b/org.eclipse.search/.classpath deleted file mode 100644 index a9ba8cb51e5..00000000000 --- a/org.eclipse.search/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="search"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/org.eclipse.search/.cvsignore b/org.eclipse.search/.cvsignore deleted file mode 100644 index ba077a4031a..00000000000 --- a/org.eclipse.search/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin diff --git a/org.eclipse.search/.project b/org.eclipse.search/.project deleted file mode 100644 index aa7e58b5ea3..00000000000 --- a/org.eclipse.search/.project +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.search</name> - <comment></comment> - <projects> - <project>org.eclipse.core.boot</project> - <project>org.eclipse.core.filebuffers</project> - <project>org.eclipse.core.resources</project> - <project>org.eclipse.core.runtime</project> - <project>org.eclipse.core.runtime.compatibility</project> - <project>org.eclipse.jface.text</project> - <project>org.eclipse.swt</project> - <project>org.eclipse.ui</project> - <project>org.eclipse.ui.editors</project> - <project>org.eclipse.ui.ide</project> - <project>org.eclipse.ui.workbench.texteditor</project> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.PluginNature</nature> - </natures> -</projectDescription> diff --git a/org.eclipse.search/about.html b/org.eclipse.search/about.html deleted file mode 100644 index 9db411aab99..00000000000 --- a/org.eclipse.search/about.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>20th June, 2002</p> -<h3>License</h3> -<p>Eclipse.org makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>. -For purposes of the CPL, "Program" will mean the Content.</p> - -<h3>Contributions</h3> - -<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise -made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such -Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p> - -<p>If this Content is licensed to you under license terms and conditions other than the CPL ("Other License"), any modifications, enhancements and/or -other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the -host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available -to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also -providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of -the CPL.</p> - -</body> -</html>
\ No newline at end of file diff --git a/org.eclipse.search/build.properties b/org.eclipse.search/build.properties deleted file mode 100644 index b4d9c8eedb8..00000000000 --- a/org.eclipse.search/build.properties +++ /dev/null @@ -1,18 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Common Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/cpl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = plugin.xml,\ - about.html,\ - icons/,\ - plugin.properties,\ - *.jar -src.includes = about.html,\ - schema/ -source.search.jar = search/ diff --git a/org.eclipse.search/buildnotes_search.html b/org.eclipse.search/buildnotes_search.html deleted file mode 100644 index 82ce5bbb62c..00000000000 --- a/org.eclipse.search/buildnotes_search.html +++ /dev/null @@ -1,189 +0,0 @@ -<!-- - DO NOT EDIT THIS FILE WITH HTML EDITORS ---> - -<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en"> -<html> - -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <meta name="GENERATOR" content="Mozilla/4.76 [en] (Windows NT 5.0; U) [Netscape]"> - <title>Eclipse Platform Build Notes - Search</title> -</head> - -<body> -<h1> -Eclipse Platform Build Notes<br> -Search</h1> -To see which bugs have been addressed in one of the builds simply open the <a href="http://bugs.eclipse.org/bugs/query.cgi?short_desc_type=allwordssubstr&product=Platform&component=Search&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&namedcmd=Assigned&newqueryname=&field0-0-0=noop&type0-0-0=noop&value0-0-0=">Search bugzilla query page</a>, select status, resolution and the time frame. -<br> -<br> -<br> -========== Eclipse Build Input December 16th 2003 ==========<br> - -<!-- Add what's new below and end each line with br tag --> -<pre> -- bug fixing -</pre> -<br> -<br> -========== Eclipse Build Input November 18th 2003 ==========<br> - -<!-- Add what's new below and end each line with br tag --> -<pre> -- Added a new interface IReplacePage. If an ISearchPage implements IReplacePage, - a "Replace" button will be shown in the search dialog (when the page is active). - The text search page implements that interface. -- Extended the text replace dialog to support "Replace in File" and "Replace All" actions. -</pre> -<br> -<br> -========== Eclipse Build Input November 11th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<pre> -- Converted to RPC -</pre> -<br> -<br> - -========== Eclipse Build Input October 28th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<pre> -- A new preference has been introduced which allows to prevent the - Search view from being activated. -- Search annotations can be configured to be highlighted using background painter -</pre> -<br> -<br> -========== Eclipse Build Input October 21th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<pre> -- 1 bug fixed -</pre> -<br> -<br> -========== Eclipse Build Input October 7th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<pre> -- Added F1 help for File search page's regular expression support -</pre> -<br> -<br> -========== Eclipse Build Input September 30th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<br> -<br> -========== Eclipse Build Input September 23th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<br> -<br> -========== Eclipse Build Input September 16th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<pre> -- File Search page now supports regular expressions -- 1 bug fixed -</pre -<br> -========== Eclipse Build Input September 9th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<br> -<br> -========== Eclipse Build Input September 3th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<br> -<br> -========== Eclipse Build Input August 26th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<br> -<br> -========== Eclipse Build Input August 19th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<pre> -- Added a new attribute "canSearchEnclosingProjects" to the extension point - "org.eclipse.search.searchPages". If the attribute is set to true, the search - dialog scope area will have a new radio button labeled "Enclosing Projects". - Search page contributors whishing to support search in projects enclosing the - current selection have to set this attribute to true and handle the new search - scope constant org.eclipse.search.ui.ISearchPageContainer.SELECTED_PROJECTS_SCOPE. - The file search page supports search in enclosing projects. -- Improved project scope -</pre> -<br> -<br> -========== Eclipse Build Input August 12th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -- Project scope has been added to the Search dialog (see feature 16287) -<br> -<br> -========== Eclipse Build Input August 5th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<br> -<br> -========== Eclipse Build Input July 29th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<br> -<br> -========== Eclipse Build Input July 22th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<br> -<br> -========== Eclipse Build Input July 15th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<br> -<br> -========== Eclipse Build Input July 8st 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -- searchPage contributors can now specify a custom help context ID for the Search view.<br> -<br> -<br> -========== Eclipse Build Input July 1st 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -- 1 bug fixed<br> -<br> -<br> -========== Eclipse Build Input June 24th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<br> -<br> -========== Eclipse Build Input June 17th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -- Added missing requirement in schema documentation -<br> -<br> -========== Eclipse Build Input June 10th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<br> -<br> -========== Eclipse Build Input June 3rd 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -- 1 bug fixed<br> -<br> -<br> -========== Eclipse Build Input May 27th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<br> -<br> -========== Eclipse Build Input May 20th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<br> -<br> -========== Eclipse Build Input May 13th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -- 1 bug fixed<br> -<br> -<br> -========== Eclipse Build Input May 6th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -- 1 bug fixed<br> -<br> -<br> -========== Eclipse Build Input April 29th 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -<br> -<br> -========== Eclipse Build Input April 22nd 2003 ==========<br> -<!-- Add what's new below and end each line with br tag --> -- 1 bug fixed<br> -<br> -<br> -</body></html>
\ No newline at end of file diff --git a/org.eclipse.search/hglegal2003.htm b/org.eclipse.search/hglegal2003.htm deleted file mode 100644 index 47c8540c84c..00000000000 --- a/org.eclipse.search/hglegal2003.htm +++ /dev/null @@ -1,14 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <LINK REL="stylesheet" HREF="book.css" CHARSET="ISO-8859-1" TYPE="text/css"> - <title>Legal Notices</title> -</head> -<body> - -<h3> -<a NAME="Notices"></a>Notices</h3> -(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved. -</body> -</html> diff --git a/org.eclipse.search/icons/full/clcl16/search_goto.gif b/org.eclipse.search/icons/full/clcl16/search_goto.gif Binary files differdeleted file mode 100644 index 80484787d21..00000000000 --- a/org.eclipse.search/icons/full/clcl16/search_goto.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/clcl16/search_history.gif b/org.eclipse.search/icons/full/clcl16/search_history.gif Binary files differdeleted file mode 100644 index 151fe137e33..00000000000 --- a/org.eclipse.search/icons/full/clcl16/search_history.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/clcl16/search_next.gif b/org.eclipse.search/icons/full/clcl16/search_next.gif Binary files differdeleted file mode 100644 index 8392f3345c5..00000000000 --- a/org.eclipse.search/icons/full/clcl16/search_next.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/clcl16/search_prev.gif b/org.eclipse.search/icons/full/clcl16/search_prev.gif Binary files differdeleted file mode 100644 index 9b278e6fa81..00000000000 --- a/org.eclipse.search/icons/full/clcl16/search_prev.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/clcl16/search_rem.gif b/org.eclipse.search/icons/full/clcl16/search_rem.gif Binary files differdeleted file mode 100644 index 12a9167c59d..00000000000 --- a/org.eclipse.search/icons/full/clcl16/search_rem.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/clcl16/search_remall.gif b/org.eclipse.search/icons/full/clcl16/search_remall.gif Binary files differdeleted file mode 100644 index 2c069ab3f43..00000000000 --- a/org.eclipse.search/icons/full/clcl16/search_remall.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/clcl16/search_sortmatch.gif b/org.eclipse.search/icons/full/clcl16/search_sortmatch.gif Binary files differdeleted file mode 100644 index 9ed470d02f7..00000000000 --- a/org.eclipse.search/icons/full/clcl16/search_sortmatch.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/clcl16/search_stop.gif b/org.eclipse.search/icons/full/clcl16/search_stop.gif Binary files differdeleted file mode 100644 index 4eb53ec41c4..00000000000 --- a/org.eclipse.search/icons/full/clcl16/search_stop.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/ctool16/search.gif b/org.eclipse.search/icons/full/ctool16/search.gif Binary files differdeleted file mode 100644 index 6dc3ebefc92..00000000000 --- a/org.eclipse.search/icons/full/ctool16/search.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/cview16/searchres.gif b/org.eclipse.search/icons/full/cview16/searchres.gif Binary files differdeleted file mode 100644 index 8b39ab3b8be..00000000000 --- a/org.eclipse.search/icons/full/cview16/searchres.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/dlcl16/search_goto.gif b/org.eclipse.search/icons/full/dlcl16/search_goto.gif Binary files differdeleted file mode 100644 index 4d8cd04e403..00000000000 --- a/org.eclipse.search/icons/full/dlcl16/search_goto.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/dlcl16/search_history.gif b/org.eclipse.search/icons/full/dlcl16/search_history.gif Binary files differdeleted file mode 100644 index ee26f79a803..00000000000 --- a/org.eclipse.search/icons/full/dlcl16/search_history.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/dlcl16/search_next.gif b/org.eclipse.search/icons/full/dlcl16/search_next.gif Binary files differdeleted file mode 100644 index 6cbeced2629..00000000000 --- a/org.eclipse.search/icons/full/dlcl16/search_next.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/dlcl16/search_prev.gif b/org.eclipse.search/icons/full/dlcl16/search_prev.gif Binary files differdeleted file mode 100644 index a3441a06280..00000000000 --- a/org.eclipse.search/icons/full/dlcl16/search_prev.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/dlcl16/search_rem.gif b/org.eclipse.search/icons/full/dlcl16/search_rem.gif Binary files differdeleted file mode 100644 index 7e0ad4aed42..00000000000 --- a/org.eclipse.search/icons/full/dlcl16/search_rem.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/dlcl16/search_remall.gif b/org.eclipse.search/icons/full/dlcl16/search_remall.gif Binary files differdeleted file mode 100644 index 7ace43e8a73..00000000000 --- a/org.eclipse.search/icons/full/dlcl16/search_remall.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/dlcl16/search_sortmatch.gif b/org.eclipse.search/icons/full/dlcl16/search_sortmatch.gif Binary files differdeleted file mode 100644 index 8a47d61be8d..00000000000 --- a/org.eclipse.search/icons/full/dlcl16/search_sortmatch.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/dlcl16/search_stop.gif b/org.eclipse.search/icons/full/dlcl16/search_stop.gif Binary files differdeleted file mode 100644 index 7f0f9b925f8..00000000000 --- a/org.eclipse.search/icons/full/dlcl16/search_stop.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/dtool16/search.gif b/org.eclipse.search/icons/full/dtool16/search.gif Binary files differdeleted file mode 100644 index 5fe80f3fc6e..00000000000 --- a/org.eclipse.search/icons/full/dtool16/search.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/elcl16/search_goto.gif b/org.eclipse.search/icons/full/elcl16/search_goto.gif Binary files differdeleted file mode 100644 index d02e028054b..00000000000 --- a/org.eclipse.search/icons/full/elcl16/search_goto.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/elcl16/search_history.gif b/org.eclipse.search/icons/full/elcl16/search_history.gif Binary files differdeleted file mode 100644 index d1e6b85ecf4..00000000000 --- a/org.eclipse.search/icons/full/elcl16/search_history.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/elcl16/search_next.gif b/org.eclipse.search/icons/full/elcl16/search_next.gif Binary files differdeleted file mode 100644 index 1d0b40adc61..00000000000 --- a/org.eclipse.search/icons/full/elcl16/search_next.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/elcl16/search_prev.gif b/org.eclipse.search/icons/full/elcl16/search_prev.gif Binary files differdeleted file mode 100644 index 13729577c02..00000000000 --- a/org.eclipse.search/icons/full/elcl16/search_prev.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/elcl16/search_rem.gif b/org.eclipse.search/icons/full/elcl16/search_rem.gif Binary files differdeleted file mode 100644 index 310510ee588..00000000000 --- a/org.eclipse.search/icons/full/elcl16/search_rem.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/elcl16/search_remall.gif b/org.eclipse.search/icons/full/elcl16/search_remall.gif Binary files differdeleted file mode 100644 index 33908b12653..00000000000 --- a/org.eclipse.search/icons/full/elcl16/search_remall.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/elcl16/search_sortmatch.gif b/org.eclipse.search/icons/full/elcl16/search_sortmatch.gif Binary files differdeleted file mode 100644 index 336c0ec3d09..00000000000 --- a/org.eclipse.search/icons/full/elcl16/search_sortmatch.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/elcl16/search_stop.gif b/org.eclipse.search/icons/full/elcl16/search_stop.gif Binary files differdeleted file mode 100644 index a519f44d453..00000000000 --- a/org.eclipse.search/icons/full/elcl16/search_stop.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/etool16/search.gif b/org.eclipse.search/icons/full/etool16/search.gif Binary files differdeleted file mode 100644 index 57ed3b4f6dd..00000000000 --- a/org.eclipse.search/icons/full/etool16/search.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/eview16/searchres.gif b/org.eclipse.search/icons/full/eview16/searchres.gif Binary files differdeleted file mode 100644 index 7425e604f91..00000000000 --- a/org.eclipse.search/icons/full/eview16/searchres.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/obj16/searchm_obj.gif b/org.eclipse.search/icons/full/obj16/searchm_obj.gif Binary files differdeleted file mode 100644 index 657b67e716e..00000000000 --- a/org.eclipse.search/icons/full/obj16/searchm_obj.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/obj16/tsearch_dpdn_obj.gif b/org.eclipse.search/icons/full/obj16/tsearch_dpdn_obj.gif Binary files differdeleted file mode 100644 index e6be5623860..00000000000 --- a/org.eclipse.search/icons/full/obj16/tsearch_dpdn_obj.gif +++ /dev/null diff --git a/org.eclipse.search/icons/full/obj16/tsearch_obj.gif b/org.eclipse.search/icons/full/obj16/tsearch_obj.gif Binary files differdeleted file mode 100644 index 73ac91bddbc..00000000000 --- a/org.eclipse.search/icons/full/obj16/tsearch_obj.gif +++ /dev/null diff --git a/org.eclipse.search/ngibmcpy2003.gif b/org.eclipse.search/ngibmcpy2003.gif Binary files differdeleted file mode 100644 index c786e43e1f9..00000000000 --- a/org.eclipse.search/ngibmcpy2003.gif +++ /dev/null diff --git a/org.eclipse.search/old_buildnotes_search_2.1.html b/org.eclipse.search/old_buildnotes_search_2.1.html deleted file mode 100644 index 7822f778b7a..00000000000 --- a/org.eclipse.search/old_buildnotes_search_2.1.html +++ /dev/null @@ -1,3403 +0,0 @@ -<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"><html><head> - - - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - - - - <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]"> - - - - <meta name="Author" content="IBM"><title>Eclipse Platform Release Notes - Search</title></head><body> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20030227 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003%2F02%2F20&chfieldto=2003%2F02%2F27&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2003/02/20 and 2003/02/27.<br> -<br> -<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20030220 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003%2F02%2F18&chfieldto=2003%2F02%2F20&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2003/02/18 and 2003/02/20.<br> -<br> - -<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20030218 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003%2F02%2F13&chfieldto=2003%2F02%2F18&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2003/02/13 and 2003/02/18.<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20030213 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003%2F02%2F11&chfieldto=2003%2F02%2F13&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2003/02/11 and 2003/02/13.<br> -<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20030211 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003%2F02%2F07&chfieldto=2003%2F02%2F11&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2003/02/07 and 2003/02/11.<br> -<br> - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20030206 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003%2F02%2F05&chfieldto=2003%2F02%2F06&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2003/02/05 and 2003/02/06.<br> - -<br> - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20030205 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003%2F01%2F28&chfieldto=2003%2F02%2F05&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2003/01/28 and 2003/02/05.<br> -<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20030128 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003%2F01%2F21&chfieldto=2003%2F01%2F28&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2003/01/21 and 2003/01/28.<br> -<br> - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20030121 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003%2F01%2F14&chfieldto=2003%2F01%2F21&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2003/01/14 and 2003/01/21.<br> - -<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20030114 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003%2F01%2F07&chfieldto=2003%2F01%2F14&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2003/01/07 and 2003/01/14.<br> - -<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20030107 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F12%2F16&chfieldto=2003%2F01%2F07&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/12/16 and 2003/01/07.<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20021216 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F12%2F13&chfieldto=2002%2F12%2F16&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/12/13 and 2002/12/16.<br> - -<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20021213 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F12%2F10&chfieldto=2002%2F12%2F13&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/12/10 and 2002/12/13.<br> -<br> -<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20021210 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F11%2F26&chfieldto=2002%2F12%2F10&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/11/26 and 2002/12/10.<br> -<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20021126 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F11%2F19&chfieldto=2002%2F11%2F26&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/11/19 and 2002/11/26.<br> -<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20021119 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F11%2F13&chfieldto=2002%2F11%2F19&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/11/13 and 2002/11/19. -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20021113 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F11%2F12&chfieldto=2002%2F11%2F13&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/11/12 and 2002/11/13. -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20021112 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F10%2F29&chfieldto=2002%2F11%2F12&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/10/29 and 2002/11/12. -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20021029 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - - -<ul> -<li>A default perspective can be configured for the Search view.<br></li> -</ul> - - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F10%2F15&chfieldto=2002%2F10%2F29&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/10/15 and 2002/10/29.<br> -<br> - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20021015 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F10%2F08&chfieldto=2002%2F10%2F15&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/10/08 and 2002/10/15.<br> -<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20021008 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F10%2F01&chfieldto=2002%2F10%2F08&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/10/01 and 2002/10/08.<br> -<br> - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20021001 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - - - -<h2>Problem Reports</h2> - - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F09%2F19&chfieldto=2002%2F10%2F01&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/09/19 and 2002/10/01.<br> -<br> - -<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20020919 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - - -<ul> -<li>Added "openWith" context menu<br></li> -</ul> - - - - - - - -<h2>Problem Reports</h2> - - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F09%2F10&chfieldto=2002%2F09%2F20&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/09/10 and 2002/09/19.<br> -<br> -<br> - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20020910 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - - -<ul> -<li><br></li> -</ul> - - - - - - -<h2>Problem Reports</h2> - - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F09%2F03&chfieldto=2002%2F09%2F10&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/09/03 and 2002/09/10.<br> -<br> - -<br> - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20020903 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - - -<ul> -<li><br></li> -</ul> - - - - - -<h2>Problem Reports</h2> - - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F08%2F27&chfieldto=2002%2F09%2F03&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/08/27 and 2002/09/03.<br> -<br> - -<br> - - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20020827 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - - -<ul> -<li><br></li> -</ul> - - - - -<h2>Problem Reports</h2> - - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F08%2F20&chfieldto=2002%2F08%2F27&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/08/20 and 2002/08/27.<br> - -<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20020820 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - - -<ul> -<li>Search view supports select all<br></li> -</ul> - - - -<h2>Problem Reports</h2> - - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F08%2F13&chfieldto=2002%2F08%2F20&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/08/13 and 2002/08/20.<br> - -<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20020813 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - - -<ul> -<li><br></li> -</ul> - - -<h2>Problem Reports</h2> - - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F07%2F23&chfieldto=2002%2F08%2F13&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/07/23 and 2002/08/13.<br> - -<br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20020723 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> - -<ul> - -<li>Removed all 2.0 build notes. They can be found in <a href="buildnotes_search_2_0.html">buildnotes_search_2_0.html</a><br></li> -</ul> - -<h2>Problem Reports</h2> - -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F06%2F29&chfieldto=2002%2F07%2F23&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> to see BRs which have been marked as RESOLVED or CLOSED between 2002/06/29 and 2002/07/23.<br> - -<br> - -<br> - -<a href="hglegal2003.htm"><img src="ngibmcpy2003.gif" border="0" height="14" width="324" alt="Copyright IBM Corporation and others 2000, 2003."></a> -<br> - -<br> - -<br> - -<br> - -<br> -<br> -<br> -<br> -<br> -<br> -<br> -<br> -<br> -<br> -<br> -<br> -<br> -<br> -<br> -<br> -</body></html> diff --git a/org.eclipse.search/old_buildnotes_search_2_0.html b/org.eclipse.search/old_buildnotes_search_2_0.html deleted file mode 100644 index d36c4a7942c..00000000000 --- a/org.eclipse.search/old_buildnotes_search_2_0.html +++ /dev/null @@ -1,925 +0,0 @@ -<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"><html><head> - - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - - <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]"> - - <meta name="Author" content="IBM"><title>Eclipse Platform Release Notes - Search</title></head><body> - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20020618 - - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> -<ul> -<li>Reverted File/Text search back to only ignore derived resoureces<br></li><li>Removed dependency on Team Support Core plug-in<br></li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F06%2F06&chfieldto=2002%2F06%2F18&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - - - - - - - - - - - - - - - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/06/06 and 2002/06/18.<br> -<br> -<hr size="1" width="100%"><br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20020606 - - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> -<ul> -<li>Reverted File/Text search back to only ignore derived resoureces<br> -</li><li>Removed dependency on Team Support Core plug-in<br></li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F05%2F31&chfieldto=2002%2F06%2F06&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - - - - - - - - - - - - - - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/05/31 and 2002/06/06.<br> -<br> -<hr size="1" width="100%"><br> - - - - - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20020531 - - - - - - - - - - - - - - -<h2> What's new in this drop</h2> -<ul> -<li>File search ignores derived and to be ignored resource (see Team preference page)</li><li>Text search ignores binary files<br></li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F05%2F28&chfieldto=2002%2F05%2F31&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - - - - - - - - - - - - - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/05/28 and 2002/05/31.<br> -<br> -<hr size="1" width="100%"> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20020528 - - - - - - - - - - - - - -<h2> What's new in this drop</h2> -<ul> -<li><br></li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F05%2F21&chfieldto=2002%2F05%2F28&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - - - - - - - - - - - - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/05/21 and 2002/05/28.<br> -<br> -<hr size="1" width="100%"><br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - - - Eclipse Build Input 20020521 - - - - - - - - - - - - -<h2> What's new in this drop</h2> -<ul> -<li><br></li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F05%2F18&chfieldto=2002%2F05%2F21&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - - - - - - - - - - - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/05/18 and 2002/05/21.<br> -<br> -<hr size="1" width="100%"> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - - Eclipse Build Input 20020518 - - - - - - - - - - - -<h2> What's new in this drop</h2> -<ul> -<li>Global menu for Search actions</li><li>Replace is now available on text search results<br></li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F05%2F14&chfieldto=2002%2F05%2F18&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - - - - - - - - - - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/05/14 and 2002/05/18.<br> -<br> -<hr size="1" width="100%"> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - - - Eclipse Build Input 20020514 - - - - - - - - - - -<h2> What's new in this drop</h2> -<ul> -<li><br></li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F05%2F08&chfieldto=2002%2F05%2F14&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - - - - - - - - - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/05/08 and 2002/05/14.<br> -<br> -<hr size="1" width="100%"><br> - - - - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - - Eclipse Build Input 20020508 - - - - - - - - - -<h2> What's new in this drop</h2> -<ul> -<li>The visible search pages can be configured in the Search dialog.<br> -</li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F04%2F30&chfieldto=2002%2F05%2F08&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - - - - - - - - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/04/30 and 2002/05/08.<br> -<br> -<hr size="1" width="100%"><br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - - - Eclipse Build Input 20020430 - - - - - - - - -<h2> What's new in this drop</h2> -<ul> -<li>Removed the deprecated working set API</li><li>Search dialog no longer reserves space for scope for all pages but only those that require it<br></li> - -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F04%2F23&chfieldto=2002%2F04%2F30&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - - - - - - - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/04/23 and 2002/04/30.<br> -<br> -<hr size="1" width="100%"><br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - - - Eclipse Build Input 20020423 - - - - - - - -<h2> What's new in this drop</h2> -<ul> -<li><br></li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F04%2F19&chfieldto=2002%2F04%2F23&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - - - - - - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/04/18 and 2002/04/23.<br> -<br> -<hr size="1" width="100%"> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - - - Eclipse Build Input 20020418 - - - - - - -<h2> What's new in this drop</h2> -<ul> -<li><br></li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F04%2F16&chfieldto=2002%2F04%2F19&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - - - - - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/04/16 and 2002/04/18.<br> -<br> -<hr size="1" width="100%"> - - - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - Eclipse Build Input 20020416 - - - - - -<h2> What's new in this drop</h2> -<ul> -<li>Search no longer uses its own implementation of working sets but takes -advantage of the workbench working set support. As a consequence you will -have to redefine your existing working sets.<br></li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F04%2F11&chfieldto=2002%2F04%2F17&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - - - - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/04/11 and 2002/04/16.<br> -<br> -<hr size="1" width="100%"><br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - - - Eclipse Build Input 20020411 - - - - -<h2> What's new in this drop</h2> -<ul> -<li><br></li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F04%2F09&chfieldto=2002%2F04%2F12&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - - - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/04/09 -and 2002/04/11.<br> -<br> -<hr size="1" width="100%"><br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - - - Eclipse Build Input 20020409 - - - -<h2> What's new in this drop</h2> -<ul> -<li><i>Text Search</i> has been changed to <i>File Search</i> and now allows to search for files with a given file name pattern.<br></li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F04%2F02&chfieldto=2002%2F04%2F09&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/04/02 -and 2002/04/09.<br> -<br> -<hr size="1" width="100%"><br> - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - - Eclipse Build Input 20020402 - - -<h2> What's new in this drop</h2> -<ul> -<li><br></li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F03%2F19&chfieldto=2002%2F03%2F26&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/03/26 -and 2002/04/02.<br> -<br> -<hr size="1" width="100%"><br> - - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - Eclipse Build Input 20020326 - -<h2> What's new in this drop</h2> -<ul> -<li>Text search also finds matches in dirty editors.<br></li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F03%2F26&chfieldto=2002%2F04%2F02&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - - to see BRs which have been marked as RESOLVED or CLOSED between 2002/03/19 -and 2002/03/26.<br> -<br> -<hr size="1" width="100%"><br> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - - Eclipse Build Input 20020226 -<h2> What's new in this drop</h2> -<ul> - <li>Previous file name patterns are now available through a combo box.</li> - <li>The file name pattern is only derived the first time from the selection -and after that the previous value is used to initialize the field.<br> - </li> -</ul> -<h2>Problem Reports</h2> -<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F02%2F14&chfieldto=2002%2F02%2F26&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - to see BRs which have been marked as RESOLVED or CLOSED between 2002/02/14 -and 2002/02/26.<br> -<br> -<hr size="1" width="100%"><br> -<br> - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - Eclipse Build Input 20020214 -<h2> What's new in this drop</h2> - -<ul> - <li>Reuse of editors when stepping through search matches now managed -by platform and no longer directly by the Search plug-in.<br> - </li> - -</ul> - -<h2>Problem Reports</h2> - <a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F02%2F05&chfieldto=2002%2F02%2F14&product=Platform&component=Search&cmdtype=doit&&order=Bug+Number"> - Click here</a> - to see BRs which have been marked as RESOLVED or CLOSED between 2002/02/05 -and 2002/02/14.<br> - <br> - -<hr size="1" width="100%"><br> - -<h1>Eclipse Platform Build Notes<br> - Search</h1> - Eclipse Integration Build 20020205 -<h2> What's new in this drop</h2> - -<h3> API changes</h3> - -<h3> API additions</h3> - -<h3> Other highlights</h3> - -<h2> Known deficiencies</h2> - -<h2> Problem reports fixed</h2> - <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=8611">8611</a> - NPE in text search with Compare to a Version editor open<br> - <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=9007">9007</a> - Working Set; OK button not disabled<br> - -<h2> Problem reports closed</h2> - -<hr size="1" width="100%"><br> - -<h1> Eclipse Platform Build Notes<br> - Search</h1> - Eclipse Integration Build 20020129 -<h2>What's new in this drop</h2> - -<ul> - <li>A new attribute called <i>showScopeSection</i> has been added to - the markup language for Search pages. If this attribute is missing or set - to <tt>false</tt> then the scope section is not shown in the Search dialog. - To see the scope section this attribute has to be set to <tt>true</tt> -. Plug-ins which add their own Search page and want to see the scope section - will have to add the new attribute to their plugin.xml</li> - -</ul> - -<h3> API changes</h3> - -<ul> - <li>Activation of the Search view has been moved from the dialog to -the individual Search page. Plug-ins which want the Search page to appear - when Search is invoked have to call <tt>SearchUI.activateSearchResultView()</tt><br> - </li> - -</ul> - -<h3> API additions</h3> - -<h3> Other highlights</h3> - -<h2> Known deficiencies</h2> - -<h2> Problem reports fixed</h2> - <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=7918">7918</a> - Missing busy cursor in search dialog when flipping pages<br> - <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=7919">7919</a> - Search: scope section doesn't apply to Help search<br> - <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=8024">8024</a> - SearchResultsView opens without calling SearchUI.activateSearchView<br> - <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=8025">8025</a> - Scope section added to ISearchPage<br> - -<h2> Problem reports closed</h2> - <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=8456">8456</a> - Widget is disposed error in Search<br> - <br> - <br> - -<hr size="1" width="100%"> -<h1>Eclipse Platform Build Notes<br> - Search</h1> - Eclipse Integration Build 20020122 -<h2> What's new in this drop</h2> - -<h3> API changes</h3> - -<h3> API additions</h3> - -<h3> Other highlights</h3> - -<h2> Known deficiencies</h2> - -<h2> Problem reports fixed</h2> - <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=7813">7813</a> - NPE in SearchPageDescriptor.readExtensionScorePairs/StringTo<br> - -<h2> Problem reports closed</h2> - <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4066">4066</a> - Default extension in text search is often wrong (1GHFMPL)<br> - <br> - -<hr size="1" width="100%"> -<h1> Eclipse Platform Build Notes<br> - Search</h1> - Eclipse Integration Build 20011218 -<h2> What's new in this drop</h2> - -<h3> API changes</h3> - -<h3> API additions</h3> - -<h3> Other highlights</h3> - APIs added for 2.0 are now flagged with <b>@since 2.0</b>. - -<h2> Known deficiencies</h2> - -<h2> Problem reports fixed</h2> - <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6836">6836</a> - Working Sets Dialog: Mnemonics, issues -<hr size="1" width="100%"> -<h1> Eclipse Platform Build Notes<br> - Search</h1> - Eclipse Integration Build 20011211 -<h2> What's new in this drop</h2> - -<h3> API changes</h3> - -<h3> API additions</h3> - -<h3> Other highlights</h3> - -<h2> Known deficiencies</h2> - -<h2> Problem reports fixed</h2> - <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5868">5868</a> - Define working set does too much work in the UI thread <br> - <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5620">5620</a> - Search: control keys for navigating the list of search results - -<hr size="1" width="100%"> -<h1> Eclipse Platform Build Notes<br> - Search</h1> - Eclipse Integration Build 20011206 -<h2> What's new in this drop</h2> - -<h3> API changes</h3> - -<h3> API additions</h3> - -<h3> Other highlights</h3> - -<h2> Known deficiencies</h2> - -<h2> Problem reports fixed</h2> - <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6119">6119</a> - cannot delete a working set <br> - <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6264">6264</a> - Search results don't have initial selection -<hr size="1" width="100%"> -<h1> Eclipse Platform Build Notes<br> - Search</h1> - Eclipse Integration Build 20011204 -<h2> What's new in this drop</h2> - -<h3> API changes</h3> - -<h3> API additions</h3> - -<h3> Other highlights</h3> - -<h2> Known deficiencies</h2> - -<h2> Problem reports fixed</h2> - <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3954">3954</a> - Search dialog does not need parentheses around label (1GF86BN) -<br> - <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6435">6435</a> - Search again should move search to top of MRU list -<hr size="1" width="100%"> -<h1> Eclipse Platform Build Notes<br> - Search</h1> - Note: Previous build notes have been included in <i>Eclipse Platform - Build Notes - Java Development Tooling UI.</i><br> - -</body></html>
\ No newline at end of file diff --git a/org.eclipse.search/plugin.properties b/org.eclipse.search/plugin.properties deleted file mode 100644 index f8e4c8ba326..00000000000 --- a/org.eclipse.search/plugin.properties +++ /dev/null @@ -1,47 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Common Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/cpl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -pluginName= Search Support -providerName= Eclipse.org - -searchMarker= Search Marker - -searchPages= Search Pages -searchResultSorters= Search Result Sorters - -search= Search - -searchMenu.label= Se&arch -openFileSearchPageAction.label= &File... - -openSearchDialogAction.label= Se&arch... -openSearchDialogAction.tooltip= Search - -fileSearch= File Search -searchResultViewName= Search - -ResourcenameSorter.label= &Name -ResourcenameSorter.tooltip= Sort by Resource Name -ResourcePathSorter.label= &Path -ResourcePathSorter.tooltip= Sort by Resource Path - -SearchPreferencePage.label= Search - -ActionDefinition.openSearchDialog.name= Open Search Dialog -ActionDefinition.openSearchDialog.description= Open the Search dialog - -ActionDefinition.openFileSearchPage.name= File Search -ActionDefinition.openFileSearchPage.description= Open the Search dialog\'s file search page - -SearchMarkerPreference.label= Search Results - -searchCategory.name= Search -searchCategory.description= Search command category diff --git a/org.eclipse.search/plugin.xml b/org.eclipse.search/plugin.xml deleted file mode 100644 index 01dfc641454..00000000000 --- a/org.eclipse.search/plugin.xml +++ /dev/null @@ -1,212 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.0"?> - -<!-- ======================================================================= --> -<!-- Search Plugin --> -<!-- ======================================================================= --> -<plugin - name="%pluginName" - - id="org.eclipse.search" - version="3.0.0" - provider-name="%providerName" - class="org.eclipse.search.internal.ui.SearchPlugin"> - - <requires> - <import plugin="org.eclipse.core.resources"/> - <import plugin="org.eclipse.core.filebuffers"/> - <import plugin="org.eclipse.ui"/> - <import plugin="org.eclipse.ui.ide"/> - <import plugin="org.eclipse.ui.workbench.texteditor"/> - <import plugin="org.eclipse.jface.text"/> - <import plugin="org.eclipse.ui.editors"/> - <import plugin="org.eclipse.core.runtime.compatibility" optional="true"/> - </requires> - - <runtime> - <library name="search.jar" > - <export name = "*"/> - <packages prefixes="org.eclipse.search.ui,org.eclipse.search.internal"/> - </library> - </runtime> - - - <!-- Search extension point definitions --> - - <extension-point name="%searchPages" id="searchPages" schema="schema/searchPages.exsd"/> - <extension-point name="%searchResultSorters" id="searchResultSorters" schema="schema/searchResultSorters.exsd"/> - - - <!-- Extensions --> - - <extension point="org.eclipse.core.resources.markers" id="searchmarker" name="%searchMarker"> - <super type="org.eclipse.core.resources.textmarker"/> - <attribute name="line"/> - <attribute name="potentialMatch"/> - </extension> - - <extension - point="org.eclipse.ui.ide.markerImageProviders"> - <imageprovider - id="org.eclipse.ui.searchMarkerProvider" - markertype="org.eclipse.search.searchmarker" - icon="icons/full/obj16/searchm_obj.gif"> - </imageprovider> - </extension> - - <!-- commands and their bindings --> - <extension point="org.eclipse.ui.commands"> - <category - name="%searchCategory.name" - description="%searchCategory.description" - id="org.eclipse.search.ui.category.search" - /> - - <command - category="org.eclipse.search.ui.category.search" - id="org.eclipse.search.ui.openSearchDialog" - name= "%ActionDefinition.openSearchDialog.name" - description="%ActionDefinition.openSearchDialog.description" - /> - <keyBinding - string="Ctrl+H" - scope="org.eclipse.ui.globalScope" - command="org.eclipse.search.ui.openSearchDialog" - configuration="org.eclipse.ui.defaultAcceleratorConfiguration" - /> - - <command - category="org.eclipse.search.ui.category.search" - id="org.eclipse.search.ui.openFileSearchPage" - name= "%ActionDefinition.openFileSearchPage.name" - description="%ActionDefinition.openFileSearchPage.description" - /> - <keyBinding - string="" - scope="org.eclipse.ui.globalScope" - command="org.eclipse.search.ui.openFileSearchPage" - configuration="org.eclipse.ui.defaultAcceleratorConfiguration" - /> - </extension> - - <!-- action sets --> - <extension point="org.eclipse.ui.actionSets"> - <actionSet - id="org.eclipse.search.searchActionSet" - label="%search" - visible="true"> - - <!-- =================================================================== --> - <!-- Search Menu --> - <!-- =================================================================== --> - - <menu - id="org.eclipse.search.menu" - label="%searchMenu.label" - path="navigate"> - <groupMarker name="internalDialogGroup"/> <!-- not to be used by clients --> - <groupMarker name="dialogGroup"/> <!-- to be used by clients --> - <separator name="contextMenuActionsGroup"/> - </menu> - - <!-- dialog group --> - <action id="org.eclipse.search.OpenFileSearchPage" - definitionId="org.eclipse.search.ui.openFileSearchPage" - menubarPath="org.eclipse.search.menu/internalDialogGroup" - label="%openFileSearchPageAction.label" - icon="icons/full/obj16/tsearch_obj.gif" - helpContextId="file_search_action_context" - class="org.eclipse.search.internal.ui.OpenFileSearchPageAction"/> - - <action id="org.eclipse.search.OpenSearchDialog" - definitionId="org.eclipse.search.ui.openSearchDialog" - toolbarPath="Normal/Search" - menubarPath="org.eclipse.search.menu/internalDialogGroup" - label="%openSearchDialogAction.label" - tooltip="%openSearchDialogAction.tooltip" - icon="icons/full/ctool16/search.gif" - helpContextId="open_search_dialog_action_context" - class="org.eclipse.search.internal.ui.OpenSearchDialogAction"/> - </actionSet> - </extension> - - <extension point="org.eclipse.ui.views"> - <view - id="org.eclipse.search.SearchResultView" - name="%searchResultViewName" - category="org.eclipse.ui" - class="org.eclipse.search.internal.ui.SearchResultView" - icon="icons/full/cview16/searchres.gif"> - </view> - </extension> - - <extension point="org.eclipse.search.searchPages"> - <page - id="org.eclipse.search.internal.ui.text.TextSearchPage" - label="%fileSearch" - icon="icons/full/obj16/tsearch_obj.gif" - sizeHint="250,160" - tabPosition="1" - extensions="*:1" - showScopeSection="true" - canSearchEnclosingProjects="true" - class="org.eclipse.search.internal.ui.text.TextSearchPage"> - </page> - </extension> - - <extension point="org.eclipse.search.searchResultSorters"> - <sorter - id="org.eclipse.search.internal.ui.ResourcenameSorter" - pageId="org.eclipse.search.internal.ui.text.TextSearchPage" - label="%ResourcenameSorter.label" - tooltip="%ResourcenameSorter.tooltip" - icon="icons/full/clcl16/search_sortmatch.gif" - class="org.eclipse.search.internal.ui.text.ResourcenameSorter"> - </sorter> - <sorter - id="org.eclipse.search.internal.ui.ResourcePathSorter" - pageId="org.eclipse.search.internal.ui.text.TextSearchPage" - label="%ResourcePathSorter.label" - tooltip="%ResourcePathSorter.tooltip" - icon="icons/full/clcl16/search_sortmatch.gif" - class="org.eclipse.search.internal.ui.text.ResourcePathSorter"> - </sorter> - </extension> - - <extension - point="org.eclipse.ui.preferencePages"> - <page name="%SearchPreferencePage.label" - id="org.eclipse.search.preferences.SearchPreferencePage" - class="org.eclipse.search.internal.ui.SearchPreferencePage" - category="org.eclipse.ui.preferencePages.Workbench"> - </page> - </extension> - - <extension - point="org.eclipse.ui.editors.markerAnnotationSpecification"> - <specification - annotationType="org.eclipse.search.results" - label="%SearchMarkerPreference.label" - icon="icons/full/obj16/searchm_obj.gif" - markerType="org.eclipse.search.searchmarker" - textPreferenceKey="searchResultIndication" - textPreferenceValue="true" - highlightPreferenceKey="searchResultHighlighting" - highlightPreferenceValue="false" - overviewRulerPreferenceKey="searchResultIndicationInOverviewRuler" - overviewRulerPreferenceValue="true" - verticalRulerPreferenceKey="searchResultIndicationInVerticalRuler" - verticalRulerPreferenceValue="true" - colorPreferenceKey="searchResultIndicationColor" - colorPreferenceValue="192,192,192" - presentationLayer="3" - showInNextPrevDropdownToolbarActionKey="showSearchResultInNextPrevDropdownToolbarAction" - showInNextPrevDropdownToolbarAction="true" - isGoToNextNavigationTargetKey="isSearchResultGoToNextNavigationTarget" - isGoToNextNavigationTarget="false" - isGoToPreviousNavigationTargetKey="isSearchResultGoToPreviousNavigationTarget" - isGoToPreviousNavigationTarget="false"> - </specification> - </extension> - -</plugin>
\ No newline at end of file diff --git a/org.eclipse.search/schema/searchPages.exsd b/org.eclipse.search/schema/searchPages.exsd deleted file mode 100644 index 71f901c9fdd..00000000000 --- a/org.eclipse.search/schema/searchPages.exsd +++ /dev/null @@ -1,234 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!-- Schema file written by PDE --> -<schema targetNamespace="org.eclipse.search"> -<annotation> - <appInfo> - <meta.schema plugin="org.eclipse.search" id="searchPages" name="Search Pages"/> - </appInfo> - <documentation> - This extension point allows a plug-in to register search -pages for specialized searches. When the search action -is performed on a resource, the search infrastructure -locates the most specific registered search page for it. - </documentation> - </annotation> - - <element name="extension"> - <complexType> - <sequence> - <element ref="page" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="point" type="string" use="required"> - <annotation> - <documentation> - a fully qualified identifier of the target extension point - </documentation> - </annotation> - </attribute> - <attribute name="id" type="string"> - <annotation> - <documentation> - an optional identifier of the extension instance - </documentation> - </annotation> - </attribute> - <attribute name="name" type="string"> - <annotation> - <documentation> - an optional name of the extension instance - </documentation> - </annotation> - </attribute> - </complexType> - </element> - - <element name="page"> - <annotation> - <appInfo> - <meta.element labelAttribute="label" icon="icon"/> - </appInfo> - </annotation> - <complexType> - <attribute name="id" type="string" use="required"> - <annotation> - <documentation> - a unique name that will be used to identify this -search page - </documentation> - </annotation> - </attribute> - <attribute name="label" type="string" use="required"> - <annotation> - <documentation> - a translatable label that will be used in the search -page tab - </documentation> - </annotation> - </attribute> - <attribute name="class" type="string" use="required"> - <annotation> - <documentation> - a name of the class which implements <samp>org.eclipse.search.ui.ISearchPage</samp>. We recommend subclassing -<samp>org.eclipse.jface.dialogs.DialogPage</samp>. - </documentation> - <appInfo> - <meta.attribute kind="java" basedOn="org.eclipse.jface.dialogs.DialogPage:org.eclipse.search.ui.ISearchPage"/> - </appInfo> - </annotation> - </attribute> - <attribute name="icon" type="string"> - <annotation> - <documentation> - a relative name of the image that will be used -for all resources that match the specified extensions. -If omitted, the search page's tab will only contain a label. - </documentation> - <appInfo> - <meta.attribute kind="resource"/> - </appInfo> - </annotation> - </attribute> - <attribute name="sizeHint" type="string"> - <annotation> - <documentation> - a hint for the initial size of the page. This is a string -containing the width and height separated by -comma (e.g. "50, 60"). In the case this hint is -omitted the page will be no larger than the other pages. - </documentation> - </annotation> - </attribute> - <attribute name="tabPosition" type="string"> - <annotation> - <documentation> - an integer defining where the page is placed in the page -book. The value does not define the absolute position -but the position relative to the other pages. The ordering -of pages is as follows: -<ol> -<li> -if neither page defines the tab position then they are -ordered alphabetically according to their labels -</li> -<li> -if both pages have the tab position specified then the -page with the lower value comes first. If the values -are equal then the pages are treated as if the values -would not exist (see 1.) -</li> -<li> -if only one page has the value specified then this -page comes first -</ol> - </documentation> - </annotation> - </attribute> - <attribute name="extensions" type="string"> - <annotation> - <documentation> - a comma separated list with file extensions on which -the search page can operate. Each extension must -also include a weight (0 meaning lowest weight) -which enables the search infrastructure to find the -best fitting page. The weight is separated from -the extension by a colon. If a search page can -search all possible resources then "*" can be used. - </documentation> - </annotation> - </attribute> - <attribute name="searchViewHelpContextId" type="string"> - <annotation> - <documentation> - an optional help context ID of the Search view displaying results of this page. If this attribute is missing then the default search help context ID (<samp>org.eclipse.search.search_view_context</samp>) is used. - </documentation> - </annotation> - </attribute> - <attribute name="showScopeSection" type="boolean"> - <annotation> - <documentation> - If this attribute is missing or set to "false", then the scope section is not shown in the Search dialog. -To see the scope section, this attribute has to be set to "true". -Plug-ins which add their own Search page and want to see the scope section have to add this to their plugin.xml. - </documentation> - </annotation> - </attribute> - <attribute name="enabled" type="boolean"> - <annotation> - <documentation> - If this attribute is missing or set to "false", then the page is not initially shown in the Search dialog. -The page can be activated by the user via the "Customize..." button on the Search dialog. - </documentation> - </annotation> - </attribute> - <attribute name="canSearchEnclosingProjects" type="boolean"> - <annotation> - <documentation> - If this attribute is missing or set to "false", the "Enclosing Projects" search scope is not shown in the search dialog's scope part. -If the attribute "showScopeSection" is missing or set to "false", this attribute will be ignored. - </documentation> - </annotation> - </attribute> - </complexType> - </element> - - <annotation> - <appInfo> - <meta.section type="examples"/> - </appInfo> - <documentation> - The following is an example of a search page extension -definition: - -<p> -<pre> - <extension point="org.eclipse.search.searchPages"> - <page - id="org.eclipse.search.ui.text.TextSearchPage" - label="Text Search" - icon="icons/full/obj16/tsearch_pref.gif" - sizeHint="250,160" - tabPosition="1" - extensions="*:1" - showScopeSection="true" - class="org.eclipse.search.ui.text.TextSearchPage"> - </page> - </extension> -</pre> -</p> - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="apiInfo"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="implementation"/> - </appInfo> - <documentation> - The search infrastructure provides a search page -for full-text search. - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="copyright"/> - </appInfo> - <documentation> - <p> -<a href="hglegal.htm"> - <img SRC="ngibmcpy.gif" - ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved." - BORDER=0 height=14 width=324></a> -</p> - </documentation> - </annotation> - -</schema> diff --git a/org.eclipse.search/schema/searchResultSorters.exsd b/org.eclipse.search/schema/searchResultSorters.exsd deleted file mode 100644 index 8959ebe79ba..00000000000 --- a/org.eclipse.search/schema/searchResultSorters.exsd +++ /dev/null @@ -1,165 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!-- Schema file written by PDE --> -<schema targetNamespace="org.eclipse.search"> -<annotation> - <appInfo> - <meta.schema plugin="org.eclipse.search" id="searchResultSorters" name="Result Sorters"/> - </appInfo> - <documentation> - This extension point allows a plug-in to contribute -search result sorters to the search result view's Sort -context menu. - </documentation> - </annotation> - - <element name="extension"> - <complexType> - <sequence> - <element ref="sorter" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="point" type="string" use="required"> - <annotation> - <documentation> - a fully qualified identifier of the target extension point - </documentation> - </annotation> - </attribute> - <attribute name="id" type="string"> - <annotation> - <documentation> - an optional identifier of the extension instance - </documentation> - </annotation> - </attribute> - <attribute name="name" type="string"> - <annotation> - <documentation> - an optional name of the extension instance - </documentation> - </annotation> - </attribute> - </complexType> - </element> - - <element name="sorter"> - <annotation> - <appInfo> - <meta.element labelAttribute="label" icon="icon"/> - </appInfo> - </annotation> - <complexType> - <attribute name="id" type="string" use="required"> - <annotation> - <documentation> - a unique name that will be used to identify this search result sorter. - </documentation> - </annotation> - </attribute> - <attribute name="pageId" type="string" use="required"> - <annotation> - <documentation> - the ID of a registered search page for which the -sorter will be activated. "*" activates the sorter -for all pages. - </documentation> - </annotation> - </attribute> - <attribute name="label" type="string" use="required"> - <annotation> - <documentation> - a translatable label that will be used as the -menu item's label. - </documentation> - </annotation> - </attribute> - <attribute name="tooltip" type="string"> - <annotation> - <documentation> - a translatable text that will be used as the menu -item's tool tip . If omitted, the menu item will -have no tool tip. - </documentation> - </annotation> - </attribute> - <attribute name="icon" type="string"> - <annotation> - <documentation> - a relative name of the image that will be shown in -the context menu along with the label. If omitted, -the menu entry will only contain a label. - </documentation> - <appInfo> - <meta.attribute kind="resource"/> - </appInfo> - </annotation> - </attribute> - <attribute name="class" type="string" use="required"> - <annotation> - <documentation> - a name of the class that extends <samp>org.eclipse.jface.viewers.ViewerSorter</samp> - </documentation> - <appInfo> - <meta.attribute kind="java" basedOn="org.eclipse.jface.viewers.ViewerSorter"/> - </appInfo> - </annotation> - </attribute> - </complexType> - </element> - - <annotation> - <appInfo> - <meta.section type="examples"/> - </appInfo> - <documentation> - The following is an example of a search page extension definition: -<p> -<pre> - <extension point="org.eclipse.search.searchResultSorters"> - <sorter - id="org.eclipse.search.internal.ui.FileNameSorter" - pageId="*" - label="%FileNameSorter.label" - tooltip="%FilenNameSorter.tooltip" - icon="icons/full/ecl16/search_sort.gif" - class="org.eclipse.search.internal.ui.FileNameSorter"> - </sorter> - </extension> -</pre> -</p> - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="apiInfo"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="implementation"/> - </appInfo> - <documentation> - The search infrastructure provides a sorter that sorts -the matches by the resource name. - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="copyright"/> - </appInfo> - <documentation> - <p> -<a href="hglegal.htm"> - <img SRC="ngibmcpy.gif" - ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved." - BORDER=0 height=14 width=324></a> -</p> - </documentation> - </annotation> - -</schema> diff --git a/org.eclipse.search/scripts/exportplugin.xml b/org.eclipse.search/scripts/exportplugin.xml deleted file mode 100644 index a7840c24ab5..00000000000 --- a/org.eclipse.search/scripts/exportplugin.xml +++ /dev/null @@ -1,31 +0,0 @@ -<project name="org.eclipse.search" default="export" basedir=".."> - <target name="init"> - <tstamp/> - <property name="destdir" value="../../plugin-export" /> - <property name="plugin" value="org.eclipse.search" /> - <property name="version" value="_3.0.0" /> - <property name="dest" value="${destdir}/${plugin}${version}" /> - </target> - - <target name="build" depends="init"> - <eclipse.incrementalBuild project="${plugin}" kind="incr"/> - </target> - - <target name="export" depends="build"> - <mkdir dir="${destdir}" /> - <delete dir="${dest}" /> - <mkdir dir="${dest}" /> - <jar - jarfile="${dest}/search.jar" - basedir="bin" - /> - <copy file="plugin.xml" todir="${dest}"/> - <copy file="plugin.properties" todir="${dest}"/> - <copy todir="${dest}/icons"> - <fileset dir="icons" /> - </copy> - <zip zipfile="${dest}/searchsrc.zip"> - <fileset dir="search" /> - </zip> - </target> -</project> diff --git a/org.eclipse.search/search/org/eclipse/search/internal/core/ISearchScope.java b/org.eclipse.search/search/org/eclipse/search/internal/core/ISearchScope.java deleted file mode 100644 index 1400e4a06e2..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/core/ISearchScope.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.core; - -import org.eclipse.core.resources.IResourceProxy; - -/** - * Defines a scope to which search results are limited. - */ -public interface ISearchScope { - - /** - * Checks whether the given element is enclosed by - * this scope or not. - * - * @param element the resource proxy to be checked - * @return <code>true</code> if the resource is inside the search scope - * - */ - public boolean encloses(IResourceProxy element); - - /** - * Returns a human readable description of this scope - * - * @return the description of this scope as <code>String</code> - * - */ - public String getDescription(); -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/core/SearchScope.java b/org.eclipse.search/search/org/eclipse/search/internal/core/SearchScope.java deleted file mode 100644 index 315abd9318a..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/core/SearchScope.java +++ /dev/null @@ -1,101 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.core; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceProxy; -import org.eclipse.core.runtime.IPath; - -import org.eclipse.jface.util.Assert; - -/** - * A default implementation of <code>ISearchScope</code>. - */ -public class SearchScope implements ISearchScope { - - private List fElements; - private String fDescription; - - public SearchScope(String description) { - Assert.isNotNull(description); - fDescription= description; - fElements= new ArrayList(5); - } - - public SearchScope(String description, IResource[] resources) { - Assert.isNotNull(description); - int resourceCount= resources.length; - fDescription= description; - fElements= new ArrayList(resourceCount + 5); - for (int i= 0; i < resourceCount; i++) - fElements.add(resources[i]); - } - - public void setDescription(String description) { - Assert.isNotNull(description); - fDescription= description; - } - - /* - * @see ISearchScope#add(IResource) - */ - public void add(IResource element) { - fElements.add(element); - } - - /* - * Implements method from ISearchScope - */ - public boolean encloses(IResourceProxy proxy) { - IPath elementPath= proxy.requestFullPath(); - Iterator iter= elements(); - while (iter.hasNext()) { - IResource resource= (IResource)iter.next(); - if (resource.getFullPath().isPrefixOf(elementPath)) - return true; - } - return false; - } - - /* - * Implements method from ISearchScope - */ - public String getDescription() { - return fDescription; - } - - /** - * Returns the search scope elements - */ - protected Iterator elements() { - return fElements.iterator(); - } - - /** - * Implements method from ISearchScope - * - * @deprecated as of 2.1 use @link #encloses(IResourceProxy) - */ - public boolean encloses(IResource element) { - IPath elementPath= element.getFullPath(); - Iterator iter= elements(); - while (iter.hasNext()) { - IResource resource= (IResource)iter.next(); - if (resource.getFullPath().isPrefixOf(elementPath)) - return true; - } - return false; - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/core/text/AmountOfWorkCalculator.java b/org.eclipse.search/search/org/eclipse/search/internal/core/text/AmountOfWorkCalculator.java deleted file mode 100644 index 5a200092353..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/core/text/AmountOfWorkCalculator.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.core.text; - -import java.util.Collection; -import java.util.Iterator; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceProxy; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.MultiStatus; - -import org.eclipse.search.internal.core.ISearchScope; - -/** - * The visitor that does the actual work. - */ -public class AmountOfWorkCalculator extends TypedResourceVisitor { - private ISearchScope fScope; - private int fResult; - - AmountOfWorkCalculator(MultiStatus status) { - super(status); - } - - protected boolean visitFile(IResourceProxy proxy) throws CoreException { - if (fScope.encloses(proxy) && !proxy.isDerived()) - fResult++; - return true; - } - - public int process(Collection projects, ISearchScope scope) { - fResult= 0; - fScope= scope; - - Iterator i= projects.iterator(); - while(i.hasNext()) { - IProject project= (IProject)i.next(); - int save= fResult; - try { - project.accept(this, IResource.NONE); - } catch (CoreException ex) { - addToStatus(ex); - } - // Project doesn't contain any files that are in scope - if (save == fResult) - i.remove(); - } - - return fResult; - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/core/text/ITextSearchResultCollector.java b/org.eclipse.search/search/org/eclipse/search/internal/core/text/ITextSearchResultCollector.java deleted file mode 100644 index e2caed1e5ae..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/core/text/ITextSearchResultCollector.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.core.text; - -import org.eclipse.core.resources.IResourceProxy; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; - -public interface ITextSearchResultCollector { - - /** - * Returns the progress monitor used to setup and report progress. - */ - public IProgressMonitor getProgressMonitor(); - - /** - * Called before the actual search starts. - */ - public void aboutToStart() throws CoreException; - - /** - * Accepts the given search result. - * @param resource proxy the resource proxy in which the match has been found. - * @param line the line containing the match - * @param int start position from the beginning of the file. Start position - * is zero based. - * @param length the length of the match. - * @param lineNumber the line number of the match. - */ - public void accept(IResourceProxy proxy, String line, int start, int length, int lineNumber) throws CoreException; - - /** - * Called when the search has ended. - */ - public void done() throws CoreException; -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/core/text/MatchLocator.java b/org.eclipse.search/search/org/eclipse/search/internal/core/text/MatchLocator.java deleted file mode 100644 index 9d77f53f612..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/core/text/MatchLocator.java +++ /dev/null @@ -1,189 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.core.text; - -import java.io.IOException; -import java.io.Reader; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.eclipse.core.resources.IResourceProxy; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.OperationCanceledException; -import org.eclipse.search.internal.ui.SearchMessages; - -/** - * A class finding matches withing a file. - * @since 3.0 - */ -public class MatchLocator { - - protected static final int fgLF= '\n'; - protected static final int fgCR= '\r'; - - private Matcher fMatcher; - protected int fPushbackChar; - protected boolean fPushback; - private String fPattern; - private boolean fIsRegEx; - - public MatchLocator(String pattern, String options) { - fPattern= pattern; - Pattern regExPattern; - - fIsRegEx= options.indexOf('r') != -1; - if (!isRegExSearch()) - pattern= asRegEx(pattern); - - if (options.indexOf('i') != -1) - regExPattern= Pattern.compile(pattern, Pattern.CASE_INSENSITIVE); - else - regExPattern= Pattern.compile(pattern); - - fMatcher= regExPattern.matcher(""); //$NON-NLS-1$ - - } - - public boolean isEmtpy() { - return getPattern().length() == 0; - } - - public String getPattern() { - return fPattern; - } - - public void locateMatches(IProgressMonitor monitor, IResourceProxy proxy, Reader reader, ITextSearchResultCollector collector) throws CoreException, IOException { - int lineCounter= 1; - int charCounter=0; - boolean eof= false; - try { - while (!eof) { - StringBuffer sb= new StringBuffer(200); - int eolStrLength= readLine(reader, sb); - int lineLength= sb.length(); - int start= 0; - eof= eolStrLength == -1; - String line= sb.toString(); - while (start < lineLength) { - fMatcher.reset(line); - if (fMatcher.find(start)) { - start= charCounter + fMatcher.start(); - int length= fMatcher.end() - fMatcher.start(); - collector.accept(proxy, line.trim(), start, length, lineCounter); - start= fMatcher.end(); - } - else // no match in this line - start= lineLength; - } - charCounter+= lineLength + eolStrLength; - lineCounter++; - if (monitor.isCanceled()) - throw new OperationCanceledException(SearchMessages.getString("TextSearchVisitor.canceled")); //$NON-NLS-1$ - } - } finally { - if (reader != null) - reader.close(); - } - } - - /* - * Converts '*' and '?' to regEx variables. - */ - private String asRegEx(String pattern) { - - StringBuffer out= new StringBuffer(pattern.length()); - - boolean escaped= false; - boolean quoting= false; - - int i= 0; - while (i < pattern.length()) { - char ch= pattern.charAt(i++); - - if (ch == '*' && !escaped) { - if (quoting) { - out.append("\\E"); //$NON-NLS-1$ - quoting= false; - } - out.append(".*"); //$NON-NLS-1$ - escaped= false; - continue; - } else if (ch == '?' && !escaped) { - if (quoting) { - out.append("\\E"); //$NON-NLS-1$ - quoting= false; - } - out.append("."); //$NON-NLS-1$ - escaped= false; - continue; - } else if (ch == '\\' && !escaped) { - escaped= true; - continue; - - } else if (ch == '\\' && escaped) { - escaped= false; - if (quoting) { - out.append("\\E"); //$NON-NLS-1$ - quoting= false; - } - out.append("\\\\"); //$NON-NLS-1$ - continue; - } - - if (!quoting) { - out.append("\\Q"); //$NON-NLS-1$ - quoting= true; - } - if (escaped && ch != '*' && ch != '?' && ch != '\\') - out.append('\\'); - out.append(ch); - escaped= ch == '\\'; - - } - if (quoting) - out.append("\\E"); //$NON-NLS-1$ - - return out.toString(); - } - - protected int readLine(Reader reader, StringBuffer sb) throws IOException { - int ch= -1; - if (fPushback) { - ch= fPushbackChar; - fPushback= false; - } - else - ch= reader.read(); - while (ch >= 0) { - if (ch == fgLF) - return 1; - if (ch == fgCR) { - ch= reader.read(); - if (ch == fgLF) - return 2; - else { - fPushbackChar= ch; - fPushback= true; - return 1; - } - } - sb.append((char)ch); - ch= reader.read(); - } - return -1; - } - - public boolean isRegExSearch() { - return fIsRegEx; - } - -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/core/text/TextSearchEngine.java b/org.eclipse.search/search/org/eclipse/search/internal/core/text/TextSearchEngine.java deleted file mode 100644 index 55a3a5f56e3..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/core/text/TextSearchEngine.java +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.core.text; - -import java.util.ArrayList; -import java.util.Collection; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.MultiStatus; - -import org.eclipse.jface.util.Assert; - -import org.eclipse.search.ui.SearchUI; - -import org.eclipse.search.internal.core.ISearchScope; -import org.eclipse.search.internal.ui.SearchMessages; - -public class TextSearchEngine { - - /** - * Search for the given pattern. - */ - public IStatus search(IWorkspace workspace, ISearchScope scope, ITextSearchResultCollector collector, MatchLocator matchLocator) { - Assert.isNotNull(workspace); - Assert.isNotNull(scope); - Assert.isNotNull(collector); - Assert.isNotNull(matchLocator); - IProgressMonitor monitor= collector.getProgressMonitor(); - - IProject[] projects= workspace.getRoot().getProjects(); - Collection openProjects= new ArrayList(10); - for (int i= 0; i < projects.length; i++) { - IProject project= projects[i]; - if (project.isOpen()) - openProjects.add(project); - } - String message= SearchMessages.getString("TextSearchEngine.statusMessage"); //$NON-NLS-1$ - MultiStatus status= new MultiStatus(SearchUI.PLUGIN_ID, IStatus.OK, message, null); - if (!openProjects.isEmpty()) { - int amountOfWork= (new AmountOfWorkCalculator(status)).process(openProjects, scope); - try { - monitor.beginTask("", amountOfWork); //$NON-NLS-1$ - if (amountOfWork > 0) { - Integer[] args= new Integer[] {new Integer(1), new Integer(amountOfWork)}; - monitor.setTaskName(SearchMessages.getFormattedString("TextSearchEngine.scanning", args)); //$NON-NLS-1$ - } - collector.aboutToStart(); - TextSearchVisitor visitor= new TextSearchVisitor(matchLocator, scope, collector, status, amountOfWork); - visitor.process(openProjects); - } catch (CoreException ex) { - status.add(ex.getStatus()); - } finally { - monitor.done(); - try { - collector.done(); - } catch (CoreException ex) { - status.add(ex.getStatus()); - } - } - } - return status; - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/core/text/TextSearchScope.java b/org.eclipse.search/search/org/eclipse/search/internal/core/text/TextSearchScope.java deleted file mode 100644 index 5b2646f1c21..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/core/text/TextSearchScope.java +++ /dev/null @@ -1,226 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.core.text; - -import java.util.Arrays; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceProxy; -import org.eclipse.core.runtime.IAdaptable; - -import org.eclipse.ui.IWorkingSet; - -import org.eclipse.search.internal.core.SearchScope; -import org.eclipse.search.internal.ui.SearchMessages; - -/** - * A special text search scope that take file extensions into account. - */ -public class TextSearchScope extends SearchScope { - - private static class WorkspaceScope extends TextSearchScope { - - private WorkspaceScope() { - super(SearchMessages.getString("WorkspaceScope")); //$NON-NLS-1$ - } - - public void add(IResource element) { - // do nothing - } - - /** - * @see ISearchScope#encloses(Object) - */ - public boolean encloses(IResourceProxy proxy) { - if (proxy.getType() == IResource.FILE && skipFile(proxy)) - return false; - return true; - } - } - - private Set fExtensions= new HashSet(3); - - /** - * Returns a new Workbench scope. - */ - public static TextSearchScope newWorkspaceScope() { - return new WorkspaceScope(); - } - - public TextSearchScope(String description) { - super(description); - } - - public TextSearchScope(String description, IResource[] resources) { - super(description, resources); - } - - public TextSearchScope(String description, IAdaptable[] elements) { - super(description, convertToResources(elements)); - - } - - public TextSearchScope(String description, IWorkingSet[] workingSets) { - super(description, convertToResources(getElements(workingSets))); - } - - private static IResource[] convertToResources(IAdaptable[] elements) { - int length= elements.length; - Set resources= new HashSet(length); - for (int i= 0; i < length; i++) { - IResource resource= (IResource)elements[i].getAdapter(IResource.class); - if (resource != null) - resources.add(resource); - } - return (IResource[])resources.toArray(new IResource[resources.size()]); - } - - private static IAdaptable[] getElements(IWorkingSet[] workingSets) { - int length= workingSets.length; - Set elements= new HashSet(length); - for (int i= 0; i < length; i++) { - elements.addAll(Arrays.asList(workingSets[i].getElements())); - } - return (IAdaptable[])elements.toArray(new IAdaptable[elements.size()]); - } - - /** - * Adds an extension to the scope. - */ - public void addExtension(String extension) { - Pattern pattern= Pattern.compile(asRegEx(extension), Pattern.CASE_INSENSITIVE); - fExtensions.add(pattern.matcher("")); //$NON-NLS-1$ - } - - /* - * Converts '*' and '?' to regEx variables. - */ - private String asRegEx(String pattern) { - - StringBuffer out= new StringBuffer(pattern.length()); - - boolean escaped= false; - boolean quoting= false; - - int i= 0; - while (i < pattern.length()) { - char ch= pattern.charAt(i++); - - if (ch == '*' && !escaped) { - if (quoting) { - out.append("\\E"); //$NON-NLS-1$ - quoting= false; - } - out.append(".*"); //$NON-NLS-1$ - escaped= false; - continue; - } else if (ch == '?' && !escaped) { - if (quoting) { - out.append("\\E"); //$NON-NLS-1$ - quoting= false; - } - out.append("."); //$NON-NLS-1$ - escaped= false; - continue; - } else if (ch == '\\' && !escaped) { - escaped= true; - continue; - - } else if (ch == '\\' && escaped) { - escaped= false; - if (quoting) { - out.append("\\E"); //$NON-NLS-1$ - quoting= false; - } - out.append("\\\\"); //$NON-NLS-1$ - continue; - } - - if (!quoting) { - out.append("\\Q"); //$NON-NLS-1$ - quoting= true; - } - if (escaped && ch != '*' && ch != '?' && ch != '\\') - out.append('\\'); - out.append(ch); - escaped= ch == '\\'; - - } - if (quoting) - out.append("\\E"); //$NON-NLS-1$ - - return out.toString(); - } - - /** - * Adds all string patterns contained in <code>extensions</code> to this - * scope. The allowed pattern characters are <code>*</code> for any character - * and <code>?</code> for one character. - */ - public void addExtensions(Set extensions) { - if (extensions == null) - return; - Iterator iter= extensions.iterator(); - while (iter.hasNext()) { - Object obj= iter.next(); - if (obj instanceof String) - addExtension((String)obj); - } - } - - /* - * Implements method from ISearchScope - */ - public boolean encloses(IResourceProxy proxy) { - if (proxy.getType() == IResource.FILE && skipFile(proxy)) - return false; - return super.encloses(proxy); - } - - boolean skipFile(IResourceProxy proxy) { - if (proxy != null) { - Iterator iter= fExtensions.iterator(); - while (iter.hasNext()) { - if (((Matcher)iter.next()).reset(proxy.getName()).matches()) - return false; - } - } - return true; - } - - /** - * Implements method from ISearchScope - * - * @deprecated As of 2.1, replaced by {@link #encloses(IResourceProxy)} - */ - public boolean encloses(IResource element) { - if (element.getType() == IResource.FILE && skipFile((IFile)element)) - return false; - return super.encloses(element); - } - - boolean skipFile(IFile file) { - if (file != null) { - Iterator iter= fExtensions.iterator(); - while (iter.hasNext()) { - if (((Matcher)iter.next()).reset(file.getName()).matches()) - return false; - } - } - return true; - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/core/text/TextSearchVisitor.java b/org.eclipse.search/search/org/eclipse/search/internal/core/text/TextSearchVisitor.java deleted file mode 100644 index a5f9ceff64f..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/core/text/TextSearchVisitor.java +++ /dev/null @@ -1,196 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.core.text; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.StringReader; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceProxy; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.MultiStatus; -import org.eclipse.core.runtime.OperationCanceledException; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; -import org.eclipse.search.internal.core.ISearchScope; -import org.eclipse.search.internal.ui.SearchMessages; -import org.eclipse.search.internal.ui.SearchPlugin; -import org.eclipse.search.ui.SearchUI; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IEditorReference; -import org.eclipse.ui.IFileEditorInput; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.texteditor.ITextEditor; - -/** - * The visitor that does the actual work. - */ -public class TextSearchVisitor extends TypedResourceVisitor { - protected static final int fgLF= '\n'; - protected static final int fgCR= '\r'; - - private ISearchScope fScope; - private ITextSearchResultCollector fCollector; - private IEditorPart[] fEditors; - private MatchLocator fLocator; - - private IProgressMonitor fProgressMonitor; - private Integer[] fMessageFormatArgs; - - private int fNumberOfScannedFiles; - private int fNumberOfFilesToScan; - private long fLastUpdateTime; - - public TextSearchVisitor(MatchLocator locator, ISearchScope scope, ITextSearchResultCollector collector, MultiStatus status, int fileCount) { - super(status); - fScope= scope; - fCollector= collector; - - fProgressMonitor= collector.getProgressMonitor(); - - fLocator= locator; - - fNumberOfScannedFiles= 0; - fNumberOfFilesToScan= fileCount; - fMessageFormatArgs= new Integer[] { new Integer(0), new Integer(fileCount) }; - } - - public void process(Collection projects) { - Iterator i= projects.iterator(); - while(i.hasNext()) { - IProject project= (IProject)i.next(); - try { - project.accept(this, IResource.NONE); - } catch (CoreException ex) { - addToStatus(ex); - } - } - } - - /** - * Returns an array of all editors that have an unsaved content. If the identical content is - * presented in more than one editor, only one of those editor parts is part of the result. - * - * @return an array of all editor parts. - */ - public static IEditorPart[] getEditors() { - Set inputs= new HashSet(); - List result= new ArrayList(0); - IWorkbench workbench= SearchPlugin.getDefault().getWorkbench(); - IWorkbenchWindow[] windows= workbench.getWorkbenchWindows(); - for (int i= 0; i < windows.length; i++) { - IWorkbenchPage[] pages= windows[i].getPages(); - for (int x= 0; x < pages.length; x++) { - IEditorReference[] editorRefs= pages[x].getEditorReferences(); - for (int z= 0; z < editorRefs.length; z++) { - IEditorPart ep= editorRefs[z].getEditor(false); - if (ep != null) { - IEditorInput input= ep.getEditorInput(); - if (!inputs.contains(input)) { - inputs.add(input); - result.add(ep); - } - } - } - } - } - return (IEditorPart[])result.toArray(new IEditorPart[result.size()]); - } - - - protected boolean visitFile(IResourceProxy proxy) throws CoreException { - if (! fScope.encloses(proxy)) - return false; - - // Exclude to derived resources - if (proxy.isDerived()) - return false; - - if (fLocator.isEmtpy()) { - fCollector.accept(proxy, "", -1, 0, -1); //$NON-NLS-1$ - updateProgressMonitor(); - return true; - } - IFile file= (IFile)proxy.requestResource(); - try { - BufferedReader reader= null; - ITextEditor editor= findEditorFor(file); - if (editor != null) { - String s= editor.getDocumentProvider().getDocument(editor.getEditorInput()).get(); - reader= new BufferedReader(new StringReader(s)); - } else { - InputStream stream= file.getContents(false); - reader= new BufferedReader(new InputStreamReader(stream, ResourcesPlugin.getEncoding())); - } - fLocator.locateMatches(fProgressMonitor, proxy, reader, fCollector); - } catch (IOException e) { - String message= SearchMessages.getFormattedString("TextSearchVisitor.error", file.getFullPath()); //$NON-NLS-1$ - throw new CoreException(new Status(IStatus.ERROR, SearchUI.PLUGIN_ID, Platform.PLUGIN_ERROR, message, e)); - } - finally { - updateProgressMonitor(); - } - return true; - } - - private void updateProgressMonitor() { - fNumberOfScannedFiles++; - if (fNumberOfScannedFiles < fNumberOfFilesToScan) { - if (System.currentTimeMillis() - fLastUpdateTime > 1000) { - fMessageFormatArgs[0]= new Integer(fNumberOfScannedFiles+1); - fProgressMonitor.setTaskName(SearchMessages.getFormattedString("TextSearchVisitor.scanning", fMessageFormatArgs)); //$NON-NLS-1$ - fLastUpdateTime= System.currentTimeMillis(); - } - } - fProgressMonitor.worked(1); - if (fProgressMonitor.isCanceled()) - throw new OperationCanceledException(SearchMessages.getString("TextSearchVisitor.canceled")); //$NON-NLS-1$ - } - - private ITextEditor findEditorFor(IFile file) { - int i= 0; - while (i < fEditors.length) { - IEditorPart editor= fEditors[i]; - IEditorInput input= editor.getEditorInput(); - if (input instanceof IFileEditorInput && editor instanceof ITextEditor) - if (((IFileEditorInput)input).getFile().equals(file)) - return (ITextEditor)editor; - i++; - } - return null; - } - - /* - * @see IResourceProxyVisitor#visit(IResourceProxy) - */ - public boolean visit(IResourceProxy proxy) { - fEditors= getEditors(); - return super.visit(proxy); - } -} - diff --git a/org.eclipse.search/search/org/eclipse/search/internal/core/text/TypedResourceVisitor.java b/org.eclipse.search/search/org/eclipse/search/internal/core/text/TypedResourceVisitor.java deleted file mode 100644 index 6188516cfd1..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/core/text/TypedResourceVisitor.java +++ /dev/null @@ -1,67 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.core.text; - -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceProxy; -import org.eclipse.core.resources.IResourceProxyVisitor; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.MultiStatus; - -import org.eclipse.jface.util.Assert; - -public class TypedResourceVisitor implements IResourceProxyVisitor { - - private MultiStatus fStatus; - - TypedResourceVisitor(MultiStatus status) { - Assert.isNotNull(status); - fStatus= status; - } - - protected boolean visitFile(IResourceProxy proxy) throws CoreException { - return true; - } - - protected boolean visitProject(IResourceProxy proxy) throws CoreException { - return true; - } - - protected boolean visitFolder(IResourceProxy proxy) throws CoreException { - return true; - } - - protected void addToStatus(CoreException ex) { - fStatus.add(ex.getStatus()); - } - - /* - * @see org.eclipse.core.resources.IResourceProxyVisitor#visit(org.eclipse.core.resources.IResourceProxy) - */ - public boolean visit(IResourceProxy proxy) { - try { - switch(proxy.getType()) { - case IResource.FILE: - return visitFile(proxy); - case IResource.FOLDER: - return visitFolder(proxy); - case IResource.PROJECT: - return visitProject(proxy); - default: - Assert.isTrue(false, "unknown resource type"); //$NON-NLS-1$ - } - return false; - } catch (CoreException ex) { - addToStatus(ex); - return false; - } - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/CopyToClipboardAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/CopyToClipboardAction.java deleted file mode 100644 index b1b4770b7d6..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/CopyToClipboardAction.java +++ /dev/null @@ -1,89 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import java.util.Collections; -import java.util.Iterator; - -import org.eclipse.swt.SWTError; -import org.eclipse.swt.dnd.Clipboard; -import org.eclipse.swt.dnd.DND; -import org.eclipse.swt.dnd.TextTransfer; -import org.eclipse.swt.dnd.Transfer; -import org.eclipse.swt.widgets.Shell; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.util.Assert; -import org.eclipse.jface.viewers.ILabelProvider; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; - -public class CopyToClipboardAction extends Action { - - private SearchResultViewer fViewer; - - public CopyToClipboardAction(SearchResultViewer viewer) { - Assert.isNotNull(viewer); - fViewer= viewer; - setText(SearchMessages.getString("CopyToClipboardAction.label")); //$NON-NLS-1$ - setToolTipText(SearchMessages.getString("CopyToClipboardAction.tooltip")); //$NON-NLS-1$ - } - - /* - * Implements method from IAction - */ - public void run() { - Shell shell= SearchPlugin.getActiveWorkbenchShell(); - if (shell == null) - return; - - ILabelProvider labelProvider= (ILabelProvider)fViewer.getLabelProvider(); - String lineDelim= System.getProperty("line.separator"); //$NON-NLS-1$ - StringBuffer buf= new StringBuffer(); - Iterator iter= getSelection(); - while (iter.hasNext()) { - if (buf.length() > 0) { - buf.append(lineDelim); - } - buf.append(labelProvider.getText(iter.next())); - } - - if (buf.length() > 0) { - Clipboard clipboard= new Clipboard(shell.getDisplay()); - try { - copyToClipbard(clipboard, buf.toString(), shell); - } finally { - clipboard.dispose(); - } - } - } - - private Iterator getSelection() { - ISelection s= fViewer.getSelection(); - if (s instanceof IStructuredSelection) - return ((IStructuredSelection)s).iterator(); - return Collections.EMPTY_LIST.iterator(); - } - - private void copyToClipbard(Clipboard clipboard, String str, Shell shell) { - try { - clipboard.setContents(new String[] { str }, new Transfer[] { TextTransfer.getInstance() }); - } catch (SWTError ex) { - if (ex.code != DND.ERROR_CANNOT_SET_CLIPBOARD) - throw ex; - String title= SearchMessages.getString("CopyToClipboardAction.error.title"); //$NON-NLS-1$ - String message= SearchMessages.getString("CopyToClipboardAction.error.message"); //$NON-NLS-1$ - if (MessageDialog.openQuestion(shell, title, message)) - copyToClipbard(clipboard, str, shell); - } - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/GotoMarkerAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/GotoMarkerAction.java deleted file mode 100644 index 3050af6c73a..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/GotoMarkerAction.java +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import org.eclipse.jface.action.Action; - -class GotoMarkerAction extends Action { - - private SearchResultViewer fViewer; - - public GotoMarkerAction(SearchResultViewer viewer) { - super(SearchMessages.getString("SearchResultView.gotoMarker.text")); //$NON-NLS-1$ - SearchPluginImages.setImageDescriptors(this, SearchPluginImages.T_LCL, SearchPluginImages.IMG_LCL_SEARCH_GOTO); - setToolTipText(SearchMessages.getString("SearchResultView.gotoMarker.tooltip")); //$NON-NLS-1$ - fViewer= viewer; - } - - public void run() { - fViewer.showResult(); - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/ISearchHelpContextIds.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/ISearchHelpContextIds.java deleted file mode 100644 index 9fde0e98ee4..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/ISearchHelpContextIds.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import org.eclipse.search.ui.SearchUI; - -public interface ISearchHelpContextIds { - - public static final String PREFIX= SearchUI.PLUGIN_ID + "."; //$NON-NLS-1$ - - public static final String SEARCH_DIALOG= PREFIX + "search_dialog_context"; //$NON-NLS-1$ - - public static final String TEXT_SEARCH_PAGE= PREFIX + "text_search_page_context"; //$NON-NLS-1$ - public static final String TYPE_FILTERING_DIALOG= PREFIX + "type_filtering_dialog_context"; //$NON-NLS-1$ - - public static final String SEARCH_VIEW= PREFIX + "search_view_context"; //$NON-NLS-1$ - - public static final String SEARCH_PREFERENCE_PAGE= PREFIX + "search_preference_page_context"; //$NON-NLS-1$ - - public static final String SELECT_ALL_ACTION = PREFIX + "select_all_action_context"; //$NON-NLS-1$ - - public static final String SEARCH_ACTION = PREFIX + "search_action_context"; //$NON-NLS-1$ - - public static final String FILE_SEARCH_ACTION= PREFIX + "file_search_action_context"; //$NON-NLS-1$ -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/OpenFileSearchPageAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/OpenFileSearchPageAction.java deleted file mode 100644 index 1c4f4ee5570..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/OpenFileSearchPageAction.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; - -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.viewers.ISelection; - -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.IWorkbenchWindowActionDelegate; - -import org.eclipse.search.ui.SearchUI; - -/** - * Opens the Search Dialog. - */ -public class OpenFileSearchPageAction implements IWorkbenchWindowActionDelegate { - - private static final String TEXT_SEARCH_PAGE_ID= "org.eclipse.search.internal.ui.text.TextSearchPage"; //$NON-NLS-1$ - - private IWorkbenchWindow fWindow; - - public OpenFileSearchPageAction() { - } - - public void init(IWorkbenchWindow window) { - fWindow= window; - } - - public void run(IAction action) { - if (fWindow == null || fWindow.getActivePage() == null) { - SearchPlugin.beep(); - logErrorMessage("Could not open the search dialog - for some reason the window handle was null"); //$NON-NLS-1$ - return; - } - SearchUI.openSearchDialog(fWindow, TEXT_SEARCH_PAGE_ID); //$NON-NLS-1$ - } - - public void selectionChanged(IAction action, ISelection selection) { - // do nothing since the action isn't selection dependent. - } - - public void dispose() { - fWindow= null; - } - - public static void logErrorMessage(String message) { - IStatus status= new Status(IStatus.ERROR, SearchUI.PLUGIN_ID, IStatus.ERROR, message, null); - SearchPlugin.log(status); - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/OpenSearchDialogAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/OpenSearchDialogAction.java deleted file mode 100644 index ce38d4da8dc..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/OpenSearchDialogAction.java +++ /dev/null @@ -1,84 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.viewers.ISelection; - -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.IWorkbenchWindowActionDelegate; - -/** - * Opens the Search Dialog. - */ -public class OpenSearchDialogAction extends Action implements IWorkbenchWindowActionDelegate { - - private IWorkbenchWindow fWindow; - private String fPageId; - - public OpenSearchDialogAction() { - super(SearchMessages.getString("OpenSearchDialogAction.label")); //$NON-NLS-1$ - SearchPluginImages.setImageDescriptors(this, SearchPluginImages.T_TOOL, SearchPluginImages.IMG_TOOL_SEARCH); - setToolTipText(SearchMessages.getString("OpenSearchDialogAction.tooltip")); //$NON-NLS-1$ - } - - public OpenSearchDialogAction(IWorkbenchWindow window, String pageId) { - this(); - fPageId= pageId; - fWindow= window; - } - - public void init(IWorkbenchWindow window) { - fWindow= window; - } - - public void run(IAction action) { - run(); - } - - public void run() { - if (getWindow().getActivePage() == null) { - SearchPlugin.beep(); - return; - } - SearchDialog dialog= new SearchDialog( - getWindow().getShell(), - SearchPlugin.getWorkspace(), - getSelection(), - getEditorPart(), - fPageId); - dialog.open(); - } - - public void selectionChanged(IAction action, ISelection selection) { - // do nothing since the action isn't selection dependent. - } - - private ISelection getSelection() { - return getWindow().getSelectionService().getSelection(); - } - - private IEditorPart getEditorPart() { - return getWindow().getActivePage().getActiveEditor(); - } - - private IWorkbenchWindow getWindow() { - if (fWindow == null) - fWindow= SearchPlugin.getActiveWorkbenchWindow(); - return fWindow; - } - - public void dispose() { - fWindow= null; - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveAllResultsAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveAllResultsAction.java deleted file mode 100644 index 08ffc5be6ac..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveAllResultsAction.java +++ /dev/null @@ -1,26 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import org.eclipse.jface.action.Action; - -class RemoveAllResultsAction extends Action { - - public RemoveAllResultsAction() { - super(SearchMessages.getString("SearchResultView.removeAllResults.text")); //$NON-NLS-1$ - SearchPluginImages.setImageDescriptors(this, SearchPluginImages.T_LCL, SearchPluginImages.IMG_LCL_SEARCH_REM_ALL); - setToolTipText(SearchMessages.getString("SearchResultView.removeAllResults.tooltip")); //$NON-NLS-1$ - } - - public void run() { - SearchManager.getDefault().removeAllResults(); - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveAllSearchesAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveAllSearchesAction.java deleted file mode 100644 index 178ccbab8f8..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveAllSearchesAction.java +++ /dev/null @@ -1,26 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import org.eclipse.jface.action.Action; - -class RemoveAllSearchesAction extends Action { - - public RemoveAllSearchesAction() { - super(SearchMessages.getString("SearchResultView.removeAllSearches.text")); //$NON-NLS-1$ - SearchPluginImages.setImageDescriptors(this, SearchPluginImages.T_LCL, SearchPluginImages.IMG_LCL_SEARCH_REM_ALL); - setToolTipText(SearchMessages.getString("SearchResultView.removeAllSearches.tooltip")); //$NON-NLS-1$ - } - - public void run() { - SearchManager.getDefault().removeAllSearches(); - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveMatchAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveMatchAction.java deleted file mode 100644 index 98abd6ac731..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveMatchAction.java +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.runtime.CoreException; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.ISelectionProvider; -import org.eclipse.jface.viewers.IStructuredSelection; - -import org.eclipse.search.ui.ISearchResultViewEntry; - -import org.eclipse.search.internal.ui.util.ExceptionHandler; - -class RemoveMatchAction extends Action { - - private ISelectionProvider fSelectionProvider; - - public RemoveMatchAction(ISelectionProvider provider) { - super(SearchMessages.getString("SearchResultView.removeMatch.text")); //$NON-NLS-1$ - setToolTipText(SearchMessages.getString("SearchResultView.removeMatch.tooltip")); //$NON-NLS-1$ - fSelectionProvider= provider; - } - - public void run() { - IMarker[] markers= getMarkers(fSelectionProvider.getSelection()); - if (markers != null) - try { - SearchPlugin.getWorkspace().deleteMarkers(markers); - } catch (CoreException ex) { - ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.deleteMarkers.title"), SearchMessages.getString("Search.Error.deleteMarkers.message")); //$NON-NLS-2$ //$NON-NLS-1$ - } - } - - private IMarker[] getMarkers(ISelection s) { - if (! (s instanceof IStructuredSelection) || s.isEmpty()) - return null; - - IStructuredSelection selection= (IStructuredSelection)s; - int size= selection.size(); - if (size != 1) - return null; - if (selection.getFirstElement() instanceof ISearchResultViewEntry) { - IMarker marker= ((ISearchResultViewEntry)selection.getFirstElement()).getSelectedMarker(); - if (marker != null) - return new IMarker[] {marker}; - } - return null; - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemovePotentialMatchesAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/RemovePotentialMatchesAction.java deleted file mode 100644 index 5ff5b301f59..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemovePotentialMatchesAction.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import java.util.ArrayList; -import java.util.Iterator; - -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.runtime.CoreException; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; - -import org.eclipse.ui.IWorkbenchSite; - -import org.eclipse.search.ui.SearchUI; - -import org.eclipse.search.internal.ui.util.ExceptionHandler; - -class RemovePotentialMatchesAction extends Action { - - private IWorkbenchSite fSite; - - public RemovePotentialMatchesAction(IWorkbenchSite site) { - fSite= site; - - if (usePluralLabel()) { - setText(SearchMessages.getString("RemovePotentialMatchesAction.removePotentialMatches.text")); //$NON-NLS-1$ - setToolTipText(SearchMessages.getString("RemovePotentialMatchesAction.removePotentialMatches.tooltip")); //$NON-NLS-1$ - } - else { - setText(SearchMessages.getString("RemovePotentialMatchesAction.removePotentialMatch.text")); //$NON-NLS-1$ - setToolTipText(SearchMessages.getString("RemovePotentialMatchesAction.removePotentialMatch.tooltip")); //$NON-NLS-1$ - } - } - - public void run() { - IMarker[] markers= getMarkers(); - if (markers != null) - try { - SearchPlugin.getWorkspace().deleteMarkers(markers); - } catch (CoreException ex) { - ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.deleteMarkers.title"), SearchMessages.getString("Search.Error.deleteMarkers.message")); //$NON-NLS-2$ //$NON-NLS-1$ - } - else { - String title= SearchMessages.getString("RemovePotentialMatchesAction.dialog.title"); //$NON-NLS-1$ - String message= SearchMessages.getString("RemovePotentialMatchesAction.dialog.message"); //$NON-NLS-1$ - MessageDialog.openInformation(fSite.getShell(), title, message); - } - - // action only makes sense once - setEnabled(false); - } - - private IMarker[] getMarkers() { - - ISelection s= fSite.getSelectionProvider().getSelection(); - if (! (s instanceof IStructuredSelection)) - return null; - IStructuredSelection selection= (IStructuredSelection)s; - - int size= selection.size(); - if (size <= 0) - return null; - - ArrayList markers= new ArrayList(size * 3); - Iterator iter= selection.iterator(); - for(int i= 0; iter.hasNext(); i++) { - SearchResultViewEntry entry= (SearchResultViewEntry)iter.next(); - Iterator entryIter= entry.getMarkers().iterator(); - while (entryIter.hasNext()) { - IMarker marker= (IMarker)entryIter.next(); - if (marker.getAttribute(SearchUI.POTENTIAL_MATCH, false)) - markers.add(marker); - } - } - return (IMarker[])markers.toArray(new IMarker[markers.size()]); - } - - private boolean usePluralLabel() { - ISelection s= fSite.getSelectionProvider().getSelection(); - - if (! (s instanceof IStructuredSelection) || s.isEmpty()) - return false; - - IStructuredSelection selection= (IStructuredSelection)s; - int size= selection.size(); - if (size <= 0) - return false; - - int markerCount= 0; - Iterator iter= selection.iterator(); - for(int i= 0; iter.hasNext(); i++) { - SearchResultViewEntry entry= (SearchResultViewEntry)iter.next(); - Iterator entryIter= entry.getMarkers().iterator(); - while (entryIter.hasNext()) { - IMarker marker= (IMarker)entryIter.next(); - if (marker.getAttribute(SearchUI.POTENTIAL_MATCH, false)) { - markerCount++; - } - if (markerCount > 1) - return true; - } - } - return false; - } -}
\ No newline at end of file diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveResultAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveResultAction.java deleted file mode 100644 index 4922292bd0c..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveResultAction.java +++ /dev/null @@ -1,96 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import java.util.ArrayList; -import java.util.Iterator; - -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.runtime.CoreException; - -import org.eclipse.swt.custom.BusyIndicator; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.ISelectionProvider; -import org.eclipse.jface.viewers.IStructuredSelection; - -import org.eclipse.search.ui.ISearchResultViewEntry; - -import org.eclipse.search.internal.ui.util.ExceptionHandler; - -class RemoveResultAction extends Action { - - private ISelectionProvider fSelectionProvider; - - public RemoveResultAction(ISelectionProvider provider, boolean stringsDependOnMatchCount) { - fSelectionProvider= provider; - if (!stringsDependOnMatchCount || usePluralLabel()) { - setText(SearchMessages.getString("SearchResultView.removeEntries.text")); //$NON-NLS-1$ - setToolTipText(SearchMessages.getString("SearchResultView.removeEntries.tooltip")); //$NON-NLS-1$ - } - else { - setText(SearchMessages.getString("SearchResultView.removeEntry.text")); //$NON-NLS-1$ - setToolTipText(SearchMessages.getString("SearchResultView.removeEntry.tooltip")); //$NON-NLS-1$ - } - SearchPluginImages.setImageDescriptors(this, SearchPluginImages.T_LCL, SearchPluginImages.IMG_LCL_SEARCH_REM); - } - - public void run() { - final IMarker[] markers= getMarkers(fSelectionProvider.getSelection()); - if (markers != null) { - BusyIndicator.showWhile(SearchPlugin.getActiveWorkbenchShell().getDisplay(), new Runnable() { - public void run() { - try { - SearchPlugin.getWorkspace().deleteMarkers(markers); - } catch (CoreException ex) { - ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.deleteMarkers.title"), SearchMessages.getString("Search.Error.deleteMarkers.message")); //$NON-NLS-2$ //$NON-NLS-1$ - } - } - }); - } - } - - private IMarker[] getMarkers(ISelection s) { - if (! (s instanceof IStructuredSelection) || s.isEmpty()) - return null; - - IStructuredSelection selection= (IStructuredSelection)s; - int size= selection.size(); - if (size <= 0) - return null; - ArrayList markers= new ArrayList(size * 3); - int markerCount= 0; - Iterator iter= selection.iterator(); - for(int i= 0; iter.hasNext(); i++) { - SearchResultViewEntry entry= (SearchResultViewEntry)iter.next(); - markerCount += entry.getMatchCount(); - markers.addAll(entry.getMarkers()); - } - return (IMarker[])markers.toArray(new IMarker[markerCount]); - } - - private boolean usePluralLabel() { - ISelection s= fSelectionProvider.getSelection(); - if (s == null || s.isEmpty() || !(s instanceof IStructuredSelection)) - return false; - IStructuredSelection selection= (IStructuredSelection)s; - - if (selection.size() != 1) - return true; - - Object firstElement= selection.getFirstElement(); - if (firstElement instanceof ISearchResultViewEntry) - return ((ISearchResultViewEntry)firstElement).getMatchCount() > 1; - else - return false; - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/ResourceToItemsMapper.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/ResourceToItemsMapper.java deleted file mode 100644 index 3019eb396ac..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/ResourceToItemsMapper.java +++ /dev/null @@ -1,163 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Stack; - -import org.eclipse.core.resources.IResource; - -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.widgets.Item; - -import org.eclipse.jface.viewers.ContentViewer; -import org.eclipse.jface.viewers.ILabelProvider; - -import org.eclipse.search.ui.ISearchResultViewEntry; - -/** - * Helper class for updating error markers and other decorators that work on resources. - * Items are mapped to their element's underlying resource. - * Method <code>resourceChanged</code> updates all items that are affected from the changed - * elements. - */ -class ResourceToItemsMapper { - - private static final int NUMBER_LIST_REUSE= 10; - - // map from resource to item - private HashMap fResourceToItem; - private Stack fReuseLists; - - private ContentViewer fContentViewer; - - public ResourceToItemsMapper(ContentViewer viewer) { - fResourceToItem= new HashMap(); - fReuseLists= new Stack(); - - fContentViewer= viewer; - } - - /** - * Must be called from the UI thread. - */ - public void resourceChanged(IResource changedResource) { - Object obj= fResourceToItem.get(changedResource); - if (obj == null) { - // not mapped - } else if (obj instanceof Item) { - updateItem((Item) obj); - } else { // List of Items - List list= (List) obj; - for (int k= 0; k < list.size(); k++) { - updateItem((Item) list.get(k)); - } - } - } - - private void updateItem(Item item) { - if (!item.isDisposed()) { // defensive code - ILabelProvider lprovider= (ILabelProvider) fContentViewer.getLabelProvider(); - - Object data= item.getData(); - - String oldText= item.getText(); - String text= lprovider.getText(data); - if (text != null && !text.equals(oldText)) { - item.setText(text); - } - - Image oldImage= item.getImage(); - Image image= lprovider.getImage(data); - if (image != null && !image.equals(oldImage)) { - item.setImage(image); - } - } - } - - /** - * Adds a new item to the map. - * @param element Element to map - * @param item The item used for the element - */ - public void addToMap(Object element, Item item) { - IResource resource= ((ISearchResultViewEntry)element).getResource(); - if (resource != null) { - Object existingMapping= fResourceToItem.get(resource); - if (existingMapping == null) { - fResourceToItem.put(resource, item); - } else if (existingMapping instanceof Item) { - if (existingMapping != item) { - List list= getNewList(); - list.add(existingMapping); - list.add(item); - fResourceToItem.put(resource, list); - } - } else { // List - List list= (List) existingMapping; - if (!list.contains(item)) { - list.add(item); - } - } - } - } - - /** - * Removes an element from the map. - */ - public void removeFromMap(Object element, Item item) { - IResource resource= ((ISearchResultViewEntry)element).getResource(); - if (resource != null) { - Object existingMapping= fResourceToItem.get(resource); - if (existingMapping == null) { - return; - } else if (existingMapping instanceof Item) { - fResourceToItem.remove(resource); - } else { // List - List list= (List) existingMapping; - list.remove(item); - if (list.isEmpty()) { - fResourceToItem.remove(list); - releaseList(list); - } - } - } - } - - private List getNewList() { - if (!fReuseLists.isEmpty()) { - return (List) fReuseLists.pop(); - } - return new ArrayList(2); - } - - private void releaseList(List list) { - if (fReuseLists.size() < NUMBER_LIST_REUSE) { - fReuseLists.push(list); - } - } - - /** - * Clears the map. - */ - public void clearMap() { - fResourceToItem.clear(); - } - - /** - * Clears the map. - */ - public boolean isEmpty() { - return fResourceToItem.isEmpty(); - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/ScopePart.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/ScopePart.java deleted file mode 100644 index 187cebc1c43..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/ScopePart.java +++ /dev/null @@ -1,424 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import java.util.Arrays; -import java.util.HashSet; -import java.util.Set; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.jface.util.Assert; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.window.Window; -import org.eclipse.search.internal.ui.util.PixelConverter; -import org.eclipse.search.internal.ui.util.SWTUtil; -import org.eclipse.search.ui.ISearchPageContainer; -import org.eclipse.search.ui.SearchUI; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Group; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkingSet; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog; - -public class ScopePart { - - // Settings store - private static final String DIALOG_SETTINGS_KEY= "SearchDialog.ScopePart"; //$NON-NLS-1$ - private static final String STORE_SCOPE= "scope"; //$NON-NLS-1$ - private static final String STORE_LRU_WORKING_SET_NAME= "lastUsedWorkingSetName"; //$NON-NLS-1$ - private static final String STORE_LRU_WORKING_SET_NAMES= "lastUsedWorkingSetNames"; //$NON-NLS-1$ - private static IDialogSettings fgSettingsStore; - - static { - fgSettingsStore= SearchPlugin.getDefault().getDialogSettings().getSection(DIALOG_SETTINGS_KEY); - if (fgSettingsStore == null) - fgSettingsStore= SearchPlugin.getDefault().getDialogSettings().addNewSection(DIALOG_SETTINGS_KEY); - } - - private Group fPart; - - // Scope radio buttons - private Button fUseWorkspace; - private Button fUseSelection; - private Button fUseProject; - private Button fUseWorkingSet; - - private int fScope; - private boolean fCanSearchEnclosingProjects; - private Text fWorkingSetText; - private IWorkingSet[] fWorkingSets; - - // Reference to its search page container (can be null) - private ISearchPageContainer fSearchPageContainer; - - /** - * Returns a new scope part with workspace as initial scope. - * The part is not yet created. - */ - public ScopePart(ISearchPageContainer searchPageContainer, boolean searchEnclosingProjects) { - int initialScope= getStoredScope(); - Assert.isLegal(initialScope >= 0 && initialScope <= 3); - fScope= initialScope; - fCanSearchEnclosingProjects= searchEnclosingProjects; - if (!fCanSearchEnclosingProjects && fScope == ISearchPageContainer.SELECTED_PROJECTS_SCOPE) - fScope= ISearchPageContainer.WORKSPACE_SCOPE; - fSearchPageContainer= searchPageContainer; - restoreState(); - } - - private static int getStoredScope() { - int scope; - try { - scope= fgSettingsStore.getInt(STORE_SCOPE); - } catch (NumberFormatException ex) { - scope= ISearchPageContainer.WORKSPACE_SCOPE; - } - if (scope != ISearchPageContainer.WORKING_SET_SCOPE - && scope != ISearchPageContainer.SELECTION_SCOPE - && scope != ISearchPageContainer.SELECTED_PROJECTS_SCOPE - && scope != ISearchPageContainer.WORKSPACE_SCOPE) - scope= ISearchPageContainer.WORKSPACE_SCOPE; - return scope; - } - - - private void restoreState() { - String[] lruWorkingSetNames= fgSettingsStore.getArray(STORE_LRU_WORKING_SET_NAMES); - if (lruWorkingSetNames != null) { - Set existingWorkingSets= new HashSet(lruWorkingSetNames.length); - for (int i= 0; i < lruWorkingSetNames.length; i++) { - String name= lruWorkingSetNames[i]; - IWorkingSet workingSet= PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(name); - if (workingSet != null) - existingWorkingSets.add(workingSet); - } - if (!existingWorkingSets.isEmpty()) - fWorkingSets= (IWorkingSet[]) existingWorkingSets.toArray(new IWorkingSet[existingWorkingSets.size()]); - } else { - // Backward compatibility - String workingSetName= fgSettingsStore.get(STORE_LRU_WORKING_SET_NAME); - if (workingSetName != null) { - IWorkingSet workingSet= PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(workingSetName); - if (workingSet != null) { - fWorkingSets= new IWorkingSet[] { workingSet }; - saveState(); - } - } - } - } - - - /** - * Returns the scope selected in this part - * - * @return the selected scope - */ - public int getSelectedScope() { - return fScope; - } - - /** - * Sets the selected scope. - * This method must only be called on a created part. - * - * @param scope the scope to be selected in this part - */ - public void setSelectedScope(int scope) { - Assert.isLegal(scope >= 0 && scope <= 3); - Assert.isNotNull(fUseWorkspace); - Assert.isNotNull(fUseSelection); - Assert.isNotNull(fUseWorkingSet); - Assert.isNotNull(fUseProject); - fScope= scope; - if (fScope == ISearchPageContainer.SELECTED_PROJECTS_SCOPE) { - if (!fCanSearchEnclosingProjects) { - SearchPlugin.log(new Status(IStatus.WARNING, SearchUI.PLUGIN_ID, IStatus.WARNING, "Enclosing projects scope set on search page that does not support it", null)); //$NON-NLS-1$ - fScope= ISearchPageContainer.WORKSPACE_SCOPE; - } else if (!fUseProject.isEnabled()) { - fScope= ISearchPageContainer.WORKSPACE_SCOPE; - } - } else if (fScope == ISearchPageContainer.SELECTION_SCOPE) { - if (!fUseSelection.isEnabled()) { - fScope= ISearchPageContainer.WORKSPACE_SCOPE; - } - } - switch (fScope) { - case ISearchPageContainer.WORKSPACE_SCOPE : - fUseWorkspace.setSelection(true); - fUseSelection.setSelection(false); - fUseProject.setSelection(false); - fUseWorkingSet.setSelection(false); - break; - case ISearchPageContainer.SELECTION_SCOPE : - fUseWorkspace.setSelection(false); - fUseSelection.setSelection(true); - fUseProject.setSelection(false); - fUseWorkingSet.setSelection(false); - break; - case ISearchPageContainer.WORKING_SET_SCOPE : - fUseWorkspace.setSelection(false); - fUseSelection.setSelection(false); - fUseProject.setSelection(false); - fUseWorkingSet.setSelection(true); - break; - case ISearchPageContainer.SELECTED_PROJECTS_SCOPE : - fUseWorkspace.setSelection(false); - fUseSelection.setSelection(false); - fUseProject.setSelection(true); - fUseWorkingSet.setSelection(false); - break; - } - - updateSearchPageContainerActionPerformedEnablement(); - fgSettingsStore.put(STORE_SCOPE, fScope); - - } - - private void updateSearchPageContainerActionPerformedEnablement() { - boolean newState= fScope != ISearchPageContainer.WORKING_SET_SCOPE || fWorkingSets != null; - if (fSearchPageContainer instanceof SearchDialog) - ((SearchDialog) fSearchPageContainer).setPerformActionEnabledFromScopePart(newState); - else if (fSearchPageContainer != null) - fSearchPageContainer.setPerformActionEnabled(newState); - } - - /** - * Returns the selected working set of this part. - * - * @return the selected working set or null - * - if the scope is not WORKING_SET_SCOPE - * - if there is no working set selected - */ - public IWorkingSet[] getSelectedWorkingSets() { - if (getSelectedScope() == ISearchPageContainer.WORKING_SET_SCOPE) - return fWorkingSets; - else - return null; - } - - /** - * Sets the selected working set for this part. - * This method must only be called on a created part. - * - * @param workingSet the working set to be selected - */ - public void setSelectedWorkingSets(IWorkingSet[] workingSets) { - Assert.isNotNull(workingSets); - setSelectedScope(ISearchPageContainer.WORKING_SET_SCOPE); - fWorkingSets= null; - Set existingWorkingSets= new HashSet(workingSets.length); - for (int i= 0; i < workingSets.length; i++) { - String name= workingSets[i].getName(); - IWorkingSet workingSet= PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(name); - if (workingSet != null) - existingWorkingSets.add(workingSet); - } - if (!existingWorkingSets.isEmpty()) - fWorkingSets= (IWorkingSet[]) existingWorkingSets.toArray(new IWorkingSet[existingWorkingSets.size()]); - - saveState(); - - if (fWorkingSetText != null) - fWorkingSetText.setText(toString(fWorkingSets)); - } - - /** - * Saves the last recently used working sets, - * if any. - */ - private void saveState() { - if (fWorkingSets != null && fWorkingSets.length > 0) { - String[] existingWorkingSetNames= new String[fWorkingSets.length]; - for (int i= 0; i < existingWorkingSetNames.length; i++) - existingWorkingSetNames[i]= fWorkingSets[i].getName(); - fgSettingsStore.put(STORE_LRU_WORKING_SET_NAMES, existingWorkingSetNames); - } - } - - /** - * Creates this scope part. - * - * @param parent a widget which will be the parent of the new instance (cannot be null) - */ - public Composite createPart(Composite parent) { - fPart= new Group(parent, SWT.NONE); - fPart.setText(SearchMessages.getString("ScopePart.group.text")); //$NON-NLS-1$ - - GridLayout layout= new GridLayout(); - layout.numColumns= 4; - fPart.setLayout(layout); - fPart.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - fUseWorkspace= new Button(fPart, SWT.RADIO); - fUseWorkspace.setData(new Integer(ISearchPageContainer.WORKSPACE_SCOPE)); - fUseWorkspace.setText(SearchMessages.getString("ScopePart.workspaceScope.text")); //$NON-NLS-1$ - - fUseSelection= new Button(fPart, SWT.RADIO); - fUseSelection.setData(new Integer(ISearchPageContainer.SELECTION_SCOPE)); - fUseSelection.setText(SearchMessages.getString("ScopePart.selectedResourcesScope.text")); //$NON-NLS-1$ - ISelection selection= fSearchPageContainer.getSelection(); - fUseSelection.setEnabled((selection instanceof IStructuredSelection && - !fSearchPageContainer.getSelection().isEmpty())); - - GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - gd.horizontalIndent= 8; - fUseSelection.setLayoutData(gd); - - fUseProject= new Button(fPart, SWT.RADIO); - fUseProject.setData(new Integer(ISearchPageContainer.SELECTED_PROJECTS_SCOPE)); - fUseProject.setText(SearchMessages.getString("ScopePart.enclosingProjectsScope.text")); //$NON-NLS-1$ - fUseProject.setEnabled((selection instanceof IStructuredSelection && - !fSearchPageContainer.getSelection().isEmpty()) || - hasFocusEditor()); - - gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - gd.horizontalSpan= 2; - gd.horizontalIndent= 8; - fUseProject.setLayoutData(gd); - if (!fCanSearchEnclosingProjects) - fUseProject.setVisible(false); - - fUseWorkingSet= new Button(fPart, SWT.RADIO); - fUseWorkingSet.setData(new Integer(ISearchPageContainer.WORKING_SET_SCOPE)); - fUseWorkingSet.setText(SearchMessages.getString("ScopePart.workingSetScope.text")); //$NON-NLS-1$ - fWorkingSetText= new Text(fPart, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY); - Button chooseWorkingSet= new Button(fPart, SWT.PUSH); - chooseWorkingSet.setLayoutData(new GridData()); - chooseWorkingSet.setText(SearchMessages.getString("ScopePart.workingSetChooseButton.text")); //$NON-NLS-1$ - SWTUtil.setButtonDimensionHint(chooseWorkingSet); - chooseWorkingSet.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (handleChooseWorkingSet()) { - setSelectedScope(ISearchPageContainer.WORKING_SET_SCOPE); - } - } - }); - gd= new GridData(GridData.FILL_HORIZONTAL); - gd.horizontalIndent= 8; - gd.horizontalSpan= 2; - gd.widthHint= new PixelConverter(fWorkingSetText).convertWidthInCharsToPixels(30); - fWorkingSetText.setLayoutData(gd); - - // Add scope change listeners - SelectionAdapter scopeChangedLister= new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - handleScopeChanged(e); - } - }; - fUseWorkspace.addSelectionListener(scopeChangedLister); - fUseSelection.addSelectionListener(scopeChangedLister); - fUseProject.addSelectionListener(scopeChangedLister); - fUseWorkingSet.addSelectionListener(scopeChangedLister); - - // Set initial scope - setSelectedScope(fScope); - - // Set initial working set - if (fWorkingSets != null) - fWorkingSetText.setText(toString(fWorkingSets)); - - return fPart; - } - - /** - * @return Whether an editor has the focus - */ - private boolean hasFocusEditor() { - IWorkbenchPage activePage= SearchPlugin.getActivePage(); - if (activePage == null) - return false; - if (activePage.getActivePart() instanceof IEditorPart) - return true; - return false; - } - - private void handleScopeChanged(SelectionEvent e) { - Object source= e.getSource(); - if (source instanceof Button) { - Button button= (Button) source; - if (button.getSelection()) - setSelectedScope(((Integer) button.getData()).intValue()); - } - } - - private boolean handleChooseWorkingSet() { - IWorkingSetSelectionDialog dialog= - PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSetSelectionDialog( - fUseSelection.getShell(), - true); - - if (fWorkingSets != null) - dialog.setSelection(fWorkingSets); - if (dialog.open() == Window.OK) { - Object[] result= dialog.getSelection(); - if (result.length > 0) { - setSelectedWorkingSets((IWorkingSet[]) result); - return true; - } - fWorkingSetText.setText(""); //$NON-NLS-1$ - fWorkingSets= null; - if (fScope == ISearchPageContainer.WORKING_SET_SCOPE) - setSelectedScope(ISearchPageContainer.WORKSPACE_SCOPE); - return false; - } else { - if (fWorkingSets != null) { - // test if selected working set has been removed - int i= 0; - while (i < fWorkingSets.length) { - if (PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(fWorkingSets[i].getName()) - == null) - break; - i++; - } - if (i < fWorkingSets.length) { - fWorkingSetText.setText(""); //$NON-NLS-1$ - fWorkingSets= null; - updateSearchPageContainerActionPerformedEnablement(); - } - } - } - return false; - } - - void setVisible(boolean state) { - fPart.setVisible(state); - } - - public static String toString(IWorkingSet[] workingSets) { - String result= ""; //$NON-NLS-1$ - if (workingSets != null && workingSets.length > 0) { - Arrays.sort(workingSets, new WorkingSetComparator()); - boolean firstFound= false; - for (int i= 0; i < workingSets.length; i++) { - String workingSetName= workingSets[i].getName(); - if (firstFound) - result= SearchMessages.getFormattedString("ScopePart.workingSetConcatenation", new String[] { result, workingSetName }); //$NON-NLS-1$ - else { - result= workingSetName; - firstFound= true; - } - } - } - return result; - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/Search.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/Search.java deleted file mode 100644 index 9a78101b36d..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/Search.java +++ /dev/null @@ -1,213 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.resources.IWorkspaceDescription; - -import org.eclipse.swt.widgets.Shell; - -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.dialogs.ProgressMonitorDialog; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.util.Assert; -import org.eclipse.jface.viewers.ILabelProvider; -import org.eclipse.jface.viewers.ISelection; - -import org.eclipse.search.ui.IActionGroupFactory; -import org.eclipse.search.ui.IContextMenuContributor; -import org.eclipse.search.ui.IGroupByKeyComputer; -import org.eclipse.search.ui.ISearchResultViewEntry; - -import org.eclipse.search.internal.ui.util.ExceptionHandler; - -public class Search extends Object { - private String fPageId; - private String fSingularLabel; - private String fPluralLabelPattern; - private ImageDescriptor fImageDescriptor; - private ILabelProvider fLabelProvider; - private ISelection fSelection; - private ArrayList fResults; - private IAction fGotoMarkerAction; - private IContextMenuContributor fContextMenuContributor; - private IActionGroupFactory fActionGroupFactory; - private IGroupByKeyComputer fGroupByKeyComputer; - private IRunnableWithProgress fOperation; - - - public Search(String pageId, String singularLabel, String pluralLabelPattern, ILabelProvider labelProvider, ImageDescriptor imageDescriptor, IAction gotoMarkerAction, IActionGroupFactory groupFactory, IGroupByKeyComputer groupByKeyComputer, IRunnableWithProgress operation) { - fPageId= pageId; - fSingularLabel= singularLabel; - fPluralLabelPattern= pluralLabelPattern; - fImageDescriptor= imageDescriptor; - fLabelProvider= labelProvider; - fGotoMarkerAction= gotoMarkerAction; - fActionGroupFactory= groupFactory; - fGroupByKeyComputer= groupByKeyComputer; - fOperation= operation; - - if (fPluralLabelPattern == null) - fPluralLabelPattern= ""; //$NON-NLS-1$ - } - - public Search(String pageId, String singularLabel, String pluralLabelPattern, ILabelProvider labelProvider, ImageDescriptor imageDescriptor, IAction gotoMarkerAction, IContextMenuContributor contextMenuContributor, IGroupByKeyComputer groupByKeyComputer, IRunnableWithProgress operation) { - fPageId= pageId; - fSingularLabel= singularLabel; - fPluralLabelPattern= pluralLabelPattern; - fImageDescriptor= imageDescriptor; - fLabelProvider= labelProvider; - fGotoMarkerAction= gotoMarkerAction; - fContextMenuContributor= contextMenuContributor; - fGroupByKeyComputer= groupByKeyComputer; - fOperation= operation; - - if (fPluralLabelPattern == null) - fPluralLabelPattern= ""; //$NON-NLS-1$ - } - - /** - * Returns the full description of the search. - * The description set by the client where - * {0} will be replaced by the match count. - */ - String getFullDescription() { - if (fSingularLabel != null && getItemCount() == 1) - return fSingularLabel; - - // try to replace "{0}" with the match count - int i= fPluralLabelPattern.lastIndexOf("{0}"); //$NON-NLS-1$ - if (i < 0) - return fPluralLabelPattern; - else - return fPluralLabelPattern.substring(0, i) + getItemCount()+ fPluralLabelPattern.substring(Math.min(i + 3, fPluralLabelPattern.length())); - } - - /** - * Returns a short description of the search. - * Cuts off after 30 characters and adds ... - * The description set by the client where - * {0} will be replaced by the match count. - */ - String getShortDescription() { - String text= getFullDescription(); - int separatorPos= text.indexOf(" - "); //$NON-NLS-1$ - if (separatorPos < 1) - return text.substring(0, Math.min(50, text.length())) + "..."; // use first 50 characters //$NON-NLS-1$ - if (separatorPos < 30) - return text; // don't cut - if (text.charAt(0) == '"') //$NON-NLS-1$ - return text.substring(0, Math.min(30, text.length())) + "...\" - " + text.substring(Math.min(separatorPos + 3, text.length())); //$NON-NLS-1$ - else - return text.substring(0, Math.min(30, text.length())) + "... - " + text.substring(Math.min(separatorPos + 3, text.length())); //$NON-NLS-1$ - } - /** Image used when search is displayed in a list */ - ImageDescriptor getImageDescriptor() { - return fImageDescriptor; - } - - int getItemCount() { - int count= 0; - Iterator iter= getResults().iterator(); - while (iter.hasNext()) - count += ((ISearchResultViewEntry)iter.next()).getMatchCount(); - return count; - } - - List getResults() { - if (fResults == null) - return new ArrayList(); - return fResults; - } - - ILabelProvider getLabelProvider() { - return fLabelProvider; - } - - void searchAgain() { - if (fOperation == null) - return; - Shell shell= SearchPlugin.getActiveWorkbenchShell(); - IWorkspaceDescription workspaceDesc= SearchPlugin.getWorkspace().getDescription(); - boolean isAutoBuilding= workspaceDesc.isAutoBuilding(); - if (isAutoBuilding) - // disable auto-build during search operation - SearchPlugin.setAutoBuilding(false); - try { - new ProgressMonitorDialog(shell).run(true, true, fOperation); - } catch (InvocationTargetException ex) { - ExceptionHandler.handle(ex, shell, SearchMessages.getString("Search.Error.search.title"), SearchMessages.getString("Search.Error.search.message")); //$NON-NLS-2$ //$NON-NLS-1$ - } catch(InterruptedException e) { - } finally { - if (isAutoBuilding) - // enable auto-building again - SearchPlugin.setAutoBuilding(true); - } - } - - boolean isSameSearch(Search search) { - return search != null && search.getOperation() == fOperation && fOperation != null; - } - - void backupMarkers() { - Iterator iter= getResults().iterator(); - while (iter.hasNext()) { - ((SearchResultViewEntry)iter.next()).backupMarkers(); - } - } - - String getPageId() { - return fPageId; - } - - IGroupByKeyComputer getGroupByKeyComputer() { - return fGroupByKeyComputer; - } - - public IRunnableWithProgress getOperation() { - return fOperation; - } - - IAction getGotoMarkerAction() { - return fGotoMarkerAction; - } - - IContextMenuContributor getContextMenuContributor() { - return fContextMenuContributor; - } - - IActionGroupFactory getActionGroupFactory() { - return fActionGroupFactory; - } - - public void removeResults() { - fResults= null; - } - - void setResults(ArrayList results) { - Assert.isNotNull(results); - fResults= results; - } - - ISelection getSelection() { - return fSelection; - } - - void setSelection(ISelection selection) { - fSelection= selection; - } -} - diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchAgainAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchAgainAction.java deleted file mode 100644 index 304d838c78b..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchAgainAction.java +++ /dev/null @@ -1,27 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import org.eclipse.jface.action.Action; - -class SearchAgainAction extends Action { - - public SearchAgainAction() { - super(SearchMessages.getString("SearchResultView.searchAgain.text")); //$NON-NLS-1$ - setToolTipText(SearchMessages.getString("SearchResultView.searchAgain.tooltip")); //$NON-NLS-1$ - } - - public void run() { - Search selected= SearchManager.getDefault().getCurrentSearch(); - if (selected != null) - selected.searchAgain(); - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchDialog.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchDialog.java deleted file mode 100644 index 64dd64485c5..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchDialog.java +++ /dev/null @@ -1,574 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.operation.IRunnableContext; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.util.Assert; -import org.eclipse.jface.viewers.CheckStateChangedEvent; -import org.eclipse.jface.viewers.CheckboxTableViewer; -import org.eclipse.jface.viewers.ICheckStateListener; -import org.eclipse.jface.viewers.ILabelProvider; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.LabelProvider; -import org.eclipse.jface.window.Window; -import org.eclipse.search.internal.ui.util.ExtendedDialogWindow; -import org.eclipse.search.internal.ui.util.ListContentProvider; -import org.eclipse.search.internal.ui.util.SWTUtil; -import org.eclipse.search.ui.IReplacePage; -import org.eclipse.search.ui.ISearchPage; -import org.eclipse.search.ui.ISearchPageContainer; -import org.eclipse.search.ui.ISearchPageScoreComputer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.BusyIndicator; -import org.eclipse.swt.events.DisposeEvent; -import org.eclipse.swt.events.DisposeListener; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.graphics.Rectangle; -import org.eclipse.swt.layout.FillLayout; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Layout; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.TabFolder; -import org.eclipse.swt.widgets.TabItem; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IFileEditorInput; -import org.eclipse.ui.IWorkingSet; -import org.eclipse.ui.dialogs.ListSelectionDialog; -import org.eclipse.ui.help.WorkbenchHelp; - -class SearchDialog extends ExtendedDialogWindow implements ISearchPageContainer { - - private class TabFolderLayout extends Layout { - protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) { - if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT) - return new Point(wHint, hHint); - - int x= 0; - int y= 0; - Control[] children= composite.getChildren(); - for (int i= 0; i < children.length; i++) { - Point size= children[i].computeSize(SWT.DEFAULT, SWT.DEFAULT, flushCache); - x= Math.max(x, size.x); - y= Math.max(y, size.y); - } - - Point minSize= getMinSize(); - x= Math.max(x, minSize.x); - y= Math.max(y, minSize.y); - - if (wHint != SWT.DEFAULT) - x= wHint; - if (hHint != SWT.DEFAULT) - y= hHint; - return new Point(x, y); - } - protected void layout(Composite composite, boolean flushCache) { - Rectangle rect= composite.getClientArea(); - - Control[] children= composite.getChildren(); - for (int i= 0; i < children.length; i++) { - children[i].setBounds(rect); - } - } - } - - - private static final int SEARCH_ID= IDialogConstants.CLIENT_ID+1; - private static final int REPLACE_ID= SEARCH_ID+1; - - private IWorkspace fWorkspace; - private ISearchPage fCurrentPage; - private String fInitialPageId; - private int fCurrentIndex; - private ISelection fSelection; - private IEditorPart fEditorPart; - private List fDescriptors; - private Point fMinSize; - private ScopePart[] fScopeParts; - private boolean fPageStateIgnoringScopePart; - private Button fCustomizeButton; - private Button fReplaceButton; - - public SearchDialog(Shell shell, IWorkspace workspace, ISelection selection, IEditorPart editor, String pageId) { - super(shell); - Assert.isNotNull(workspace); - fWorkspace= workspace; - fSelection= selection; - fEditorPart= editor; - fDescriptors= SearchPlugin.getDefault().getEnabledSearchPageDescriptors(pageId); - fInitialPageId= pageId; - } - - /* (non-Javadoc) - * Method declared in Window. - */ - protected void configureShell(Shell shell) { - super.configureShell(shell); - shell.setText(SearchMessages.getString("SearchDialog.title")); //$NON-NLS-1$ - shell.setImage(SearchPluginImages.get(SearchPluginImages.IMG_TOOL_SEARCH)); - WorkbenchHelp.setHelp(shell, ISearchHelpContextIds.SEARCH_DIALOG); - } - - public IWorkspace getWorkspace() { - return fWorkspace; - } - - public ISelection getSelection() { - return fSelection; - } - - public IEditorPart getEditorPart() { - return fEditorPart; - } - - //---- Page Handling ------------------------------------------------------- - - /* - * Overrides method from Window - */ - public void create() { - super.create(); - if (fCurrentPage != null) - fCurrentPage.setVisible(true); - } - - private void handleCustomizePressed() { - List input= SearchPlugin.getDefault().getSearchPageDescriptors(); - final ArrayList createdImages= new ArrayList(input.size()); - ILabelProvider labelProvider= new LabelProvider() { - public String getText(Object element) { - if (element instanceof SearchPageDescriptor) { - String label= ((SearchPageDescriptor)element).getLabel(); - int i= label.indexOf('&'); - while (i >= 0) { - if (i < label.length()) - label= label.substring(0, i) + label.substring(i+1); - else - label.substring(0, i); - i= label.indexOf('&'); - } - return label; - } else - return null; - } - public Image getImage(Object element) { - if (element instanceof SearchPageDescriptor) { - ImageDescriptor imageDesc= ((SearchPageDescriptor)element).getImage(); - if (imageDesc == null) - return null; - Image image= imageDesc.createImage(); - if (image != null) - createdImages.add(image); - return image; - } else - return null; - } - }; - - String message= SearchMessages.getString("SearchPageSelectionDialog.message"); //$NON-NLS-1$ - - ListSelectionDialog dialog= new ListSelectionDialog(getShell(), input, new ListContentProvider(), labelProvider, message) { - public void create() { - super.create(); - final CheckboxTableViewer viewer= getViewer(); - final Button okButton= this.getOkButton(); - viewer.addCheckStateListener(new ICheckStateListener() { - public void checkStateChanged(CheckStateChangedEvent event) { - okButton.setEnabled(viewer.getCheckedElements().length > 0); - } - }); - SelectionListener listener = new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - okButton.setEnabled(viewer.getCheckedElements().length > 0); - } - }; - this.getButton(IDialogConstants.SELECT_ALL_ID).addSelectionListener(listener); - this.getButton(IDialogConstants.DESELECT_ALL_ID).addSelectionListener(listener); - } - }; - dialog.setTitle(SearchMessages.getString("SearchPageSelectionDialog.title")); //$NON-NLS-1$ - dialog.setInitialSelections(SearchPlugin.getDefault().getEnabledSearchPageDescriptors(fInitialPageId).toArray()); - if (dialog.open() == Window.OK) { - SearchPageDescriptor.setEnabled(dialog.getResult()); - Display display= getShell().getDisplay(); - close(); - if (display != null && !display.isDisposed()) { - display.asyncExec( - new Runnable() { - public void run() { - new OpenSearchDialogAction().run(); - } - }); - } - } - destroyImages(createdImages); - } - - private void destroyImages(List images) { - Iterator iter= images.iterator(); - while (iter.hasNext()) { - Image image= (Image)iter.next(); - if (image != null && !image.isDisposed()) - image.dispose(); - } - } - - protected Control createPageArea(Composite parent) { - int numPages= fDescriptors.size(); - fScopeParts= new ScopePart[numPages]; - - if (numPages == 0) { - Label label= new Label(parent, SWT.CENTER | SWT.WRAP); - label.setText(SearchMessages.getString("SearchDialog.noSearchExtension")); //$NON-NLS-1$ - return label; - } - - fCurrentIndex= getPreferredPageIndex(); - - BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() { - public void run() { - fCurrentPage= getDescriptorAt(fCurrentIndex).createObject(); - } - }); - - fCurrentPage.setContainer(this); - - if (numPages == 1) - return getControl(fCurrentPage, parent, 0); - else { - Composite border= new Composite(parent, SWT.NONE); - FillLayout layout= new FillLayout(); - layout.marginWidth= 7; - layout.marginHeight= 7; - border.setLayout(layout); - - TabFolder folder= new TabFolder(border, SWT.NONE); - folder.setLayout(new TabFolderLayout()); - - for (int i= 0; i < numPages; i++) { - SearchPageDescriptor descriptor= (SearchPageDescriptor)fDescriptors.get(i); - - final TabItem item= new TabItem(folder, SWT.NONE); - item.setText(descriptor.getLabel()); - item.addDisposeListener(new DisposeListener() { - public void widgetDisposed(DisposeEvent e) { - item.setData(null); - if (item.getImage() != null) - item.getImage().dispose(); - } - }); - ImageDescriptor imageDesc= descriptor.getImage(); - if (imageDesc != null) - item.setImage(imageDesc.createImage()); - item.setData(descriptor); - if (i == fCurrentIndex) { - item.setControl(getControl(fCurrentPage, folder, i)); - item.setData(fCurrentPage); - } - } - - folder.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - turnToPage(event); - } - }); - - folder.setSelection(fCurrentIndex); - - return border; - } - } - - protected void createButtonsForButtonBar(Composite parent) { - fReplaceButton= createActionButton(parent, REPLACE_ID, SearchMessages.getString("SearchDialog.replaceAction"), true); //$NON-NLS-1$ - fReplaceButton.setVisible(fCurrentPage instanceof IReplacePage); - createActionButton(parent, SEARCH_ID, SearchMessages.getString("SearchDialog.searchAction"), true); //$NON-NLS-1$ - super.createButtonsForButtonBar(parent); - } - - protected Control createButtonBar(Composite parent) { - Composite composite= new Composite(parent, SWT.NULL); - GridLayout layout= new GridLayout(); - layout.numColumns= 3; - layout.marginHeight= 0; - layout.marginWidth= 0; - - composite.setLayout(layout); - composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - fCustomizeButton= new Button(composite, SWT.NONE); - fCustomizeButton.setText(SearchMessages.getString("SearchDialog.customize")); //$NON-NLS-1$ - GridData gd= new GridData(); - gd.horizontalIndent= 2 * new GridLayout().marginWidth; - fCustomizeButton.setLayoutData(gd); - SWTUtil.setButtonDimensionHint(fCustomizeButton); - fCustomizeButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - handleCustomizePressed(); - } - }); - - Label filler= new Label(composite, SWT.NONE); - filler.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); - - Control result= super.createButtonBar(composite); - getButton(SEARCH_ID).setEnabled(fDescriptors.size() > 0); - applyDialogFont(composite); - - return result; - } - - protected boolean performAction(int actionID) { - if (fCurrentPage == null) - return true; - - boolean isAutoBuilding= SearchPlugin.getWorkspace().isAutoBuilding(); - if (isAutoBuilding) - // disable auto-build during search operation - SearchPlugin.setAutoBuilding(false); - try { - fCustomizeButton.setEnabled(false); - if (actionID == SEARCH_ID) - return fCurrentPage.performAction(); - else - // safe cast, replace button is only visible when the curren page is - // a replace page. - return ((IReplacePage)fCurrentPage).performReplace(); - } finally { - fCustomizeButton.setEnabled(true); - if (isAutoBuilding) - // enable auto-building again - SearchPlugin.setAutoBuilding(true); - } - } - - private SearchPageDescriptor getDescriptorAt(int index) { - return (SearchPageDescriptor)fDescriptors.get(index); - } - - private Point getMinSize() { - if (fMinSize != null) - return fMinSize; - - int x= 0; - int y= 0; - int length= fDescriptors.size(); - for (int i= 0; i < length; i++) { - Point size= getDescriptorAt(i).getPreferredSize(); - if (size.x != SWT.DEFAULT) - x= Math.max(x, size.x); - if (size.y != SWT.DEFAULT) - y= Math.max(y, size.y); - } - - fMinSize= new Point(x, y); - return fMinSize; - } - - private void turnToPage(SelectionEvent event) { - final TabItem item= (TabItem)event.item; - TabFolder folder= item.getParent(); - Control oldControl= folder.getItem(fCurrentIndex).getControl(); - Point oldSize= oldControl.getSize(); - if (item.getControl() == null) { - final SearchPageDescriptor descriptor= (SearchPageDescriptor)item.getData(); - - BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() { - public void run() { - item.setData(descriptor.createObject()); - } - }); - - ISearchPage page= (ISearchPage)item.getData(); - page.setContainer(this); - - Control newControl= getControl(page, (Composite)event.widget, item.getParent().getSelectionIndex()); - item.setControl(newControl); - - } - if (item.getData() instanceof ISearchPage) { - fCurrentPage= (ISearchPage)item.getData(); - fReplaceButton.setVisible(fCurrentPage instanceof IReplacePage); - fCurrentIndex= item.getParent().getSelectionIndex(); - fCurrentPage.setVisible(true); - } - Control newControl= item.getControl(); - resizeDialogIfNeeded(oldSize, newControl.computeSize(SWT.DEFAULT, SWT.DEFAULT, true)); - } - - private int getPreferredPageIndex() { - Object element= null; - if (fSelection instanceof IStructuredSelection) - element= ((IStructuredSelection)fSelection).getFirstElement(); - if (element == null && fEditorPart != null) { - element= fEditorPart.getEditorInput(); - if (element instanceof IFileEditorInput) - element= ((IFileEditorInput)element).getFile(); - } - int result= 0; - int level= ISearchPageScoreComputer.LOWEST; - int size= fDescriptors.size(); - for (int i= 0; i < size; i++) { - SearchPageDescriptor descriptor= (SearchPageDescriptor)fDescriptors.get(i); - if (fInitialPageId != null && fInitialPageId.equals(descriptor.getId())) - return i; - - int newLevel= descriptor.computeScore(element); - if ( newLevel > level) { - level= newLevel; - result= i; - } - } - return result; - } - - /* - * Implements method from ISearchPageContainer - */ - public IRunnableContext getRunnableContext() { - return this; - } - - /* - * Implements method from ISearchPageContainer - */ - public int getSelectedScope() { - if (fScopeParts[fCurrentIndex] == null) - // safe code - should not happen - return ISearchPageContainer.WORKSPACE_SCOPE; - else - return fScopeParts[fCurrentIndex].getSelectedScope(); - } - - /* - * Implements method from ISearchPageContainer - */ - public IWorkingSet[] getSelectedWorkingSets() { - if (fScopeParts[fCurrentIndex] == null) - // safe code - should not happen - return null; - else - return fScopeParts[fCurrentIndex].getSelectedWorkingSets(); - } - - /* - * Implements method from ISearchPageContainer - */ - public void setSelectedScope(int scope) { - if (fScopeParts[fCurrentIndex] != null) - fScopeParts[fCurrentIndex].setSelectedScope(scope); - } - - /* - * Implements method from ISearchPageContainer - */ - public boolean hasValidScope() { - return getSelectedScope() != WORKING_SET_SCOPE || getSelectedWorkingSets() != null; - } - - /* - * Implements method from ISearchPageContainer - */ - public void setSelectedWorkingSets(IWorkingSet[] workingSets) { - if (fScopeParts[fCurrentIndex] != null) - fScopeParts[fCurrentIndex].setSelectedWorkingSets(workingSets); - } - - /* - * Overrides method from ExtendedDialogWindow - */ - public void setPerformActionEnabled(boolean state) { - super.setPerformActionEnabled(state); - fPageStateIgnoringScopePart= state; - setPerformActionEnabledFromScopePart(hasValidScope()); - } - - /** - * Set the enable state of the perform action button. - * <p> - * Note: This is a special method to be called only from the ScopePart - * </p> - */ - public void setPerformActionEnabledFromScopePart(boolean state) { - if (fPageStateIgnoringScopePart) - super.setPerformActionEnabled(state); - } - - private Control getControl(ISearchPage page, Composite parent, int index) { - Control control= page.getControl(); - if (control != null) - return control; - // Page wrapper - Composite pageWrapper= new Composite(parent, SWT.NONE); - GridLayout layout= new GridLayout(); - layout.marginWidth= 0; - layout.marginHeight= 0; - pageWrapper.setLayout(layout); - - Dialog.applyDialogFont(pageWrapper); - // The page itself - page.createControl(pageWrapper); - - - // Search scope - SearchPageDescriptor descriptor= getDescriptorAt(index); - boolean showScope= descriptor.showScopeSection(); - if (showScope) { - Composite c= new Composite(pageWrapper, SWT.NONE); - layout= new GridLayout(); - c.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - c.setLayout(layout); - fScopeParts[index]= new ScopePart(this, descriptor.canSearchInProjects()); - Control part= fScopeParts[index].createPart(c); - applyDialogFont(part); - fScopeParts[index].setVisible(true); - } - return pageWrapper; - } - - private void resizeDialogIfNeeded(Point oldSize, Point newSize) { - if (oldSize == null || newSize == null) - return; - Shell shell= getShell(); - Point shellSize= shell.getSize(); - if (mustResize(oldSize, newSize)) { - if (newSize.x > oldSize.x) - shellSize.x+= (newSize.x-oldSize.x); - if (newSize.y > oldSize.y) - shellSize.y+= (newSize.y-oldSize.y); - shell.setSize(shellSize); - shell.layout(true); - } - } - - private boolean mustResize(Point currentSize, Point newSize) { - return currentSize.x < newSize.x || currentSize.y < newSize.y; - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchDropDownAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchDropDownAction.java deleted file mode 100644 index bb6db831989..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchDropDownAction.java +++ /dev/null @@ -1,92 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import java.util.Iterator; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.swt.widgets.MenuItem; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.ActionContributionItem; -import org.eclipse.jface.action.IMenuCreator; - -class SearchDropDownAction extends Action implements IMenuCreator { - - - public static final int RESULTS_IN_DROP_DOWN= 10; - - private Menu fMenu; - - public SearchDropDownAction() { - setText(SearchMessages.getString("SearchResultView.previousSearches.text")); //$NON-NLS-1$ - setToolTipText(SearchMessages.getString("SearchResultView.previousSearches.tooltip")); //$NON-NLS-1$ - SearchPluginImages.setImageDescriptors(this, SearchPluginImages.T_LCL, SearchPluginImages.IMG_LCL_SEARCH_HISTORY); - setMenuCreator(this); - } - - public void dispose() { - if (fMenu != null) { - fMenu.dispose(); - fMenu= null; - } - } - - public Menu getMenu(Menu parent) { - return null; - } - - public Menu getMenu(Control parent) { - if (fMenu != null) - fMenu.dispose(); - - fMenu= new Menu(parent); - boolean checkedOne= false; - Iterator iter= SearchManager.getDefault().getPreviousSearches().iterator(); - Search selected= SearchManager.getDefault().getCurrentSearch(); - int i= 0; - while (iter.hasNext() && i++ < RESULTS_IN_DROP_DOWN) { - Search search= (Search)iter.next(); - ShowSearchAction action= new ShowSearchAction(search); - action.setChecked(search.equals(selected)); - if (search.equals(selected)) - checkedOne= true; - addActionToMenu(fMenu, action); - } - new MenuItem(fMenu, SWT.SEPARATOR); - if (iter.hasNext()) { - Action others= new ShowSearchesAction(); - others.setChecked(!checkedOne); - addActionToMenu(fMenu, others); - } - addActionToMenu(fMenu, new RemoveAllSearchesAction()); - return fMenu; - } - - protected void addActionToMenu(Menu parent, Action action) { - ActionContributionItem item= new ActionContributionItem(action); - item.fill(parent, -1); - } - - public void run() { - new ShowSearchesAction().run(true); - } - - /** - * Get's rid of the menu, because the menu hangs on to - * the searches, etc. - */ - void clear() { - dispose(); - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchManager.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchManager.java deleted file mode 100644 index 6e310231650..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchManager.java +++ /dev/null @@ -1,507 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.Map; - -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.resources.IMarkerDelta; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceChangeEvent; -import org.eclipse.core.resources.IResourceChangeListener; -import org.eclipse.core.resources.IResourceDelta; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; - -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Shell; - -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.dialogs.ProgressMonitorDialog; -import org.eclipse.jface.util.Assert; -import org.eclipse.jface.viewers.Viewer; - -import org.eclipse.ui.actions.WorkspaceModifyOperation; - -import org.eclipse.search.ui.IGroupByKeyComputer; -import org.eclipse.search.ui.SearchUI; - -import org.eclipse.search.internal.ui.util.ExceptionHandler; - -/** - * Manage search results - */ -public class SearchManager implements IResourceChangeListener { - - static final SearchManager fgDefault= new SearchManager(); - - Search fCurrentSearch= null; - - private SearchManager() { - SearchPlugin.getWorkspace().addResourceChangeListener(this); - } - - private HashSet fListeners= new HashSet(); - private LinkedList fPreviousSearches= new LinkedList(); - private boolean fIsRemoveAll= false; - - public static SearchManager getDefault() { - return fgDefault; - } - - /** - * Returns the list with previous searches (ISearch). - */ - LinkedList getPreviousSearches() { - return fPreviousSearches; - } - /** - * Returns the list with current (last) results - */ - ArrayList getCurrentResults() { - if (fCurrentSearch == null) - return new ArrayList(0); - else - return (ArrayList)fCurrentSearch.getResults(); - } - - public Search getCurrentSearch() { - return fCurrentSearch; - } - - void removeAllSearches() { - SearchPlugin.getWorkspace().removeResourceChangeListener(this); - WorkspaceModifyOperation op= new WorkspaceModifyOperation(null) { - protected void execute(IProgressMonitor monitor) throws CoreException { - monitor.beginTask(SearchMessages.getString("SearchManager.updating"), 100); //$NON-NLS-1$ - SearchPlugin.getWorkspace().getRoot().deleteMarkers(SearchUI.SEARCH_MARKER, true, IResource.DEPTH_INFINITE); - monitor.worked(100); - monitor.done(); - } - }; - boolean isAutoBuilding= SearchPlugin.getWorkspace().isAutoBuilding(); - if (isAutoBuilding) - // disable auto-build during search operation - SearchPlugin.setAutoBuilding(false); - try { - ProgressMonitorDialog dialog= new ProgressMonitorDialog(getShell()); - dialog.run(true, true, op); - } catch (InvocationTargetException ex) { - ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.deleteMarkers.title"), SearchMessages.getString("Search.Error.deleteMarkers.message")); //$NON-NLS-2$ //$NON-NLS-1$ - } catch (InterruptedException e) { - // Do nothing. Operation has been canceled. - } finally { - SearchPlugin.getWorkspace().addResourceChangeListener(this); - if (isAutoBuilding) - // enable auto-building again - SearchPlugin.setAutoBuilding(true); - } - - // clear searches - fPreviousSearches= new LinkedList(); - fCurrentSearch= null; - - // update viewers - Iterator iter= fListeners.iterator(); - while (iter.hasNext()) { - SearchResultViewer viewer= (SearchResultViewer)iter.next(); - handleAllSearchesRemoved(viewer); - } - } - - private void handleAllSearchesRemoved(SearchResultViewer viewer) { - viewer.handleAllSearchesRemoved(); - } - - void setCurrentSearch(final Search search) { - if (fCurrentSearch == search) - return; - - SearchPlugin.getWorkspace().removeResourceChangeListener(this); - WorkspaceModifyOperation op= new WorkspaceModifyOperation(null) { - protected void execute(IProgressMonitor monitor) throws CoreException { - internalSetCurrentSearch(search, monitor); - } - }; - boolean isAutoBuilding= SearchPlugin.getWorkspace().isAutoBuilding(); - if (isAutoBuilding) - // disable auto-build during search operation - SearchPlugin.setAutoBuilding(false); - try { - ProgressMonitorDialog dialog= new ProgressMonitorDialog(getShell()); - dialog.run(true, true, op); - } catch (InvocationTargetException ex) { - ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.switchSearch.title"), SearchMessages.getString("Search.Error.switchSearch.message")); //$NON-NLS-2$ //$NON-NLS-1$ - } catch (InterruptedException e) { - // Do nothing. Operation has been canceled. - } finally { - SearchPlugin.getWorkspace().addResourceChangeListener(this); - if (isAutoBuilding) - // enable auto-building again - SearchPlugin.setAutoBuilding(true); - } - - getPreviousSearches().remove(search); - getPreviousSearches().addFirst(search); - } - - void internalSetCurrentSearch(final Search search, IProgressMonitor monitor) { - if (fCurrentSearch != null) - fCurrentSearch.backupMarkers(); - - final Search previousSearch= fCurrentSearch; - fCurrentSearch= search; - monitor.beginTask(SearchMessages.getString("SearchManager.updating"), getCurrentResults().size() + 20); //$NON-NLS-1$ - - // remove current search markers - try { - SearchPlugin.getWorkspace().getRoot().deleteMarkers(SearchUI.SEARCH_MARKER, true, IResource.DEPTH_INFINITE); - } catch (CoreException ex) { - ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.deleteMarkers.title"), SearchMessages.getString("Search.Error.deleteMarkers.message")); //$NON-NLS-2$ //$NON-NLS-1$ - } - monitor.worked(10); - - // add search markers - Iterator iter= getCurrentResults().iterator(); - ArrayList emptyEntries= new ArrayList(10); - boolean filesChanged= false; - boolean filesDeleted= false; - IGroupByKeyComputer groupByKeyComputer= getCurrentSearch().getGroupByKeyComputer(); - while (iter.hasNext()) { - monitor.worked(1); - SearchResultViewEntry entry= (SearchResultViewEntry)iter.next(); - Iterator attrPerMarkerIter= entry.getAttributesPerMarker().iterator(); - entry.clearMarkerList(); - if (entry.getResource() == null || !entry.getResource().exists()) { - emptyEntries.add(entry); - filesDeleted= true; - continue; - } - while (attrPerMarkerIter.hasNext()) { - IMarker newMarker= null; - try { - newMarker= entry.getResource().createMarker(entry.getMarkerType()); - } catch (CoreException ex) { - ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.createMarker.title"), SearchMessages.getString("Search.Error.createMarker.message")); //$NON-NLS-2$ //$NON-NLS-1$ - continue; - } - try { - newMarker.setAttributes((Map)attrPerMarkerIter.next()); - if (groupByKeyComputer !=null && groupByKeyComputer.computeGroupByKey(newMarker) == null) { - filesDeleted= true; - newMarker.delete(); - continue; - } - } catch (CoreException ex) { - ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.markerAttributeAccess.title"), SearchMessages.getString("Search.Error.markerAttributeAccess.message")); //$NON-NLS-2$ //$NON-NLS-1$ - } - entry.add(newMarker); - } - if (entry.getMatchCount() == 0) - emptyEntries.add(entry); - else if (!filesChanged && entry.getResource().getModificationStamp() != entry.getModificationStamp()) - filesChanged= true; - } - getCurrentResults().removeAll(emptyEntries); - monitor.worked(10); - - String warningMessage= null; - Display display= getDisplay(); - - if (filesChanged) - warningMessage= SearchMessages.getString("SearchManager.resourceChanged"); //$NON-NLS-1$ - if (filesDeleted) { - if (warningMessage == null) - warningMessage= ""; //$NON-NLS-1$ - else - warningMessage += "\n"; //$NON-NLS-1$ - warningMessage += SearchMessages.getString("SearchManager.resourceDeleted"); //$NON-NLS-1$ - } - if (warningMessage != null) { - if (display != null && !display.isDisposed()) { - final String warningTitle= SearchMessages.getString("SearchManager.resourceChangedWarning"); //$NON-NLS-1$ - final String warningMsg= warningMessage; - display.syncExec(new Runnable() { - public void run() { - MessageDialog.openWarning(getShell(), warningTitle, warningMsg); - } - }); - } - } - - // update viewers - iter= fListeners.iterator(); - if (display != null && !display.isDisposed()) { - final Viewer visibleViewer= ((SearchResultView)SearchPlugin.getSearchResultView()).getViewer(); - while (iter.hasNext()) { - final SearchResultViewer viewer= (SearchResultViewer)iter.next(); - display.syncExec(new Runnable() { - public void run() { - if (previousSearch != null && viewer == visibleViewer) - previousSearch.setSelection(viewer.getSelection()); - viewer.setInput(null); - viewer.setPageId(search.getPageId()); - viewer.setGotoMarkerAction(search.getGotoMarkerAction()); - viewer.setContextMenuTarget(search.getContextMenuContributor()); - viewer.setActionGroupFactory(null); - viewer.setInput(getCurrentResults()); - viewer.setActionGroupFactory(search.getActionGroupFactory()); - viewer.setSelection(fCurrentSearch.getSelection(), true); - } - }); - } - } - monitor.done(); - } - - /** - * Returns the number of matches - */ - int getCurrentItemCount() { - if (fCurrentSearch != null) - return fCurrentSearch.getItemCount(); - else - return 0; - } - - void removeAllResults() { - fIsRemoveAll= true; - try { - SearchPlugin.getWorkspace().getRoot().deleteMarkers(SearchUI.SEARCH_MARKER, true, IResource.DEPTH_INFINITE); - } catch (CoreException ex) { - ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.deleteMarkers.title"), SearchMessages.getString("Search.Error.deleteMarkers.message")); //$NON-NLS-2$ //$NON-NLS-1$ - fIsRemoveAll= false; - } - } - - void addNewSearch(final Search newSearch) { - - SearchPlugin.getWorkspace().removeResourceChangeListener(this); - - // Clear the viewers - Iterator iter= fListeners.iterator(); - Display display= getDisplay(); - if (display != null && !display.isDisposed()) { - final Viewer visibleViewer= ((SearchResultView)SearchPlugin.getSearchResultView()).getViewer(); - while (iter.hasNext()) { - final SearchResultViewer viewer= (SearchResultViewer)iter.next(); - display.syncExec(new Runnable() { - public void run() { - if (fCurrentSearch != null && viewer == visibleViewer) - fCurrentSearch.setSelection(viewer.getSelection()); - setNewSearch(viewer, newSearch); - } - }); - } - } - - if (fCurrentSearch != null) { - if (fCurrentSearch.isSameSearch(newSearch)) - getPreviousSearches().remove(fCurrentSearch); - else - fCurrentSearch.backupMarkers(); - } - fCurrentSearch= newSearch; - getPreviousSearches().addFirst(fCurrentSearch); - - // Remove the markers - try { - SearchPlugin.getWorkspace().getRoot().deleteMarkers(SearchUI.SEARCH_MARKER, true, IResource.DEPTH_INFINITE); - } catch (CoreException ex) { - ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.deleteMarkers.title"), SearchMessages.getString("Search.Error.deleteMarkers.message")); //$NON-NLS-2$ //$NON-NLS-1$ - } - } - - void searchFinished(ArrayList results) { - Assert.isNotNull(results); - getCurrentSearch().setResults(results); - - Display display= getDisplay(); - if (display == null || display.isDisposed()) - return; - - if (Thread.currentThread() == display.getThread()) - handleNewSearchResult(); - else { - display.syncExec(new Runnable() { - public void run() { - handleNewSearchResult(); - } - }); - } - SearchPlugin.getWorkspace().addResourceChangeListener(this); - } - - //--- Change event handling ------------------------------------------------- - - void addSearchChangeListener(SearchResultViewer viewer) { - fListeners.add(viewer); - } - - void removeSearchChangeListener(SearchResultViewer viewer) { - Assert.isNotNull(viewer); - fListeners.remove(viewer); - } - - private final void handleSearchMarkersChanged(IMarkerDelta[] markerDeltas) { - if (fIsRemoveAll) { - handleRemoveAll(); - fIsRemoveAll= false; - return; - } - - Iterator iter= fListeners.iterator(); - while (iter.hasNext()) - ((SearchResultViewer)iter.next()).getControl().setRedraw(false); - - for (int i=0; i < markerDeltas.length; i++) { - handleSearchMarkerChanged(markerDeltas[i]); - } - - iter= fListeners.iterator(); - while (iter.hasNext()) - ((SearchResultViewer)iter.next()).getControl().setRedraw(true); - - } - - private void handleSearchMarkerChanged(IMarkerDelta markerDelta) { - int kind= markerDelta.getKind(); - // don't listen for adds will be done by ISearchResultView.addMatch(...) - if (((kind & IResourceDelta.REMOVED) != 0)) - handleRemoveMatch(markerDelta.getMarker()); - else if ((kind & IResourceDelta.CHANGED) != 0) - handleUpdateMatch(markerDelta.getMarker()); - } - - private void handleRemoveAll() { - if (fCurrentSearch != null) - fCurrentSearch.removeResults(); - Iterator iter= fListeners.iterator(); - while (iter.hasNext()) - ((SearchResultViewer)iter.next()).handleRemoveAll(); - } - - private void handleNewSearchResult() { - Iterator iter= fListeners.iterator(); - while (iter.hasNext()) { - SearchResultViewer viewer= (SearchResultViewer)iter.next(); - viewer.setInput(getCurrentResults()); - } - } - - private void setNewSearch(SearchResultViewer viewer, Search search) { - viewer.setInput(null); - viewer.clearTitle(); - viewer.setPageId(search.getPageId()); - viewer.setGotoMarkerAction(search.getGotoMarkerAction()); - viewer.setContextMenuTarget(search.getContextMenuContributor()); - viewer.setActionGroupFactory(search.getActionGroupFactory()); - } - - private void handleRemoveMatch(IMarker marker) { - SearchResultViewEntry entry= findEntry(marker); - if (entry != null) { - entry.remove(marker); - if (entry.getMatchCount() == 0) { - getCurrentResults().remove(entry); - Iterator iter= fListeners.iterator(); - while (iter.hasNext()) - ((SearchResultViewer)iter.next()).handleRemoveMatch(entry); - } - else { - Iterator iter= fListeners.iterator(); - while (iter.hasNext()) - ((SearchResultViewer)iter.next()).handleUpdateMatch(entry, true); - } - } - } - - private void handleUpdateMatch(IMarker marker) { - SearchResultViewEntry entry= findEntry(marker); - if (entry != null) { - Iterator iter= fListeners.iterator(); - while (iter.hasNext()) - ((SearchResultViewer)iter.next()).handleUpdateMatch(entry, false); - } - } - - private SearchResultViewEntry findEntry(IMarker marker) { - Iterator entries= getCurrentResults().iterator(); - while (entries.hasNext()) { - SearchResultViewEntry entry= (SearchResultViewEntry)entries.next(); - if (entry.contains(marker)) - return entry; - } - return null; - } - - /** - * Received a resource event. Since the delta could be created in a - * separate thread this methods post the event into the viewer's - * display thread. - */ - public final void resourceChanged(final IResourceChangeEvent event) { - if (event == null) - return; - - final IMarkerDelta[] markerDeltas= event.findMarkerDeltas(SearchUI.SEARCH_MARKER, true); - if (markerDeltas == null || markerDeltas.length < 1) - return; - - Display display= getDisplay(); - if (display == null || display.isDisposed()) - return; - - Runnable runnable= new Runnable() { - public void run() { - if (getCurrentSearch() != null) { - handleSearchMarkersChanged(markerDeltas); - // update title and actions - Iterator iter= fListeners.iterator(); - while (iter.hasNext()) { - SearchResultViewer viewer= (SearchResultViewer)iter.next(); - viewer.enableActions(); - viewer.updateTitle(); - } - } - } - }; - display.syncExec(runnable); - } - /** - * Find and return a valid display - */ - private Display getDisplay() { - Iterator iter= fListeners.iterator(); - while (iter.hasNext()) { - Control control= ((Viewer)iter.next()).getControl(); - if (control != null && !control.isDisposed()) { - Display display= control.getDisplay(); - if (display != null && !display.isDisposed()) - return display; - } - } - return null; - } - /** - * Find and return a valid shell - */ - private Shell getShell() { - return SearchPlugin.getActiveWorkbenchShell(); - } -} - diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchMessages.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchMessages.java deleted file mode 100644 index 2f9d75ec664..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchMessages.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import java.text.MessageFormat; -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -public class SearchMessages { - - private static final String RESOURCE_BUNDLE= SearchMessages.class.getName(); - - private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE); - - private SearchMessages() { - } - - public static String getString(String key) { - try { - return fgResourceBundle.getString(key); - } catch (MissingResourceException e) { - return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$ - } - } - - /** - * Gets a string from the resource bundle and formats it with the argument - * - * @param key the string used to get the bundle value, must not be null - */ - public static String getFormattedString(String key, Object arg) { - String format= null; - try { - format= fgResourceBundle.getString(key); - } catch (MissingResourceException e) { - return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$ - } - if (arg == null) - arg= ""; //$NON-NLS-1$ - return MessageFormat.format(format, new Object[] { arg }); - } - - /** - * Gets a string from the resource bundle and formats it with the argument - * - * @param key the string used to get the bundle value, must not be null - */ - public static String getFormattedString(String key, Object[] args) { - String format= null; - try { - format= fgResourceBundle.getString(key); - } catch (MissingResourceException e) { - return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$ - } - return MessageFormat.format(format, args); - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchMessages.properties b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchMessages.properties deleted file mode 100644 index 4cbec3d110e..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchMessages.properties +++ /dev/null @@ -1,223 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Common Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/cpl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -SearchDialog.title= Search -SearchDialog.searchAction= &Search -SearchDialog.replaceAction= R&eplace... -SearchDialog.customize= Customi&ze... -SearchDialog.noSearchExtension= No Search Extensions plugged into workbench or all search pages disabled. - -SearchPageSelectionDialog.title= Search Page Selection -SearchPageSelectionDialog.message= S&elect from the pages shown in the dialog: - -SearchManager.resourceChangedWarning= Changed Resources -SearchManager.resourceChanged= Some resources have changed. The positions of matches may have changed. -SearchManager.resourceDeleted= Some resources no longer exist. Corresponding matches have been removed from the search results. -SearchManager.updating= Updating... - -SearchResultView.title= Search -SearchResultView.titleWithDescription= Search ({0}) -SearchResultView.matches= matches -SearchResultView.removed_resource= <removed resource> -SearchResultView.removeAllResults.text= Remove &All Matches -SearchResultView.removeAllResults.tooltip= Remove All Matches -SearchResultView.removeAllSearches.text= &Clear History -SearchResultView.removeAllSearches.tooltip= Clear the search result history -SearchResultView.searchAgain.text= &Search Again -SearchResultView.searchAgain.tooltip= Search Again -SearchResultView.previousSearches.text= Previous Search Results -SearchResultView.previousSearches.tooltip= Previous Search Results -SearchResultView.removeEntry.text= &Remove Selected Match -SearchResultView.removeEntry.tooltip= Remove Selected Match -SearchResultView.removeEntries.text= &Remove Selected Matches -SearchResultView.removeEntries.tooltip= Remove Selected Matches -SearchResultView.removeMatch.text= Remove Current &Match -SearchResultView.removeMatch.tooltip= Remove Current Match -SearchResultView.gotoMarker.text= &Go to File -SearchResultView.gotoMarker.tooltip= Go to File -SearchResultView.showNext.text= Next Match -SearchResultView.showNext.tooltip= Show Next Match -SearchResultView.showPrev.text= Previous Match -SearchResultView.showPrev.tooltip= Show Previous Match - -SearchDialogClosingDialog.title= Search Dialog Closing -SearchDialogClosingDialog.message= Dialog can not be closed due to an active operation. You must cancel the operation before you can close the dialog. - -SearchPlugin.internal_error= Internal Error - -Search.Error.search.title= Search Error -Search.Error.search.message= An error occurred during the search operation - -Search.Error.setDescription.title= Search Error -Search.Error.setDescription.message= Can not save workspace description - -Search.Error.openEditor.title= Search Error -Search.Error.openEditor.message= Could not open the editor - -Search.Error.openResultView.title= Search Error -Search.Error.openResultView.message= Could not open the search results view - -Search.Error.deleteMarkers.title= Search Error -Search.Error.deleteMarkers.message= An error occurred during deletion of search markers - -Search.Error.findMarkers.title= Search Error -Search.Error.findMarkers.message= An error occurred while gathering the search markers - -Search.Error.createMarker.title= Search Error -Search.Error.createMarker.message= Could not create the search marker - -Search.Error.markerAttributeAccess.title= Search Error -Search.Error.markerAttributeAccess.message= An error occurred while accessing a marker attribute - -Search.Error.switchSearch.title= Search Error -Search.Error.switchSearch.message= An error occurred while switching to a previous search result - -Search.Error.createSearchPage.title= Search Error -Search.Error.createSearchPage.message= An error occurred while creating a search page - -Search.Error.createSorter.title= Search Error -Search.Error.createSorter.message= An error occurred while creating a sorter - -Search.Error.incorrectIconLocation.message= Invalid icon location - -Search.Problems.title= Text Search Problems - -SearchResultCollector.match= 1 match -SearchResultCollector.matches= {0} matches -SearchResultCollector.done= Search done: {0}. - -SearchPage.containingText.text= C&ontaining text: -SearchPage.containingText.hint= (* = any string, ? = any character, \\ = escape for literals: * ? \\) -SearchPage.browse= &Browse... -SearchPage.fileNamePatterns.text= File name &patterns: -SearchPage.fileNamePatterns.hint= The patterns are separated by comma (* = any string, ? = any character) -SearchPage.caseSensitive= Case sens&itive -SearchPage.regularExpression= &Regular expression -SearchPage.regularExpressionSyntaxProblem.title= Search: Invalid Regular Expression - -TextSearchEngine.scanning= Scanning file {0} of {1}... -TextSearchEngine.statusMessage= Problems encountered during text search. - -TextSearchVisitor.scanning= Scanning file {0} of {1}... -TextSearchVisitor.error= Error reading file during search: {0} -TextSearchVisitor.canceled= Operation Canceled - -SortDropDownAction.label= S&ort By -SortDropDownAction.tooltip= Sort By - -ShowOtherSearchesAction.label= &Other... -ShowOtherSearchesAction.tooltip= Open Other Searches Dialog - -OtherSearchesDialog.title= Other Searches -OtherSearchesDialog.message= &Select one of the searches - -PreviousSearchesDialog.title= Previous Searches -PreviousSearchesDialog.message= &Select one of the searches - -# The first argument will be replaced by the pattern, the second by the scope -TextSearchOperation.singularLabelPostfix= "{0}" - 1 Occurrence in {1} - -# The argument will be replaced by the scope -FileSearchOperation.singularLabelPostfix= 1 File in {0} - -# The first argument will be replaced by the pattern, the second by the count and the last by the scope -TextSearchOperation.pluralLabelPatternPostfix= "{0}" - {1} Occurrences in {2} - -# The first argument will be replaced by the count and the second by the scope -FileSearchOperation.pluralLabelPatternPostfix= {0} Files in {1} - -OpenSearchDialogAction.label= Search -OpenSearchDialogAction.tooltip= Search - -FileTypeEditor.typeDelimiter= , - -FileLabelProvider.dashSeparated= {0} - {1} - -TypesFiltering.title= Select Types -TypesFiltering.message= S&elect the types to scan. -TypesFiltering.otherExtensions= &Other Patterns: -TypesFiltering.selectAll= &Select All -TypesFiltering.deselectAll= &Deselect All - -WorkspaceScope= Workspace -WorkingSetScope= Working Set - {0} -SelectionScope= Selection -EnclosingProjectsScope= Projects {0}, ... -EnclosingProjectScope= Project {0} - -ScopePart.group.text= Scope -ScopePart.selectedResourcesScope.text= Selecte&d Resources -ScopePart.enclosingProjectsScope.text= Enclosing Pro&jects -ScopePart.workingSetChooseButton.text= C&hoose... -ScopePart.workingSetScope.text= Wor&king Set: -ScopePart.workspaceScope.text= &Workspace - -# Concatenate two working set names e.g. "Source, Lib" -ScopePart.workingSetConcatenation= {0}, {1} - -CopyToClipboardAction.label= Copy to Clip&board -CopyToClipboardAction.tooltip= Copy to Clipboard -CopyToClipboardAction.error.title= Problem Copying to Clipboard -CopyToClipboardAction.error.message= There was a problem when accessing the system clipboard. Retry? - -ExceptionDialog.seeErrorLogMessage= See error log for more details - -SearchPreferencePage.emphasizePotentialMatches= &Emphasize inexact matches -SearchPreferencePage.potentialMatchFgColor= &Foreground color for inexact matches: -SearchPreferencePage.reuseEditor= &Reuse editors to show matches -SearchPreferencePage.bringToFront= &Bring Search view to front after search -SearchPreferencePage.defaultPerspective= Default &perspective for the Search view: -SearchPreferencePage.defaultPerspective.none= None -SearchPreferencePage.ignorePotentialMatches= &Ignore inexact matches - -ReplaceAction.label_all= Re&place... -ReplaceAction.label_selected= Rep&lace Selected... -ReplaceAction.error.only_on_text_search= Replace is only available on text search. -ReplaceAction.dialog.title= Replace - -ReplaceDialog.replace_label= Replace: -ReplaceDialog.with_label= &With: -ReplaceDialog.replace= &Replace -ReplaceDialog.replaceAllInFile= Replace All in &File -ReplaceDialog.replaceAll= Replace &All -ReplaceDialog.skip= &Skip -ReplaceDialog.skipFile= S&kip File -ReplaceDialog.dialog.title= Replace -ReplaceDialog.error.unable_to_open_text_editor= It is not possible to open the built-in text editor for file ''{0}''. -ReplaceDialog.error.unable_to_replace= An error occurred while replacing in file ''{0}''. -ReplaceDialog.progress.message= File: {0} ({1} of {2}) - -SelectAllAction.label= Select A&ll -SelectAllAction.tooltip= Select All - -RemovePotentialMatchesAction.removePotentialMatch.text= Remove Inexact Match -RemovePotentialMatchesAction.removePotentialMatch.tooltip= Remove inexact match -RemovePotentialMatchesAction.removePotentialMatches.text= Remove Inexact Matches -RemovePotentialMatchesAction.removePotentialMatches.tooltip= Remove all inexact matches -RemovePotentialMatchesAction.dialog.title= Remove Inexact Matches -RemovePotentialMatchesAction.dialog.message= The current search result does not contain inexact matches. - -OpenWithMenu.label= Open Wit&h - -ReadOnlyDialog.skipFile= Skip File -ReadOnlyDialog.skipAll= Skip All -ReadOnlyDialog.message= The file {0} is read-only -ReplaceDialog.task.replace= Replacing Match -ReplaceDialog.task.replaceInFile= Replacing Matches in File {0} -ReplaceDialog.task.replace.replaceAll= Replacing Matches -ReplaceAction.label= Replace -ReplaceAction.research.error= An error occurred while updating the matches -SearchAgainConfirmationDialog.outofsync.message= Some resources are out of sync with the file system or may contain stale matches. Do you want to refresh those files and search again? -SearchAgainConfirmationDialog.outofsync.label= Files out of sync: -SearchAgainConfirmationDialog.stale.message= Some resources may contain stale matches. Do you want to search again? -SearchAgainConfirmationDialog.stale.label= Files with stale matches: -SearchAgainConfirmationDialog.title= Replace -ReplaceDialog.isRegex.label= Regular Expression diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPageDescriptor.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPageDescriptor.java deleted file mode 100644 index 8361043b745..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPageDescriptor.java +++ /dev/null @@ -1,342 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import java.net.URL; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; -import java.util.StringTokenizer; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IConfigurationElement; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Point; - -import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.StringConverter; - -import org.eclipse.search.ui.ISearchPage; -import org.eclipse.search.ui.ISearchPageScoreComputer; -import org.eclipse.search.ui.ISearchResultViewEntry; - -import org.eclipse.search.internal.ui.util.ExceptionHandler; - -/** - * Proxy that represents a search page. - */ -class SearchPageDescriptor implements Comparable { - - public final static String PAGE_TAG= "page"; //$NON-NLS-1$ - private final static String ID_ATTRIBUTE= "id"; //$NON-NLS-1$ - private final static String ICON_ATTRIBUTE= "icon"; //$NON-NLS-1$ - private final static String CLASS_ATTRIBUTE= "class"; //$NON-NLS-1$ - private final static String LABEL_ATTRIBUTE= "label"; //$NON-NLS-1$ - private final static String SIZE_ATTRIBUTE= "sizeHint"; //$NON-NLS-1$ - private final static String TAB_POSITION_ATTRIBUTE= "tabPosition"; //$NON-NLS-1$ - private final static String EXTENSIONS_ATTRIBUTE= "extensions"; //$NON-NLS-1$ - private final static String SHOW_SCOPE_SECTION_ATTRIBUTE= "showScopeSection"; //$NON-NLS-1$ - private final static String CAN_SEARCH_ENCLOSING_PROJECTS= "canSearchEnclosingProjects"; //$NON-NLS-1$ - private final static String ENABLED_ATTRIBUTE= "enabled"; //$NON-NLS-1$ - private final static String SEARCH_VIEW_HELP_CONTEXT_ID_ATTRIBUTE= "searchViewHelpContextId"; //$NON-NLS-1$ - - public final static Point UNKNOWN_SIZE= new Point(SWT.DEFAULT, SWT.DEFAULT); - - // dialog store id constants - private final static String SECTION_ID= "Search"; //$NON-NLS-1$ - private final static String STORE_ENABLED_PAGE_IDS= SECTION_ID + ".enabledPageIds"; //$NON-NLS-1$ - private final static String STORE_PROCESSED_PAGE_IDS= SECTION_ID + ".processedPageIds"; //$NON-NLS-1$ - - private static List fgEnabledPageIds; - - private static class ExtensionScorePair { - public String extension; - public int score; - public ExtensionScorePair(String extension, int score) { - this.extension= extension; - this.score= score; - } - } - - private IConfigurationElement fElement; - private List fExtensionScorePairs; - private int fWildcardScore= ISearchPageScoreComputer.UNKNOWN; - - /** - * Creates a new search page node with the given configuration element. - */ - public SearchPageDescriptor(IConfigurationElement element) { - fElement= element; - } - - /** - * Creates a new search page from this node. - */ - public ISearchPage createObject() { - ISearchPage result= null; - try { - result= (ISearchPage)fElement.createExecutableExtension(CLASS_ATTRIBUTE); - } catch (CoreException ex) { - ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.createSearchPage.title"), SearchMessages.getString("Search.Error.createSearchPage.message")); //$NON-NLS-2$ //$NON-NLS-1$ - } catch (ClassCastException ex) { - ExceptionHandler.displayMessageDialog(ex, SearchMessages.getString("Search.Error.createSearchPage.title"), SearchMessages.getString("Search.Error.createSearchPage.message")); //$NON-NLS-2$ //$NON-NLS-1$ - return null; - } - if (result != null) { - result.setTitle(getLabel()); - } - return result; - } - - //---- XML Attribute accessors --------------------------------------------- - - /** - * Returns the page's id. - */ - public String getId() { - return fElement.getAttribute(ID_ATTRIBUTE); - } - - /** - * Returns the page's image - */ - public ImageDescriptor getImage() { - String imageName= fElement.getAttribute(ICON_ATTRIBUTE); - if (imageName == null) - return null; - URL url; - try { - url= new URL(fElement.getDeclaringExtension().getDeclaringPluginDescriptor().getInstallURL(), imageName); - } catch (java.net.MalformedURLException ex) { - ExceptionHandler.log(ex, SearchMessages.getString("Search.Error.createSearchPage.message")); //$NON-NLS-1$ - return null; - } - return ImageDescriptor.createFromURL(url); - } - - /** - * Returns the page's label. - */ - public String getLabel() { - return fElement.getAttribute(LABEL_ATTRIBUTE); - } - - /** - * Returns <code>true</code> if the scope section needs - * to be shown in the dialog. - */ - public boolean showScopeSection() { - return Boolean.valueOf(fElement.getAttribute(SHOW_SCOPE_SECTION_ATTRIBUTE)).booleanValue(); - } - - /** - * Returns <code>true</code> if the page is initially - * shown in the Search dialog. - * - * This attribute is optional and defaults to <code>true</code>. - */ - public boolean isInitiallyEnabled() { - String strVal= fElement.getAttribute(ENABLED_ATTRIBUTE); - return strVal == null || Boolean.valueOf(strVal).booleanValue(); - } - - /** - * Returns <code>true</code> if the page can handle - * searches in enclosing projects. The value should be ignored if <code>showScopeSection()</code> - * returns <code>false</code>. - * - * This attribute is optional and defaults to <code>false</code>. - */ - public boolean canSearchInProjects() { - return Boolean.valueOf(fElement.getAttribute(CAN_SEARCH_ENCLOSING_PROJECTS)).booleanValue(); - } - - /** - * Returns the page's preferred size - */ - public Point getPreferredSize() { - return StringConverter.asPoint( - fElement.getAttribute(SIZE_ATTRIBUTE), UNKNOWN_SIZE); - } - - /** - * Returns the page's tab position relative to the other tabs. - * @return the tab position or <code>Integer.MAX_VALUE</code> if not defined in - * the plugins.xml file - */ - public int getTabPosition() { - int position= Integer.MAX_VALUE / 2; - String str= fElement.getAttribute(TAB_POSITION_ATTRIBUTE); - if (str != null) - try { - position= Integer.parseInt(str); - } catch (NumberFormatException ex) { - ExceptionHandler.log(ex, SearchMessages.getString("Search.Error.createSearchPage.message")); //$NON-NLS-1$ - // position is Integer.MAX_VALUE; - } - return position; - } - - boolean isEnabled() { - return getEnabledPageIds().contains(getId()); - } - - /** - * Returns the help context for help shown in search view. - * - * @return the help context id or <code>null</code> if not defined - */ - public String getSearchViewHelpContextId() { - return fElement.getAttribute(SEARCH_VIEW_HELP_CONTEXT_ID_ATTRIBUTE); - } - - static void setEnabled(Object[] enabledDescriptors) { - fgEnabledPageIds= new ArrayList(5); - for (int i= 0; i < enabledDescriptors.length; i++) { - if (enabledDescriptors[i] instanceof SearchPageDescriptor) - fgEnabledPageIds.add(((SearchPageDescriptor)enabledDescriptors[i]).getId()); - } - storeEnabledPageIds(); - } - - private static List getEnabledPageIds() { - if (fgEnabledPageIds == null) { - List descriptors= SearchPlugin.getDefault().getSearchPageDescriptors(); - - String[] enabledPageIds= getDialogSettings().getArray(STORE_ENABLED_PAGE_IDS); - if (enabledPageIds == null) - fgEnabledPageIds= new ArrayList(descriptors.size()); - else - fgEnabledPageIds= new ArrayList(Arrays.asList(enabledPageIds)); - - - List processedPageIds; - String[] processedPageIdsArr= getDialogSettings().getArray(STORE_PROCESSED_PAGE_IDS); - if (processedPageIdsArr == null) - processedPageIds= new ArrayList(descriptors.size()); - else - processedPageIds= new ArrayList(Arrays.asList(processedPageIdsArr)); - - // Enable pages based on contribution - Iterator iter= descriptors.iterator(); - while (iter.hasNext()) { - SearchPageDescriptor desc= (SearchPageDescriptor)iter.next(); - if (processedPageIds.contains(desc.getId())) - continue; - - processedPageIds.add(desc.getId()); - if (desc.isInitiallyEnabled()) - fgEnabledPageIds.add(desc.getId()); - } - - getDialogSettings().put(STORE_PROCESSED_PAGE_IDS, (String[])processedPageIds.toArray(new String[processedPageIds.size()])); - storeEnabledPageIds(); - } - return fgEnabledPageIds; - } - - private static void storeEnabledPageIds() { - getDialogSettings().put(STORE_ENABLED_PAGE_IDS, (String[])fgEnabledPageIds.toArray(new String[fgEnabledPageIds.size()])); - SearchPlugin.getDefault().savePluginPreferences(); - } - - private static IDialogSettings getDialogSettings() { - IDialogSettings settings= SearchPlugin.getDefault().getDialogSettings(); - IDialogSettings section= settings.getSection(SECTION_ID); - if (section == null) - // create new section - section= settings.addNewSection(SECTION_ID); - return section; - } - - /* - * Implements a method from IComparable - */ - public int compareTo(Object o) { - int myPos= getTabPosition(); - int objsPos= ((SearchPageDescriptor)o).getTabPosition(); - if (myPos == Integer.MAX_VALUE && objsPos == Integer.MAX_VALUE || myPos == objsPos) - return getLabel().compareTo(((SearchPageDescriptor)o).getLabel()); - else - return myPos - objsPos; - } - - //---- Suitability tests --------------------------------------------------- - - /** - * Returns the score for this page with the given input element. - */ - public int computeScore(Object element) { - if (element instanceof IAdaptable) { - IResource resource= (IResource)((IAdaptable)element).getAdapter(IResource.class); - if (resource != null && resource.getType() == IResource.FILE) { - String extension= ((IFile)resource).getFileExtension(); - if (extension != null) - return getScoreForFileExtension(extension); - } else { - ISearchPageScoreComputer tester= - (ISearchPageScoreComputer)((IAdaptable)element).getAdapter(ISearchPageScoreComputer.class); - if (tester != null) - return tester.computeScore(getId(), element); - } - } else if (element instanceof ISearchResultViewEntry) { - ISearchResultViewEntry entry= (ISearchResultViewEntry)element; - return computeScore(entry.getSelectedMarker()); - } - if (fWildcardScore != ISearchPageScoreComputer.UNKNOWN) - return fWildcardScore; - - return ISearchPageScoreComputer.LOWEST; - } - - private int getScoreForFileExtension(String extension) { - if (fExtensionScorePairs == null) - readExtensionScorePairs(); - - int size= fExtensionScorePairs.size(); - for (int i= 0; i < size; i++) { - ExtensionScorePair p= (ExtensionScorePair)fExtensionScorePairs.get(i); - if (extension.equals(p.extension)) - return p.score; - } - if (fWildcardScore != ISearchPageScoreComputer.UNKNOWN) - return fWildcardScore; - - return ISearchPageScoreComputer.LOWEST; - } - - private void readExtensionScorePairs() { - fExtensionScorePairs= new ArrayList(3); - String content= fElement.getAttribute(EXTENSIONS_ATTRIBUTE); - if (content == null) - return; - StringTokenizer tokenizer= new StringTokenizer(content, ","); //$NON-NLS-1$ - while (tokenizer.hasMoreElements()) { - String token= tokenizer.nextToken().trim(); - int pos= token.indexOf(':'); - if (pos != -1) { - String extension= token.substring(0, pos); - int score= StringConverter.asInt(token.substring(pos+1), ISearchPageScoreComputer.UNKNOWN); - if (extension.equals("*")) { //$NON-NLS-1$ - fWildcardScore= score; - } else { - fExtensionScorePairs.add(new ExtensionScorePair(extension, score)); - } - } - } - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPlugin.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPlugin.java deleted file mode 100644 index eb98f2a4b74..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPlugin.java +++ /dev/null @@ -1,376 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.IWorkspaceDescription; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdapterManager; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IPluginDescriptor; -import org.eclipse.core.runtime.IPluginRegistry; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; - -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Shell; - -import org.eclipse.jface.action.GroupMarker; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.Separator; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.util.Assert; - -import org.eclipse.ui.IViewPart; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.WorkbenchException; -import org.eclipse.ui.plugin.AbstractUIPlugin; - -import org.eclipse.search.ui.IContextMenuConstants; -import org.eclipse.search.ui.ISearchResultView; -import org.eclipse.search.ui.ISearchResultViewEntry; -import org.eclipse.search.ui.SearchUI; - -import org.eclipse.search.internal.ui.util.ExceptionHandler; - -/** - * The plug-in runtime class for Search plug-in - */ -public class SearchPlugin extends AbstractUIPlugin { - - public static final String SEARCH_PAGE_EXTENSION_POINT= "searchPages"; //$NON-NLS-1$ - public static final String SORTER_EXTENSION_POINT= "searchResultSorters"; //$NON-NLS-1$ - - /** Status code describing an internal error */ - public static final int INTERNAL_ERROR= 1; - - private static SearchPlugin fgSearchPlugin; - - private List fPageDescriptors; - private List fSorterDescriptors; - - private SearchResultViewEntryAdapterFactory fSearchResultViewEntryAdapterFactory; - - public SearchPlugin(IPluginDescriptor descriptor) { - super(descriptor); - Assert.isTrue(fgSearchPlugin == null); - fgSearchPlugin= this; - } - - /** - * Returns the search plugin instance. - */ - public static SearchPlugin getDefault() { - return fgSearchPlugin; - } - - /* - * Overrides AbstractUIPlugin#initializeDefaultPreferences - */ - protected void initializeDefaultPreferences(IPreferenceStore store) { - SearchPreferencePage.initDefaults(store); - } - - /** - * Returns the active workbench window. - * <code>null</code> if the active window is not a workbench window - */ - public static IWorkbenchWindow getActiveWorkbenchWindow() { - IWorkbenchWindow window= fgSearchPlugin.getWorkbench().getActiveWorkbenchWindow(); - if (window == null) { - final WindowRef windowRef= new WindowRef(); - Display.getDefault().syncExec(new Runnable() { - public void run() { - setActiveWorkbenchWindow(windowRef); - } - }); - return windowRef.window; - } - else - return window; - } - - private static class WindowRef { - public IWorkbenchWindow window; - } - - private static void setActiveWorkbenchWindow(WindowRef windowRef) { - windowRef.window= null; - Display display= Display.getCurrent(); - if (display == null) - return; - Control shell= display.getActiveShell(); - while (shell != null) { - Object data= shell.getData(); - if (data instanceof IWorkbenchWindow) { - windowRef.window= (IWorkbenchWindow)data; - return; - } - shell= shell.getParent(); - } - Shell shells[]= display.getShells(); - for (int i= 0; i < shells.length; i++) { - Object data= shells[i].getData(); - if (data instanceof IWorkbenchWindow) { - windowRef.window= (IWorkbenchWindow)data; - return; - } - } - } - - /** - * Returns the shell of the active workbench window. - */ - public static Shell getActiveWorkbenchShell() { - IWorkbenchWindow window= getActiveWorkbenchWindow(); - if (window != null) - return window.getShell(); - return null; - } - - /** - * Beeps using the display of the active workbench window. - */ - public static void beep() { - getActiveWorkbenchShell().getDisplay().beep(); - } - - /** - * Returns the active workbench window's currrent page. - */ - public static IWorkbenchPage getActivePage() { - return getActiveWorkbenchWindow().getActivePage(); - } - - /** - * Returns the workbench from which this plugin has been loaded. - */ - public static IWorkspace getWorkspace() { - return ResourcesPlugin.getWorkspace(); - } - - /** - * Activates the search result view in the active page. - * This call has no effect, if the search result view is - * already activated. - * - * @return <code>true</code> if the search result view could be activated - */ - public static boolean activateSearchResultView() { - - String defaultPerspectiveId= SearchUI.getDefaultPerspectiveId(); - if (defaultPerspectiveId != null) { - IWorkbenchWindow window= window= getActiveWorkbenchWindow(); - if (window != null && window.getShell() != null && !window.getShell().isDisposed()) { - try { - PlatformUI.getWorkbench().showPerspective(defaultPerspectiveId, window); - } catch (WorkbenchException ex) { - // show view in current perspective - } - } - } - - try { - IViewPart viewPart= getActivePage().findView(SearchUI.SEARCH_RESULT_VIEW_ID); - if (viewPart == null || SearchPreferencePage.isViewBroughtToFront()) { - return (getActivePage().showView(SearchUI.SEARCH_RESULT_VIEW_ID) != null); - } - return true; - } catch (PartInitException ex) { - ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.openResultView.title"), SearchMessages.getString("Search.Error.openResultView.message")); //$NON-NLS-2$ //$NON-NLS-1$ - return false; - } - } - - /** - * Returns the search result view of the active workbench window. Returns <code> - * null</code> if the active workbench window doesn't have any search result - * view. - */ - public static ISearchResultView getSearchResultView() { - IViewPart part= getActivePage().findView(SearchUI.SEARCH_RESULT_VIEW_ID); - if (part instanceof ISearchResultView) - return (ISearchResultView) part; - return null; - } - - static void setAutoBuilding(boolean state) { - IWorkspaceDescription workspaceDesc= getWorkspace().getDescription(); - workspaceDesc.setAutoBuilding(state); - try { - getWorkspace().setDescription(workspaceDesc); - } - catch (CoreException ex) { - ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.setDescription.title"), SearchMessages.getString("Search.Error.setDescription.message")); //$NON-NLS-2$ //$NON-NLS-1$ - } - } - - - public void startup() throws CoreException { - super.startup(); - registerAdapters(); - } - - /** - * Shuts down this plug-in. - */ - public void shutdown() throws CoreException { - unregisterAdapters(); - getWorkspace().removeResourceChangeListener(SearchManager.getDefault()); - super.shutdown(); - fgSearchPlugin = null; - } - - /** - * Returns all search pages contributed to the workbench. - */ - public List getSearchPageDescriptors() { - if (fPageDescriptors == null) { - IPluginRegistry registry= Platform.getPluginRegistry(); - IConfigurationElement[] elements= registry.getConfigurationElementsFor(SearchUI.PLUGIN_ID, SEARCH_PAGE_EXTENSION_POINT); - fPageDescriptors= createSearchPageDescriptors(elements); - } - return fPageDescriptors; - } - - /** - * Returns all search pages contributed to the workbench. - */ - public List getEnabledSearchPageDescriptors(String pageId) { - Iterator iter= getSearchPageDescriptors().iterator(); - List enabledDescriptors= new ArrayList(5); - while (iter.hasNext()) { - SearchPageDescriptor desc= (SearchPageDescriptor)iter.next(); - if (desc.isEnabled() || desc.getId().equals(pageId)) - enabledDescriptors.add(desc); - } - return enabledDescriptors; - } - - /** - * Returns the help context ID for the Search view - * as provided by the current search page extension. - * - * @since 3.0 - */ - public String getSearchViewHelpContextId() { - Search currentSearch= SearchManager.getDefault().getCurrentSearch(); - if (currentSearch != null) { - String pageId= currentSearch.getPageId(); - Iterator iter= getSearchPageDescriptors().iterator(); - while (iter.hasNext()) { - SearchPageDescriptor desc= (SearchPageDescriptor)iter.next(); - if (desc.getId().equals(pageId)) { - String helpId= desc.getSearchViewHelpContextId(); - if (helpId == null) - return ISearchHelpContextIds.SEARCH_VIEW; - else - return desc.getSearchViewHelpContextId(); - } - } - } - return ISearchHelpContextIds.SEARCH_VIEW; - } - - /** - * Creates all necessary search page nodes. - */ - private List createSearchPageDescriptors(IConfigurationElement[] elements) { - List result= new ArrayList(5); - for (int i= 0; i < elements.length; i++) { - IConfigurationElement element= elements[i]; - if (SearchPageDescriptor.PAGE_TAG.equals(element.getName())) { - SearchPageDescriptor desc= new SearchPageDescriptor(element); - result.add(desc); - } - } - Collections.sort(result); - return result; - } - - /** - * Returns all sorters contributed to the workbench. - */ - public List getSorterDescriptors() { - if (fSorterDescriptors == null) { - IPluginRegistry registry= Platform.getPluginRegistry(); - IConfigurationElement[] elements= registry.getConfigurationElementsFor(SearchUI.PLUGIN_ID, SORTER_EXTENSION_POINT); - fSorterDescriptors= createSorterDescriptors(elements); - } - return fSorterDescriptors; - } - - /** - * Creates all necessary sorter description nodes. - */ - private List createSorterDescriptors(IConfigurationElement[] elements) { - List result= new ArrayList(5); - for (int i= 0; i < elements.length; i++) { - IConfigurationElement element= elements[i]; - if (SorterDescriptor.SORTER_TAG.equals(element.getName())) - result.add(new SorterDescriptor(element)); - } - return result; - } - - /** - * Log status to platform log - */ - public static void log(IStatus status) { - getDefault().getLog().log(status); - } - - public static void log(Throwable e) { - log(new Status(IStatus.ERROR, SearchUI.PLUGIN_ID, INTERNAL_ERROR, SearchMessages.getString("SearchPlugin.internal_error"), e)); //$NON-NLS-1$ - } - - /** - * Creates the Search plugin standard groups in a context menu. - */ - public static void createStandardGroups(IMenuManager menu) { - if (!menu.isEmpty()) - return; - menu.add(new Separator(IContextMenuConstants.GROUP_NEW)); - menu.add(new GroupMarker(IContextMenuConstants.GROUP_GOTO)); - menu.add(new GroupMarker(IContextMenuConstants.GROUP_OPEN)); - menu.add(new Separator(IContextMenuConstants.GROUP_SHOW)); - menu.add(new Separator(IContextMenuConstants.GROUP_BUILD)); - menu.add(new Separator(IContextMenuConstants.GROUP_REORGANIZE)); - menu.add(new Separator(IContextMenuConstants.GROUP_REMOVE_MATCHES)); - menu.add(new GroupMarker(IContextMenuConstants.GROUP_GENERATE)); - menu.add(new Separator(IContextMenuConstants.GROUP_SEARCH)); - menu.add(new Separator(IContextMenuConstants.GROUP_ADDITIONS)); - menu.add(new Separator(IContextMenuConstants.GROUP_VIEWER_SETUP)); - menu.add(new Separator(IContextMenuConstants.GROUP_PROPERTIES)); - } - - private void registerAdapters() { - IAdapterManager manager= Platform.getAdapterManager(); - fSearchResultViewEntryAdapterFactory= new SearchResultViewEntryAdapterFactory(); - manager.registerAdapters(fSearchResultViewEntryAdapterFactory, ISearchResultViewEntry.class); - } - - private void unregisterAdapters() { - IAdapterManager manager= Platform.getAdapterManager(); - manager.unregisterAdapters(fSearchResultViewEntryAdapterFactory); - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPluginImages.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPluginImages.java deleted file mode 100644 index 54331cc6b45..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPluginImages.java +++ /dev/null @@ -1,111 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import java.net.MalformedURLException; -import java.net.URL; - -import org.eclipse.swt.graphics.Image; - -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; - -import org.eclipse.search.internal.ui.util.ExceptionHandler; - -/** - * Bundle of all images used by the Search UI plugin. - */ -public class SearchPluginImages { - - private static URL fgIconLocation; - - static { - String pathSuffix= "icons/full/"; //$NON-NLS-1$ - try { - fgIconLocation= new URL(SearchPlugin.getDefault().getDescriptor().getInstallURL(), pathSuffix); - } catch (MalformedURLException ex) { - ExceptionHandler.log(ex, SearchMessages.getString("Search.Error.incorrectIconLocation.message")); //$NON-NLS-1$ - } - } - - // The plugin registry - private final static ImageRegistry PLUGIN_REGISTRY= SearchPlugin.getDefault().getImageRegistry(); - - public static final String T_OBJ= "obj16/"; //$NON-NLS-1$ - public static final String T_WIZBAN= "wizban/"; //$NON-NLS-1$ - public static final String T_LCL= "lcl16/"; //$NON-NLS-1$ - public static final String T_TOOL= "tool16/"; //$NON-NLS-1$ - public static final String T_VIEW= "view16/"; //$NON-NLS-1$ - - private static final String NAME_PREFIX= "org.eclipse.search.ui."; //$NON-NLS-1$ - private static final int NAME_PREFIX_LENGTH= NAME_PREFIX.length(); - - // Define image names - public static final String IMG_TOOL_SEARCH= NAME_PREFIX + "search.gif"; //$NON-NLS-1$ - - public static final String IMG_LCL_SEARCH_STOP= NAME_PREFIX + "search_stop.gif"; //$NON-NLS-1$ - public static final String IMG_LCL_SEARCH_REM= NAME_PREFIX + "search_rem.gif"; //$NON-NLS-1$ - public static final String IMG_LCL_SEARCH_REM_ALL= NAME_PREFIX + "search_remall.gif"; //$NON-NLS-1$ - public static final String IMG_LCL_SEARCH_NEXT= NAME_PREFIX + "search_next.gif"; //$NON-NLS-1$ - public static final String IMG_LCL_SEARCH_PREV= NAME_PREFIX + "search_prev.gif"; //$NON-NLS-1$ - public static final String IMG_LCL_SEARCH_GOTO= NAME_PREFIX + "search_goto.gif"; //$NON-NLS-1$ - public static final String IMG_LCL_SEARCH_SORT= NAME_PREFIX + "search_sortmatch.gif"; //$NON-NLS-1$ - public static final String IMG_LCL_SEARCH_HISTORY= NAME_PREFIX + "search_history.gif"; //$NON-NLS-1$ - - public static final String IMG_VIEW_SEARCHRES= NAME_PREFIX + "searchres.gif"; //$NON-NLS-1$ - - public static final String IMG_OBJ_TSEARCH= NAME_PREFIX + "tsearch_obj.gif"; //$NON-NLS-1$ - public static final String IMG_OBJ_TSEARCH_DPDN= NAME_PREFIX + "tsearch_dpdn_obj.gif"; //$NON-NLS-1$ - public static final String IMG_OBJ_SEARCHMARKER= NAME_PREFIX + "searchm_obj.gif"; //$NON-NLS-1$ - - - - // Define images - public static final ImageDescriptor DESC_OBJ_TSEARCH= createManaged(T_OBJ, IMG_OBJ_TSEARCH); - public static final ImageDescriptor DESC_OBJ_TSEARCH_DPDN= createManaged(T_OBJ, IMG_OBJ_TSEARCH_DPDN); - public static final ImageDescriptor DESC_OBJ_SEARCHMARKER= createManaged(T_OBJ, IMG_OBJ_SEARCHMARKER); - - public static Image get(String key) { - return PLUGIN_REGISTRY.get(key); - } - - private static ImageDescriptor createManaged(String prefix, String name) { - ImageDescriptor result= ImageDescriptor.createFromURL(makeIconFileURL(prefix, name.substring(NAME_PREFIX_LENGTH))); - PLUGIN_REGISTRY.put(name, result); - return result; - } - - private static ImageDescriptor create(String prefix, String name) { - return ImageDescriptor.createFromURL(makeIconFileURL(prefix, name)); - } - - private static URL makeIconFileURL(String prefix, String name) { - StringBuffer buffer= new StringBuffer(prefix); - buffer.append(name); - try { - return new URL(fgIconLocation, buffer.toString()); - } catch (MalformedURLException ex) { - ExceptionHandler.log(ex, SearchMessages.getString("Search.Error.incorrectIconLocation.message")); //$NON-NLS-1$ - return null; - } - } - - /** - * Sets all available image descriptors for the given action. - */ - public static void setImageDescriptors(IAction action, String type, String relPath) { - relPath= relPath.substring(NAME_PREFIX_LENGTH); - action.setDisabledImageDescriptor(create("d" + type, relPath)); //$NON-NLS-1$ - action.setHoverImageDescriptor(create("c" + type, relPath)); //$NON-NLS-1$ - action.setImageDescriptor(create("e" + type, relPath)); //$NON-NLS-1$ - } -} diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPreferencePage.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPreferencePage.java deleted file mode 100644 index f07ae469bbd..00000000000 --- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPreferencePage.java +++ /dev/null @@ -1,224 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.search.internal.ui; - -import java.text.Collator; -import java.util.Arrays; -import java.util.Comparator; - -import org.eclipse.swt.graphics.RGB; -import org.eclipse.swt.widgets.Composite; - -import org.eclipse.jface.preference.BooleanFieldEditor; -import org.eclipse.jface.preference.ColorFieldEditor; -import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.preference.PreferenceConverter; -import org.eclipse.jface.util.PropertyChangeEvent; - -import org.eclipse.ui.IPerspectiveDescriptor; -import org.eclipse.ui.IPerspectiveRegistry; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.help.WorkbenchHelp; - -import org.eclipse.search.internal.ui.util.ComboFieldEditor; - -/* - * The page for setting the Search preferences. - */ -public class SearchPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { - - public static final String IGNORE_POTENTIAL_MATCHES= "org.eclipse.search.potentialMatch.ignore"; //$NON-NLS-1$ - public static final String EMPHASIZE_POTENTIAL_MATCHES= "org.eclipse.search.potentialMatch.emphasize"; //$NON-NLS-1$ - public static final String POTENTIAL_MATCH_FG_COLOR= "org.eclipse.search.potentialMatch.fgColor"; //$NON-NLS-1$ - public static final String REUSE_EDITOR= "org.eclipse.search.reuseEditor"; //$NON-NLS-1$ - public static final String DEFAULT_PERSPECTIVE= "org.eclipse.search.defaultPerspective"; //$NON-NLS-1$ - private static final String NO_DEFAULT_PERSPECTIVE= "org.eclipse.search.defaultPerspective.none"; //$NON-NLS-1$ - public static final String BRING_VIEW_TO_FRONT= "org.eclipse.search.bringToFront"; //$NON-NLS-1$ - - private ColorFieldEditor fColorEditor; - private BooleanFieldEditor fEmphasizedCheckbox; - private BooleanFieldEditor fIgnorePotentialMatchesCheckbox; - - - private static class PerspectiveDescriptorComparator implements Comparator { - /* - * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) - */ - public int compare(Object o1, Object o2) { - if (o1 instanceof IPerspectiveDescriptor && o2 instanceof IPerspectiveDescriptor) { - String id1= ((IPerspectiveDescriptor)o1).getLabel(); - String id2= ((IPerspectiveDescriptor)o2).getLabel(); - return Collator.getInstance().compare(id1, id2); - } - return 0; - } - } - - - - public SearchPreferencePage() { - super(GRID); - setPreferenceStore(SearchPlugin.getDefault().getPreferenceStore()); - } - - public static void initDefaults(IPreferenceStore store) { - RGB gray= new RGB(85, 85, 85); - store.setDefault(EMPHASIZE_POTENTIAL_MATCHES, true); - store.setDefault(IGNORE_POTENTIAL_MATCHES, false); - PreferenceConverter.setDefault(store, POTENTIAL_MATCH_FG_COLOR, gray); - store.setDefault(REUSE_EDITOR, false); - store.setDefault(BRING_VIEW_TO_FRONT, true); - store.setDefault(DEFAULT_PERSPECTIVE, NO_DEFAULT_PERSPECTIVE); - } - - public static boolean isEditorReused() { - IPreferenceStore store= SearchPlugin.getDefault().getPreferenceStore(); - return store.getBoolean(REUSE_EDITOR); - } - - public static boolean isViewBroughtToFront() { - IPreferenceStore store= SearchPlugin.getDefault().getPreferenceStore(); - return store.getBoolean(BRING_VIEW_TO_FRONT); - - } - - public static String getDefaultPerspectiveId() { - handleDeletedPerspectives(); - IPreferenceStore store= SearchPlugin.getDefault().getPreferenceStore(); - String id= store.getString(DEFAULT_PERSPECTIVE); - if (id == null || id.length() == 0 || id.equals(NO_DEFAULT_PERSPECTIVE)) - return null; - else if (PlatformUI.getWorkbench().getPerspectiveRegistry().findPerspectiveWithId(id) == null) { - store.putValue(DEFAULT_PERSPECTIVE, id); - return null; - } - return id; - } - - public static boolean arePotentialMatchesIgnored() { - IPreferenceStore store= SearchPlugin.getDefault().getPreferenceStore(); - return store.getBoolean(IGNORE_POTENTIAL_MATCHES); - } - - public static boolean arePotentialMatchesEmphasized() { - IPreferenceStore store= SearchPlugin.getDefault().getPreferenceStore(); - return store.getBoolean(EMPHASIZE_POTENTIAL_MATCHES); - } - - public static RGB getPotentialMatchForegroundColor() { - IPreferenceStore store= SearchPlugin.getDefault().getPreferenceStore(); - return PreferenceConverter.getColor(store, POTENTIAL_MATCH_FG_COLOR); - } - - public void createControl(Composite parent) { - super.createControl(parent); - WorkbenchHelp.setHelp(getControl(), ISearchHelpContextIds.SEARCH_PREFERENCE_PAGE); - } - - protected void createFieldEditors() { - BooleanFieldEditor boolEditor= new BooleanFieldEditor( - REUSE_EDITOR, - SearchMessages.getString("SearchPreferencePage.reuseEditor"), //$NON-NLS-1$ - getFieldEditorParent() - ); - addField(boolEditor); - - boolEditor= new BooleanFieldEditor( - BRING_VIEW_TO_FRONT, - SearchMessages.getString("SearchPreferencePage.bringToFront"), //$NON-NLS-1$ - getFieldEditorParent() - ); - addField(boolEditor); - - fIgnorePotentialMatchesCheckbox= new BooleanFieldEditor( - IGNORE_POTENTIAL_MATCHES, - SearchMessages.getString("SearchPreferencePage.ignorePotentialMatches"), //$NON-NLS-1$ - getFieldEditorParent()); - addField(fIgnorePotentialMatchesCheckbox); - - fEmphasizedCheckbox= new BooleanFieldEditor( - EMPHASIZE_POTENTIAL_MATCHES, - SearchMessages.getString("SearchPreferencePage.emphasizePotentialMatches"), //$NON-NLS-1$ - getFieldEditorParent()); - addField(fEmphasizedCheckbox); - - fColorEditor= new ColorFieldEditor( - POTENTIAL_MATCH_FG_COLOR, - SearchMessages.getString("SearchPreferencePage.potentialMatchFgColor"), //$NON-NLS-1$ - getFieldEditorParent() - ); - addField(fColorEditor); - - fEmphasizedCheckbox.setEnabled(!arePotentialMatchesIgnored(), getFieldEditorParent()); - fColorEditor.setEnabled(!arePotentialMatchesIgnored() && arePotentialMatchesEmphasized(), getFieldEditorParent()); - - handleDeletedPerspectives(); - String[][] perspectiveNamesAndIds = getPerspectiveNamesAndIds(); - ComboFieldEditor comboEditor= new ComboFieldEditor( - DE |