Eclipse 3.1 Platform Build Notes
Text

To see which bugs have been addressed in one of the builds simply open the Platform-Text bugzilla query page, select status, resolution and the time frame.


========== Eclipse Build Input December 14th 2004 ==========
- added Spelling API to org.eclipse.ui.workbench.texteditor plug-in:
	- The API is still under construction, provide feedback in
	  https://bugs.eclipse.org/bugs/show_bug.cgi?id=77353.
	- New package: org.eclipse.ui.texteditor.spelling
	- New extension-point: org.eclipse.ui.workbench.texteditor.spellingEngine
	- A spelling client can spell-check a document by calling
	  SpellingService#check(IDocument document, IRegion[] regions, SpellingContext context, ISpellingProblemCollector collector, IProgressMonitor monitor).
	  The supplied SpellingContext allows the spelling engine to determine
	  settings specific to this check. Each spelling error is reported to the
	  supplied ISpellingProblemCollector as SpellingProblem.
	  For example, see org.eclipse.jdt.internal.ui.text.spelling.JavaSpellingReconcileStrategy
	  and org.eclipse.jdt.internal.ui.text.spelling.JavaSpellingReconcileStrategy.SpellingProblemCollector.
	- The org.eclipse.ui.editors plug-in provides access to a system-wide instance of
	  SpellingService with org.eclipse.ui.editors.text.EditorsUI#getSpellingService()
	  and registers a preference page for configuring the SpellingService's and
	  the spelling engines' preferences. The SpellingService's preferences are whether
	  spelling is enabled and which spelling engine is used. (The spelling preference page
	  shows a combo box for chosing the used engine only if more than one engine
	  is present.)
	  See org.eclipse.ui.texteditor.spelling.SpellingService and
	  the General > Editors > All Text Editors > Spelling preference page.
	- A spelling engine implementer must implement ISpellingEngine and extend
	  the org.eclipse.ui.workbench.texteditor.spellingEngine extension-point.
	  The implementation of ISpellingEngine#check(IDocument document, IRegion[] regions, SpellingContext context, ISpellingProblemCollector collector, IProgressMonitor monitor)
	  reports any spelling errors to the given ISpellingProblemCollector as SpellingProblem.
	  Note that the engine must not call ISpellingProblemCollector#beginReporting()
	  or ISpellingProblemCollector#endReporting() as this is done by the spelling
	  infrastructure.
	  For example, see org.eclipse.jdt.internal.ui.text.spelling.DefaultSpellingEngine
	  and org.eclipse.jdt.internal.ui.text.spelling.JavaSpellingProblem.
	- A spelling engine implementer can implement ISpellingPreferenceBlock and specify
	  the implementing class with the extension. A ISpellingPreferenceBlock provides
	  a UI for preferences specific to the spelling engine. If the user-supplied preference
	  values are not valid, the preference block should notify the IPreferenceStatusMonitor
	  it received on ISpellingPreferenceBlock#initialize(IPreferenceStatusMonitor), such
	  that the containing preference page can provide corresponding indication to the user.
	  For example, see org.eclipse.jdt.internal.ui.preferences.SpellingPreferenceBlock and
	  the General > Editors > All Text Editors > Spelling preference page.
	- Extension specification example from the org.eclipse.jdt.ui plug-in's plugin.xml:
		    <extension point="org.eclipse.ui.workbench.texteditor.spellingEngine">
		        <engine
		              preferencesClass="org.eclipse.jdt.internal.ui.preferences.SpellingPreferenceBlock"
		              label="%defaultSpellingEngine.label"
		              class="org.eclipse.jdt.internal.ui.text.spelling.DefaultSpellingEngine"
		              default="true"
		              id="org.eclipse.jdt.internal.ui.text.spelling.DefaultSpellingEngine">
		        </engine>
		    </extension>
	  
- bug fixing
========== Eclipse Build Input November 30th 2004 ==========
- added new hyperlink support to text viewer and editors:
	- new package org.eclipse.jface.text.hyperlink
	- extended ITextEditor with ITextViewerExtension6
	- added shared/global text editor preference to
		- enable/disable hyperlinking (default: enabled)
		- set the hyperlink modifier key (default: MOD1 i.e. Ctrl or Command)
		- set the hyperlink color (default: blue)
	- SourceViewerConfiguration: clients using or subclassing it will now automatically
	  get hyperlinking for URLs (using MOD1 modifier).
	  - If hyperlinking is not desired then getHyperlinksEnabled(...) can be overwritten
	    to return false.
	  - To use the shared/global editor hyperlink preference either subclass
	    TextSourceViewerConfiguration or duplicate the getHyperlink* methods to your subclass
	    of SourceViewerConfiguration.
	    Note: your editor's preference store must be a ChainedPreferenceStore, e.g.
	  		  IPreferenceStore generalTextStore= EditorsUI.getPreferenceStore(); 
			  fChainedPreferenceStore= new ChainedPreferenceStore(new IPreferenceStore[] { YourPlugin.getPreferenceStore(), generalTextStore });
	 - additional hyperlink targets can be configured by extending SourceViewerConfiguration.getHyperlinkDetectors(...)
	   NOTE: In the feature it might (i.e. not sure yet) be possible to provide hyperlinking via
	   		 extension-point(s) and user-configurable it via preferences.
- preferences: 
  - moved many preferences that were available in all editors to a
    shared editor page (see Workbench>Editors>All Text Editors)
  - moved Java editor prefernce page under the Workbench>Editors node
  	- this is a temporary position due to the ongoing prefernce page reordering effor
  - removed some preferences:
  	- show overview ruler
  
- bug fixing
========== Eclipse Build Input November 23th 2004 ==========
- moved adapter factory registration from plug-in class to extension point
- bug fixing
========== Eclipse Build Input September 21 2004 ==========
- the text editor now retargets the properties action i.e. the command to open
  the properties dialog is enabled when the text editor has focus
- there's a new Edit > Change Encoding... action which reuses the encoding
  field editor from the properties dialog
- EncodingActionGroup, IEncodingActionsConstants, IEncodingActionsDefinitionIds and
  IEncodingActionsHelpContextIds are no longer used and have been deprecated
- bug fixing

LinkedMode:
- LinkedModeModel: document changes outside of linked positions
  are now tolerated, as well as changes that do not lie completely inside a 
  position. Linked mode is still left if any disjointness constraints are violated
  by a change (changes to LinkedModeModel and LinkedPositionGroup)
- LinkedModeUI now controls the entire exit behavior, so all the exit logic
  is at one point. The UI includes a document listener now and exits the same
  way as LinkedModeModel did before
-> no binary changes, no functional changes for any clients that use LinkedModeUI and LinkedModeModel together.


========== Eclipse Build Input July 2004 ==========
- bug fixing