| <!-- |
| 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 - Text</title> |
| </head> |
| |
| <body> |
| <h1> |
| Eclipse Platform Build Notes<br> |
| Text</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=Text&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=">Platform-Text bugzilla query page</a>, select status, resolution and the time frame. |
| <br> |
| <br> |
| <br> |
| ========== Eclipse Build Input May 18th 2004 ==========<br> |
| <pre> |
| - removed last dependency on compatibility plug-in |
| - bug fixing |
| |
| The infrastructure for collapsing and expanding ranges of lines in editors (referred to as folding) |
| is now officially available. The effected plug-ins are org.eclipse.text and org.eclipse.jface.text. |
| |
| The org.eclipse.text plug-in contains the package org.eclipse.jface.text.projection. This package |
| defines the UI independent document infrastructure needed for folding. The center piece is the |
| ProjectionDocument. The content of a projection document is a projection of the content of a master |
| document. In other words fragments of the master document constitute the segments of the projection |
| document. The mapping is enacted by the ProjectionMapping implementing IDocumentInformationMapping. |
| After an instance of ProjectionDocument has been created it is initially empty. The content is defined |
| by calling addMasterDocumentRange(offsetInMasterDocument, lengthInMasterDocument) and |
| removeMasterDocumentRange(offsetInMasterDocument, lengthInMasterDocument). The projection document |
| and its master document are causally connected. Thus, any manipulation of the projection document also |
| causes master document changes. Any manipulation effecting ranges in the master document that have been |
| added to the projection document also cause projection document changes. |
| |
| The org.eclipse.jface.text plug-in contains the package org.eclipse.jface.text.source.projection. |
| This package defines the UI needed for folding based on the projection document infrastructure. The |
| center piece is the ProjectionViewer and the ProjectionSupport. A projection support can be installed on |
| projection viewer. It controls the existence of a vertical ruler column for collapsing/expanding ranges |
| of lines, the hover behavior, and the presentation of collapsed regions in the viewer. The projection viewer |
| defines a set of text operations for managing the expansion state of collapsable regions. Collapsable regions |
| can be defined by requesting the ProjectionSupport to provide an adapter for ProjectionAnnotationModel.class |
| for the viewer it is installed on. The ProjectionAnnotations managed by this projection annotation model |
| define the collapsable regions. |
| |
| ITextViewer defines the concept of a visible region. This concepts is incompatible with folding. Several |
| assumptions that were safe to make in the world of visible regions are no longer valid in the presence of folding. |
| For example, in order to determine the document line number of the fifth line in the viewer's widget it was |
| good enough to determine the start line of the viewer's visible region and to take the fifth line after that. |
| When folding is enabled, any number of lines can be between two visible lines. Thus, in order to convert between |
| widget and model coordinates, the methods provided by ITextViewerExtension5 should be used. |
| |
| Editor implementers (based on AbstractTextEditor) who want to support folding have to do the following: |
| - override createSourceViewer and return a ProjectionViewer |
| - override createPartControl resembling: |
| |
| public void createPartControl(Composite parent) { |
| super.createPartControl(parent); |
| |
| ProjectionViewer projectionViewer= (ProjectionViewer) getSourceViewer(); |
| |
| fProjectionSupport= new ProjectionSupport(projectionViewer, getAnnotationAccess(), getSharedColors()); |
| fProjectionSupport.addSummarizableAnnotationType("org.eclipse.ui.workbench.texteditor.error"); |
| fProjectionSupport.addSummarizableAnnotationType("org.eclipse.ui.workbench.texteditor.warning"); |
| fProjectionSupport.setHoverControlCreator(new IInformationControlCreator() { |
| public IInformationControl createInformationControl(Shell shell) { |
| return new CustomSourceInformationControl(shell, IDocument.DEFAULT_CONTENT_TYPE); |
| } |
| }); |
| fProjectionSupport.install(); |
| |
| ... |
| |
| if (isFoldingEnabled()) |
| projectionViewer.doOperation(ProjectionViewer.TOOGLE); |
| } |
| |
| - extend getAdapter with |
| |
| public Object getAdapter(Class required) { |
| ... |
| if (fProjectionSupport != null) { |
| Object adapter= fProjectionSupport.getAdapter(getSourceViewer(), required); |
| if (adapter != null) |
| return adapter; |
| } |
| |
| return super.getAdapter(required); |
| } |
| |
| - provide a way to allow the definition of collpsable regions such as: |
| |
| ITextEditor editor= getTextEditor(); |
| ISelection selection= editor.getSelectionProvider().getSelection(); |
| if (selection instanceof ITextSelection) { |
| ITextSelection textSelection= (ITextSelection) selection; |
| if (!textSelection.isEmpty()) { |
| IAnnotationModel model= (IAnnotationModel) editor.getAdapter(ProjectionAnnotationModel.class); |
| if (model != null) { |
| int start= textSelection.getStartLine(); |
| int end= textSelection.getEndLine(); |
| try { |
| IDocument document= editor.getDocumentProvider().getDocument(editor.getEditorInput()); |
| int offset= document.getLineOffset(start); |
| int endOffset= document.getLineOffset(end + 1); |
| Position position= new Position(offset, endOffset - offset); |
| model.addAnnotation(new ProjectionAnnotation(), position); |
| } catch (BadLocationException x) { |
| } |
| } |
| } |
| } |
| |
| </pre> |
| ========== Eclipse Build Input May 11th 2004 ==========<br> |
| <pre> |
| - reworked editor preference pages: |
| - Annotations and Quick Diff sub-pages are gone: they are now centralized under |
| Workbench > Editors |
| - added API which allows to configure a client's preference store to use the |
| centralized preference pages: |
| see: EditorsUI.useAnnotationsPreferencePage(IPreferenceStore) |
| see: EditorsUI.useQuickDiffPreferencePage(IPreferenceStore) |
| - added ChainedPreferenceStore which allows to chain preference stores |
| - the text editor's Appearance sub-page is now the only Text Editor's preference page |
| - removed all but one dependencies on compatibility plug-in |
| - externalized all strings |
| - bug fixing |
| </pre> |
| ========== Eclipse Build Input May 4th 2004 ==========<br> |
| <pre> |
| - ICompletionProposalExtension3: renamed methods: |
| - getCompletionText -> getPrefixCompletionText |
| - getCompletionOffset -> getPrefixCompletionOffset |
| |
| |
| Headless annotation model support for text file buffers: |
| |
| We added headless annotation model support to text file buffers. Each text |
| file buffer can now have its own annotation model. |
| ITextFileBuffer buffer= FileBuffers.getTextFileBufferManager().getTextFileBuffer(<location>); |
| IAnnotationModel model= buffer.getAnnotationModel(); |
| When the buffer's document is changed, all annotations in the buffer's annotation |
| model are accordingly updated. |
| |
| As annotations (org.eclipse.jface.text.source.Annotation) had dependencies on |
| SWT the following changes have been applied. These changes might break existing 3.0 clients. |
| The changes in detail: |
| - ImageUtilities has been moved from org.eclipse.ui.texteditors to org.eclipse.jface.text.source |
| - removed static Annotation.drawImage methods -> use org.eclipse.jface.text.source.ImageUtilities |
| - removed setLayer, getLayer, and paint from Annotation -> annotations which want to draw |
| themselves should implement IAnnotationPresentation (as has been introduced by Dec. 18th) |
| - MarkerAnnotation now directly implements the methods removed from Annotation (setLayer, getLayer, paint) |
| - MarkerAnnotation extends SimpleMarkerAnnotation, SimpleMarkerAnnotation just provides |
| access to the represented IMarker |
| - the following classes have been moved from the plug-in org.eclipse.jface.text to the plug-in |
| org.eclipse.text, the package names remain the same |
| org.eclipse.jface.text.ISynchronizable |
| org.eclipse.jface.text.source.Annotation |
| org.eclipse.jface.text.source.AnnotationMap |
| org.eclipse.jface.text.source.AnnotationModel |
| org.eclipse.jface.text.source.AnnotationModelEvent |
| org.eclipse.jface.text.source.IAnnotationMap |
| org.eclipse.jface.text.source.IAnnotationModel |
| org.eclipse.jface.text.source.IAnnotationModelExtension |
| org.eclipse.jface.text.source.IAnnotationModelListener |
| org.eclipse.jface.text.source.IAnnotationModelListenerExtension |
| |
| The following changes were made to add headless annotation model support to filebuffers. |
| - added ITextFileBuffer.getAnnotationModel(IPath) |
| - added ITextFileBufferManager.createAnnotationModel(IPath) |
| - introduced IPersistableAnnotationModel give annotations model a sense of a life cycle |
| - added new extension point org.eclipse.core.filebuffers.annotationModelCreation for |
| registering factories for file buffer annotation models |
| - introduced IAnnotationModelFactory to reify the contract for the extension point |
| - changed TextFileDocumentProvider to take the text file buffer annotation models into |
| account. This is only the case when a subclass does override |
| TextFileDocumentProvider.createAnnotationModel |
| |
| Theses changes affect the following plug-ins: |
| org.eclipse.core.filebuffers |
| org.eclipse.jface.text |
| org.eclipse.text |
| org.eclipse.ui.editors |
| |
| </pre> |
| <br> |
| ========== Eclipse Build Input April 27th 2004 ==========<br> |
| <pre> |
| - Added org.eclipse.ui.contentassist.ContentAssistHandler which can |
| be used to install and control enablement of the visual cue and the |
| key binding for subject control content assistants. |
| </pre> |
| <br> |
| ========== Eclipse Build Input April 20th 2004 ==========<br> |
| <pre> |
| Open / closed partitions: |
| From IDocumentPartitionerExtension2: |
| This extension introduces the concept of open and closed (or delimited) |
| partitions. A delimited partition has a textual token delimiting its start |
| and end, while an open partition can fill any space between two delimited |
| partitions. |
| An open partition of zero length can occur between two delimited partitions, |
| thus having the same offset as the following delimited partition. The |
| document start and end are considered to be delimiters of open partitions, |
| i.e. there may be a zero-length partition between the document start and a |
| closed partition starting at offset 0. |
| |
| The partition information queries on IDocumentPartitionerExtension2 carry a |
| boolean argument that specifies whether such open partitions should be returned. |
| |
| ----- |
| |
| API changes: |
| |
| plug-in: org.eclipse.text |
| |
| - pkg: org.eclipse.jface.text |
| - renamed FindReplaceDocumentAdapter.search to FindReplaceDocumentAdapter.find |
| - changed FindReplaceDocumentAdapter.findReplace to private |
| - merged FindReplaceOperationCode into FindReplaceDocumentAdapter, removed FindReplaceOperationCode |
| - deleted deprecated classes whose Javadoc stated that these classes were internal |
| - ChildDocument |
| - ChildDocumentManager |
| - ParentChildMapping |
| - CoordinatesTranslator |
| - Fragment |
| - FragmentUpdater |
| - ProjectionDocument |
| - ProjectionDocumentManager |
| - ProjectionPosition |
| - ProjectionPositionUpdater |
| - ProjectionTextStore |
| |
| - pkg: org.eclipse.jface.text.link |
| - removed ExclusivePositionUpdater |
| - marked InclusivePositionUpdater as internal class using Javadoc |
| - renamed LinkedEnvironment to LinkedModeModel |
| - renamed methods accordingly |
| - renamed LinkedManager to LinkedModeManager |
| - renamed ILinkedListener to ILinkedModeListener |
| - renamed LinkedUIControl to LinkedModeUI |
| - removed LinkedPositionGroup.createPosition methods |
| - use LinkedPositionGroup.addPosition instead |
| |
| - pkg: org.eclipse.jface.text.templates |
| - renamed ContextType to TemplateContextType |
| - renamed GlobalVariables to GlobalTemplateVariables |
| - renamed SimpleVariableResolver to SimpleTemplateVariableResolver |
| |
| |
| ---------------------------------------- |
| |
| plug-in org.eclipse.jface.text |
| |
| - pkg: org.eclipse.jface.text |
| - renamed IAnnotationHoverExtension.getInformationControlCreator to IAnnotationHoverExtension.getHoverControlCreator |
| - renamed ITextHoverExtension.getInformationControlCreator to ITextHoverExtension.getHoverControlCreator |
| |
| - pkg: org.eclipse.jface.text.formatter |
| - merged IContentFormatterExtension2 into IContentFormatterExtension |
| - removed IContentFormatterExtension.getPartitioning |
| - changed configuration methods of MultipassContentFormatter: substituted IFormattingStrategy for IFormattingStrategyExtension, added assert statements |
| - deprecated ContentFormatter |
| |
| - pkg: org.eclipse.jface.text.source |
| - deleted deprecated classes whose Javadoc stated that these classes were internal |
| - OutlinerRulerColumn |
| - ProjectionAnnotation |
| - ProjectionSourceViewer |
| |
| - pkg: org.eclipse.jface.text.reconciler |
| - deleted DocumentAdapter |
| - renamed AnnotationEvent to VerticalRulerEvent |
| - renamed VerticalRulerEvent.getAnnotation to VerticalRulerEvent.getSelectedAnnotation |
| - renamed VerticalRulerEvent.setAnnotation to VerticalRulerEvent.setSelectedAnnotation |
| - CompositeRuler no longer implements IVerticalRulerListener |
| - renamed CompositeRuler.annotationSelected to CompositeRuler.fireAnnotationSelected |
| - renamed CompositeRuler.annotationDefaultSelected to CompositeRuler.fireAnnotationDefaultSelected |
| - renamed CompositeRuler.annotationContextMenuAboutToShow to CompositeRuler.fireAnnotationContextMenuAboutToShow |
| - changed constructor of AnnotationExpandHover to accept CompositeRuler rather than IVerticalRulerInfo and IVerticalRulerListener |
| |
| - pkg: org.eclipse.jface.text.contentassist |
| - moved AbstractControlContentAssistSubjectAdapter to package org.eclipse.jface.contentassist |
| - moved ComboContentAssistSubjectAdapter to package org.eclipse.jface.contentassist |
| - moved ContentAssistant to package org.eclipse.jface.contentassist |
| - moved IContentAssistProcessorExtension to package org.eclipse.jface.contentassist |
| - renamed IContentAssistProcessorExtension to ISubjectControlContentAssistProcessor.java |
| - moved IContentAssistSubject to package org.eclipse.jface.contentassist |
| - renamed to IContentAssistSubject IContentAssistSubjectControl |
| - moved IContextInformationPresenterExtension to package org.eclipse.jface.contentassist |
| - renamed IContextInformationPresenterExtension to ISubjectControlContextInformationPresenter |
| - moved IContextInformationValidatorExtension to package org.eclipse.jface.contentassist |
| - renamed IContextInformationValidatorExtension to ISubjectControlContextInformationValidator |
| - moved TextContentAssistSubjectAdapter to package org.eclipse.jface.contentassist |
| - added ISubjectControlContentAssistant to package org.eclipse.jface.contentassist |
| - moved IContentAssistantExtension.install(IContentAssistSubjectControl) to ISubjectControlContentAssistant |
| - added SubjectControlContentAssistant to package org.eclipse.jface.contentassist |
| - added SubjectControlContextInformationValidator to package org.eclipse.jface.contentassist |
| |
| ----------------------------------------------- |
| |
| plug-in org.eclipse.ui.workbench.texteditor |
| |
| - pkg: org.eclipse.ui.texteditor.templates |
| - changed EditTemplateDialog to package visible |
| - changed TemplateContentProvider to package visible |
| |
| - org.eclipse.ui.texteditor |
| - removed ChainedPreferenceStore (there is a copy in JDT UI) |
| - removed PreferencesAdapter (there is copy in JDT UI) |
| - deprecated InfoForm |
| - renamed SelectMarkerRulerAction2 to SelectAnnotationRulerAction |
| - renamed SmartEnterAction to InsertLineAction |
| |
| - org.eclipse.ui.texteditor.link |
| - removed EditorTarget |
| - replaced EditorHistoryUpdater with EditorLinkedModeUI |
| - clients no longer configure a LinkedModeUI with the EditorHistoryUpdater but instantiate EditorLinedModeUI |
| |
| ------------------------------------------------- |
| |
| plug-in org.eclipse.ui.editors |
| |
| - pkg: org.eclipse.ui.texteditor |
| - moved AnnotationType to package org.eclipse.ui.internal.texteditor |
| - moved AnnotationTypeHierarchy to package org.eclipse.ui.internal.texteditor |
| - moved DelegatingAnnotationPreference to package org.eclipse.ui.internal.texteditor |
| - marked AnnotationPreferenceLookup.getAnnotationPreferenceFragment as internal method using Javadoc |
| - renamed ExtendedTextEditor to AbstractDecoratedTextEditor |
| - renamed ExtendedTextEditorPreferenceConstants to AbstractDecoratedTextEditorPreferenceConstants |
| |
| - pkg: org.eclipse.ui.editors.text |
| - removed EditorUI.getAnnotationTypeHierarchy |
| - moved WorkspaceOperationRunner to package org.eclipse.ui.internal.editors.text |
| - moved UISynchronizationContext to package org.eclipse.ui.internal.editors.text |
| |
| |
| -------------------------------------------------- |
| |
| plug-in org.eclipse.core.filebuffers |
| - extension point org.eclipse.core.filebuffers.documentSetup now supports the attribute 'fileNames'. The union of |
| 'fileNames' and 'extensions' is used for setting up a document. |
| - extension point org.eclipse.core.filebuffers.documentCreation now supports the attribute 'fileNames'. |
| 'fileName' has precedence over any matching criterion of 'extensions' when creating a document. |
| |
| |
| </pre> |
| ========== Eclipse Build Input March 23rd 2004 ==========<br> |
| <pre> |
| - Added the <tt>org.eclipse.ui.editors.templates</tt> extension point to the templates infrastructure. |
| - Added an example of using the extension point to the <tt>org.eclipse.ui.examples.javaeditor</tt> |
| project, see the <tt>Template Editor Example</tt> source folder and the html description for reference. |
| </pre> |
| ========== Eclipse Build Input March 9th 2004 ==========<br> |
| <pre> |
| - Moved the templates infrastructure to the text, jface.text and ui.workbench.texteditor |
| projects, making it API. The template API is still in the flow and might change considerably. |
| |
| For people that have been using the internal template code, please note: |
| - TemplateVariable has been renamed to TemplateVariableResolver |
| - TemplatePosition has benn renamed to TemplateVariable |
| - there is first support for adding multiple proposals for a variable |
| </pre> |
| ========== Eclipse Build Input March 2nd 2004 ==========<br> |
| <pre> |
| - Moved the linked position infrastructure to the text, jface.text and ui.workbench.texteditor |
| projects, making in API. See package.html in the relevant sections. This is an intermediate step |
| in making templates part of the text infrastructure. |
| - The content assistant can now be configured to restore the completion proposal |
| popup's size. For details see: |
| - ContentAssistant.setRestoreCompletionProposalSize(IDialogSettings) |
| - Completion proposal popup of the content assistants in Find/Replace dialog |
| now remember their size. |
| - Several bugs fixed. |
| </pre> |
| <br> |
| ========== Eclipse Build Input February 24th 2004 ==========<br> |
| <pre> |
| - A source viewer can now be unconfigured and afterwards configured again. |
| - Information control managers can now be configured to restore the information |
| control's location and size. The information control must implement |
| IInformationControlExtension3. For details see: |
| - AbstractInformationControlManager.setRestoreInformationControlBounds(...) |
| - IInformationControlExtension3.getBounds() |
| - Several bugs fixed. |
| </pre> |
| <br> |
| ========== Eclipse Build Input February 17th 2004 ==========<br> |
| <pre> |
| - Several bugs fixed. |
| </pre> |
| <br> |
| ========== Eclipse Build Input February 10th 2004 ==========<br> |
| <pre> |
| - ComboContentAssistSubjectAdapter and TextContentAssistSubjectAdapter allow to |
| show cue with tooltip. |
| - Annotations drawing in text may now be configured. Current drawing styles are boxes, underline, |
| squiggly lines, and an i-beam. |
| We might introduce an extension point for specifying custom drawing strategies. |
| - A roll-over annotation hover has been introduced to cope with many annotations drawn over each |
| other in the vertical ruler. Enable for the Java editor using the roll over preference under |
| Java->Work in Progress. |
| </pre> |
| <br> |
| ========== Eclipse Build Input January 27th 2004 ==========<br> |
| <pre> |
| - Improved performance when installing contributed actions. |
| - The displayed tab width in the text editor can now be configured, |
| see Workbench > Editors > Text Editor preferences. |
| - Enhanced content assistant to be usable in Text and Combo, |
| see ComboContentAssistSubjectAdapter and TextContentAssistSubjectAdapter. |
| - The DefaultAnnotation and its usages which was introduced in 3.0 to be |
| create non-marker based annotations has been replaced by new API in Annotation. |
| </pre> |
| <br> |
| ========== Eclipse Build Input January 20th 2004 ==========<br> |
| <pre> |
| - Improved annotation painting: adapted painter to fine grained annotation model delta. |
| </pre> |
| <br> |
| ========== Eclipse Build Input December 18th 2003 ==========<br> |
| <pre> |
| This build contains several changes and additions to the annotation mechanism. |
| |
| 1) Annotation Types |
| |
| There is now the explicit notion of an annotation type. See Annotation.getType() and Annotation.setType(). |
| The type of an annotation can change over it's lifetime. A new extension point has been added for the declaration |
| of annotation types: "org.eclipse.ui.editors.annotationTypes". An annotation type has a name and can be declared |
| as being a subtype of another declared annotation type. An annotation type declaration may also use the attributes |
| "markerType" and "markerSeverity" in order to specify that markers of a given type and a given severity should be |
| represented in text editors as annotations of a particular annotation type. The attributes "markerType" and |
| "markerSeverity" in the "org.eclipse.ui.editors.markerAnnotationSpecification" should no longer be used. Marker |
| annotation specifications are thus becoming independent from markers and the name thus misleading. However, the |
| name is kept in order to ensure backward compatibility. |
| |
| Instances of subclasses of AbstractMarkerAnnotationModel automatically detect and set the correct annotation |
| types for annotations they create from markers. In order to programmatically retrieve the annotation type for |
| a given marker or a given pair of markerType and markerSeverity use org.eclipse.ui.texteditor.AnnotationTypeLookup. |
| |
| Access to the hierarchy of annotation types is provided by AnnotationTypeHierarchy. For a given annotation type |
| name you can get an AnnotationType that provides information about the chain of super types and a method to check |
| whether an annotation type given as name is a subtype. You can also retrieve the information from |
| IAnnotationAccessExtension. DefaultMarkerAnnotationAccess implements this interface. |
| |
| 2) MarkerAnnotationSpecification |
| |
| The annotation type is the key with which to find the associated marker annotation specification. As annotation |
| types can extend other annotation types, there is an implicit relation between marker annotation specifications |
| as well. Therefore a marker annotation specification for a given annotation type is completed by the marker |
| annotation specifications given for the super types of the given annotation type. Therefore, marker annotation |
| specification do not have to be complete as this was required before. Marker annotation specifications are |
| reified by AnnotationPreferences. By using org.eclipse.ui.texteditor.AnnotationPreferenceLookup, you can retrieve |
| an annotation preference for a given annotation type that transparently performs the completion of the preference |
| along the annotation super type chain. |
| |
| 3) Painting annotation |
| |
| Marker annotation specification has been extended with three addition attributed in order to allow the definition |
| of custom appearances of a given annotation type in the vertical ruler. These attributes are: "icon", "symbolicIcon", |
| and "annotationImageProvider". The value for "icon" is the path to a file containing the icon image. The value of |
| "symbolicIcon" can be one of "error", "warning", "info", "task", "bookmark". The attribute "symbolicIcon" is used |
| to tell the platform that annotation should be depicted with the same images that are used by the platform to |
| present errors, warnings, infos, tasks, and bookmarks respectively. The value of "annotationImageProvider" is a |
| class implementing org.eclipse.ui.texteditor.IAnnotationImageProvider that allows for a full custom annotation |
| presentation. |
| |
| The vertical ruler uses it's associated IAnnotationAccess/IAnnotationAccessExtension to draw annotations. |
| The vertical ruler does not call Annotation.paint any longer. In general, Annotations are no longer supposed |
| to draw themselves. The "paint" and "getLayer" methods have been deprecated in order to make annotation eventually |
| UI independent. DefaultMarkerAnnotationAccess serves as default implementation of IAnnotationAccess/IAnnotationAccessExtension. |
| DefaultMarkerAnnotationAccess implements the following strategy for painting annotations: If an annotation implements |
| IAnnotationPresentation, IAnnotationPresentation.paint is called. If not, the annotation image provider is looked up |
| in the annotation preference. The annotation image provider is only available if specified and if the plug-in defining |
| the enclosing marker annotation specification has already been loaded. If there is an annotation image provider, the |
| call is forwarded to it. If not, the specified "icon" is looked up. "symbolicIcon" is used as the final fallback. For |
| drawing annotations, the annotation presentation layer is relevant. DefaultMarkerAnnotationAccess looks up the presentation |
| layer using the following strategy: If the annotation preference specifies a presentation layer, the specified layer is |
| used. If there is no layer and the annotation implements IAnnotationPresentation, IAnnotationPresentation.getLayer is used |
| otherwise the default presentation layer (which is 0) is returned. |
| |
| 4) Additions to Annotation |
| |
| Annotations additionally support: a message, a flag to indicate whether the annotation is marked as deleted, a |
| flag to indicate whether the annotation is persistent or temporary. |
| |
| 5) Migration |
| |
| The following annotation types are declared by the org.eclipse.ui.editors plug-in: |
| |
| <extension point="org.eclipse.ui.editors.annotationTypes"> |
| <type |
| name="org.eclipse.ui.workbench.texteditor.error" |
| markerType="org.eclipse.core.resources.problemmarker" |
| markerSeverity="2"> |
| </type> |
| <type |
| name="org.eclipse.ui.workbench.texteditor.warning" |
| markerType="org.eclipse.core.resources.problemmarker" |
| markerSeverity="1"> |
| </type> |
| <type |
| name="org.eclipse.ui.workbench.texteditor.info" |
| markerType="org.eclipse.core.resources.problemmarker" |
| markerSeverity="0"> |
| </type> |
| <type |
| name="org.eclipse.ui.workbench.texteditor.task" |
| markerType="org.eclipse.core.resources.taskmarker"> |
| </type> |
| <type |
| name="org.eclipse.ui.workbench.texteditor.bookmark" |
| markerType="org.eclipse.core.resources.bookmark"> |
| </type> |
| </extension> |
| |
| The defined markerAnnotationSpecification extension no longer provide "markerType" and "markerSeverity" |
| attributes. They define the "symbolicIcon" attribute with the according value. Thus, MarkerAnnotation.paint |
| and MarkerAnnotation.getLayer are not called any longer, i.e. overriding these methods does not have |
| any effect. |
| </pre> |
| <br> |
| ========== Eclipse Build Input November 11th 2003 ==========<br> |
| <pre> |
| - Finished annotation background painter |
| - Added new concept of ITextPresentationListener which should be used by clients |
| to apply a presentation style (e.g. color, bold) to the text. Clients using |
| the StyledText.*styleRange* API methods should convert to this new API. A |
| ITextPresentationListener can be added and removed from a text viewer (see |
| ITextViewerExtension4) |
| </pre> |
| <br> |
| <br> |
| |
| ========== Eclipse Build Input October 28th 2003 ==========<br> |
| <pre> |
| - Vertical ruler annotations can be disabled via editor's Annotation preference |
| page. |
| - Added support to set background for annotations |
| - annotation background painter <work in progress> |
| - key/value attributes to "org.eclipse.ui.workbench.texteditor.markerAnnotationSpecification" extension-point |
| - updated annotation preference page to show this attribute |
| - enabled this feature for Search annotations |
| </pre> |
| <br> |
| <br> |
| ========== Eclipse Build Input October 21th 2003 ==========<br> |
| <pre> |
| - Incremental find has its own editor status line field (findField) |
| - IStatusField has been extended (IStatusFieldExtension) with the following concepts: |
| - set error text and image |
| - set tool tip |
| - control visibility |
| </pre> |
| <br> |
| <br> |
| ========== Eclipse Build Input October 7th 2003 ==========<br> |
| <pre> |
| - Find/Replace dialog now offers content assist for regular expression search and replace |
| - Changes found by Quickdiff are now ordinary annotations. I.e. they can serve as |
| navigation target, can be shown in the overview ruler, and in the text. Their presentation |
| colors can also be configured. |
| - "Open External File" can be found in the Files menu. It opens files which are not workspace files |
| with the associated editor or the default text editor if no editor is specified. Text editors support |
| external files. |
| </pre> |
| <br> |
| <br> |
| ========== Eclipse Build Input September 30th 2003 ==========<br> |
| <pre> |
| - Find/Replace dialog now supports regular expression search and replace |
| - Quick Diff annotations can now be displayed on the overview ruler and support Go to Next / Previous |
| </pre> |
| <br> |
| <br> |
| ========== Eclipse Build Input August 26th 2003 ==========<br> |
| <pre> |
| - Improved overview ruler: |
| - can now handle annotations on same layer |
| - added tool tip text to overview ruler header |
| - tool tip text for disabled annotation no longer appears |
| - click on overview ruler item respects layer |
| - clicking on same overview ruler item jumps to next annotation |
| - several bugs fixed |
| </pre> |
| <br> |
| <br> |
| ========== Eclipse Build Input August 19th 2003 ==========<br> |
| <pre> |
| - added concept of reconcile step: a reconcile step is one of n steps of a |
| reconcile strategy that consists of several steps. See the Java Family example |
| to see it in action. |
| - added concept of translator: a translator translates a given file into another |
| language. The translator is also responsible to provide line mapping information |
| for the translation and to compute which offset in an original line corresponds |
| to a given offset in a target line. See the Java Family example to see it in action. |
| - TextEditor extends now ExtendedTextEditor, an additional layer combining features |
| used in rich editors, such as the annotation, line number and overview rulers, |
| the print margin, current text highlighting, and quick diff. |
| - several bugs fixed |
| </pre> |
| <br> |
| <br> |
| ========== Eclipse Build Input August 12th 2003 ==========<br> |
| <pre> |
| - the marker annotation specification can now be used to specify if the annotation |
| should allow to be a navigation target. For details read the documentation of |
| org.eclipse.workbench.texteditor.markerAnnotationSpecification extension point. |
| - several bugs fixed |
| </pre> |
| <br> |
| <br> |
| ========== Eclipse Build Input July 29th 2003 ==========<br> |
| <pre> |
| - several bugs fixed |
| </pre> |
| <br> |
| <br> |
| ========== Eclipse Build Input July 22th 2003 ==========<br> |
| <pre> |
| - several bugs fixed |
| </pre> |
| <br> |
| <br> |
| ========== Eclipse Build Input July 16th 2003 ==========<br> |
| <!-- Add what's new below and end each line with br tag --> |
| <pre> |
| - several bugs fixed |
| - Improvements and framework changes for the light weight change indication. Change indication |
| can now happen in the line number ruler or a dedicated change ruler column. |
| </pre> |
| <br> |
| <br> |
| ========== Eclipse Build Input July 8th 2003 ==========<br> |
| <!-- Add what's new below and end each line with br tag --> |
| <pre> |
| - several bugs fixed |
| - The TextViewer sends out time-out based selection changed events for |
| caret position changes for clients registered as post selection changed listeners. |
| - The default text editor supports a light weight change indicator integrated with the line number ruler. |
| Can be globally enabled on the Text Editor preference page. Can be enabled/disabled for the current editor |
| in the editor's context menu or using the short cut "Ctrl+Shift+Q". |
| - Text frameworks have been extended to support light weight diffing. |
| </pre> |
| <br> |
| <br> |
| ========== Eclipse Build Input June 17th 2003 ==========<br> |
| <!-- Add what's new below and end each line with br tag --> |
| <pre> |
| - several bugs fixed |
| - The TextViewer sends out time-out based selection changed events for caret position changes. |
| - added extension interfaces which allow completion proposals to specify their custom |
| information control creator |
| </pre> |
| <br> |
| <br> |
| ========== Eclipse Build Input June 4th 2003 ==========<br> |
| <!-- Add what's new below and end each line with br tag --> |
| <pre> |
| - several bugs fixed |
| - The TextViewer sends out time-out based selection changed events for caret position changes. |
| - added extension interfaces which allow text hovers and information providers to specify their custom |
| information control creator |
| - text editors support three typing modes: Overwrite, Insert, Smart Insert |
| - typing modes are toggled by INS in the default key binding |
| - each mode is represented with its own caret |
| - modes can be disabled per editor, i.e. when toggling insert modes, disabled modes will not be selected |
| - status line contribution items can now be associated with an action that is called when double clicking the status item |
| </pre> |
| <br> |
| <br> |
| ========== Eclipse Build Input May 13th 2003 ==========<br> |
| <!-- Add what's new below and end each line with br tag --> |
| <pre> |
| - several bugs fixed |
| - released new features: |
| - Insert new line above the caret line (ui name: "Smart Enter (Inverse)", default key binding: Ctrl+Shift+Enter) |
| - Insert new line after the caret line (ui name: "Smart Enter", default key binding: Shift+Enter) |
| - Move selected lines upwards (ui name: "Move Lines Up", default key binding: Alt+Arrow_UP) |
| - Move selected lines down (ui name: "Move Lines Down", default key binding: Alt+Arrow_Down) |
| - Change case of selection to upper case (ui name: "To Upper Case", default key binding: Ctrl+Shift+X) |
| - Change case of selection to lower case (ui name: "To Lower Case", default key binding: Ctrl+Shift+Y) |
| </pre> |
| <br> |
| <br> |
| ========== Eclipse Build Input April 29th 2003 ==========<br> |
| <!-- Add what's new below and end each line with br tag --> |
| <pre> |
| - several bugs fixed |
| </pre> |
| <br> |
| <br> |
| ========== Eclipse Build Input April 22nd 2003 ==========<br> |
| <!-- Add what's new below and end each line with br tag --> |
| <pre> |
| - several bugs fixed |
| </pre> |
| <br> |
| <br> |
| </body></html> |