blob: 6bb0086ac07b0728c1ec95ac4388bc6ebacda5af [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!DOCTYPE apichanges PUBLIC "-//NetBeans//DTD API changes list 1.0//EN" "../../nbbuild/javadoctools/apichanges.dtd">
<apichanges>
<apidefs>
<apidef name="text">Text API</apidef>
</apidefs>
<changes>
<change id="PositionRef.Position">
<api name="text"/>
<summary>Implement Position interface for compatibility</summary>
<version major="6" minor="64"/>
<date day="25" month="5" year="2014"/>
<author login="sdedic"/>
<compatibility modification="yes" binary="compatible" source="compatible"/>
<description>
<p>
PositionRef can provide a Position object, but does not itself implement
the Position interface, although it can provide the <code>offset</code>.
The change is just to formally implement the j.s.t.Position.
</p>
</description>
<class name="PositionRef" package="org.openide.text"/>
<issue number="244744"/>
</change>
<change id="NbDocument-getEditToBeUndoneOfType">
<api name="text"/>
<summary>Added NbDocument.getEditToBeUndoneOfType</summary>
<version major="6" minor="49"/>
<date day="10" month="5" year="2011"/>
<author login="mmetelka"/>
<compatibility addition="yes"/>
<description>
<p>
Added NbDocument.getEditToBeUndoneOfType()
and NbDocument.getEditToBeRedoneOfType()
to retrieve custom undoable edits that wrap document-generated
undoable edits.
</p>
</description>
<class package="org.openide.text" name="NbDocument"/>
<issue number="204828"/>
</change>
<change id="NbDocument.openDocument">
<api name="text"/>
<summary>Added methods <code>NbDocument.getDocument</code>,
<code>NbDocument.openDocument</code> with offset parameter and
<code>NbDocument.openDocument</code> with line and column parameter</summary>
<version major="6" minor="46"/>
<date day="21" month="3" year="2012"/>
<author login="theofanis"/>
<compatibility addition="yes"/>
<description>
<p>
First method gets the StyledDocument associated with a file while the other two
are used to open the document associated with a file in the Editor window
in a position specified by the offset or line and column while
controlling open and visibility behavior.
</p>
</description>
<class package="org.openide.text" name="NbDocument"/>
<issue number="209058"/>
</change>
<change id="mark-commit-group">
<api name="text"/>
<summary>fix hole in commit-groups about empty commit group</summary>
<version major="6" minor="40"/>
<date day="20" month="7" year="2011"/>
<author login="err"/>
<compatibility addition="yes"/>
<description>
<p>
Define semantics of a nested empty commit group.
Add <code>MARK_COMMIT_GROUP</code> to fill a gap in API;
It adds an inprogress commit-group and starts a new one.
</p>
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
<issue number="199568"/>
</change>
<change id="CE.closeLast.boolean">
<api name="text"/>
<summary>CloneableEditor.closeLast</summary>
<version major="6" minor="39"/>
<date day="1" month="6" year="2011"/>
<author login="jtulach"/>
<compatibility addition="yes" binary="compatible" deletion="no"
deprecation="yes" modification="no" semantic="compatible"
/>
<description>
<p>
<code>CloneableEditor</code> has a new utility method
<code>closeLast</code>.
</p>
</description>
<class package="org.openide.text" name="CloneableEditor"/>
<issue number="196810"/>
</change>
<change id="CE.associateLookup">
<api name="text"/>
<summary>CloneableEditor(associateLookup)</summary>
<version major="6" minor="39"/>
<date day="1" month="6" year="2011"/>
<author login="jtulach"/>
<compatibility addition="yes" binary="compatible" deletion="no"
deprecation="yes" modification="no" semantic="compatible"
/>
<description>
<p>
<code>CloneableEditor</code> offers new constructor
that will reuse the lookup provided by its
<a href="@TOP@/org/openide/text/CloneableEditorSupport.html">CloneableEditorSupport</a>.
</p>
</description>
<class package="org.openide.text" name="CloneableEditor"/>
<issue number="196810"/>
</change>
<change id="initializeBySupport">
<api name="text"/>
<summary>CloneableEditor.initializeBySupport</summary>
<version major="6" minor="39"/>
<date day="1" month="6" year="2011"/>
<author login="jtulach"/>
<compatibility addition="yes" binary="compatible" deletion="no"
deprecation="yes" modification="no" semantic="compatible"
/>
<description>
<p>
Subclasses of <code>CloneableEditor</code> can manually request own
initialization by calling its
<a href="@TOP@/org/openide/text/CloneableEditor.html#initializeBySupport--">initializeBySupport</a>
method.
</p>
</description>
<class package="org.openide.text" name="CloneableEditor"/>
<issue number="196810"/>
</change>
<change id="NbDocument-Annotatable">
<api name="text"/>
<summary>NbDocument.Annotatable threading changes</summary>
<version major="6" minor="35"/>
<date day="7" month="2" year="2011"/>
<author login="mmetelka"/>
<compatibility semantic="incompatible"/>
<description>
<p>
<code>addAnnotation()</code> and <code>removeAnnotation()</code>
no longer re-plan their work into EDT.
</p>
</description>
<class package="org.openide.text" name="NbDocument"/>
<issue number="194816"/>
</change>
<change id="commit-groups">
<api name="text"/>
<summary>Better support for vi mode</summary>
<version major="6" minor="34"/>
<date day="24" month="11" year="2010"/>
<author login="err"/>
<compatibility addition="yes"/>
<description>
<p>
Support for chunking edits via <code>BEGIN_COMMIT_GROUP</code>
and <code>END_COMMIT_GROUP</code>.
</p>
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
<issue number="103467"/>
</change>
<change id="Editors-TabActions">
<api name="text"/>
<summary>Ability to inject actions into editor tab context menus</summary>
<version major="6" minor="32"/>
<date day="16" month="8" year="2010"/>
<author login="jglick"/>
<compatibility addition="yes"/>
<description>
<p>
Actions may now be placed in <code>Editors/TabActions</code> to add
them to the context menu of the tab of an editor window.
</p>
</description>
<issue number="189320"/>
</change>
<change id="NbDocument-style-constants-deprecated">
<api name="text"/>
<summary>Deprecating style constants in NbDocument</summary>
<version major="6" minor="29"/>
<date day="21" month="12" year="2009"/>
<author login="vstejskal"/>
<compatibility addition="no" deletion="no" modification="yes" binary="compatible" source="compatible"/>
<description>
<p>
Deprecating <code>BREAKPOINT_STYLE_NAME</code>, <code>ERROR_STYLE_NAME</code>,
<code>CURRENT_STYLE_NAME</code>, <code>NORMAL_STYLE_NAME</code> in <code>NbDocument</code> class.
Document styles have been abandoned when <code>Annotation</code>s API was created.
These constants are no longer functional.
</p>
</description>
<class package="org.openide.text" name="NbDocument"/>
<issue number="97517"/>
</change>
<change id="CloneableEditorSupport.asynchronousOpen">
<api name="text"/>
<summary>Add CloneableEditorSupport.asynchronousOpen</summary>
<version major="6" minor="26"/>
<date day="1" month="10" year="2009"/>
<author login="mslama"/>
<compatibility addition="yes" deletion="no" modification="no" binary="compatible" source="compatible"/>
<description>
<p>
Add CloneableEditorSupport.asynchronous to control if CloneableEditorSupport.open opens document synchronously or not.
If CloneableEditorSupport.asynchronous return true then CloneableEditorSupport.open opens document synchronously
and handles UserQuestionException.
If CloneableEditorSupport.asynchronous return false then CloneableEditorSupport.open does not open document. Document is then
opened during initialization of CloneableEditor form non AWT thread and UserQuestionException is handled there.
Implementation of method asynchronous in CloneableEditorSupport returns false ie. it keeps original behavior
of CloneableEditorSupport.open. Subclasses can overwrite method asynchronous to return true to avoid blocking AWT thread by
call CloneableEditorSupport.open which calls CloneableEditorSupport.openDocument.
</p>
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
<issue number="171713"/>
</change>
<change id="NbDocument.findRecentEditorPane">
<api name="text"/>
<summary>Add NbDocument.findRecentEditorPane</summary>
<version major="6" minor="24"/>
<date day="12" month="8" year="2009"/>
<author login="mslama"/>
<compatibility addition="yes" deletion="no" modification="no" binary="compatible" source="compatible"/>
<description>
<p>
Add NbDocument.findRecentEditorPane to allow non blocking retrieval of recently selected editor pane.
Method returns null when editor pane initialization is not finished. Client is notified about finished pane
initialization by property change event EditorCookie.Observable.PROP_OPENED_PANES.
NbDocument.findRecentEditorPane is replacement for EditorCookie.getOpenedPanes which waits till all editor
panes are initialized. It is nonblocking only when EditorCookie is instanceof CloneableEditorSupport.
</p>
</description>
<class package="org.openide.text" name="NbDocument"/>
<issue number="168415"/>
</change>
<change id="Line.show">
<api name="text"/>
<summary>Improve Line.show</summary>
<version major="6" minor="21"/>
<date day="7" month="7" year="2008"/>
<author login="mslama"/>
<compatibility addition="yes" deletion="no" modification="no" binary="compatible" source="compatible"/>
<description>
<p>
Improve Line.show to have better control over its open/visibility behavior. Previous version of Line.show
mixes open and visibility behavior into one parameter. New version separates this into 2 parameters. It is
possible to use any combination of these 2 parameters without need to add new constants for previous version.
2 enum types ShowOpenType and ShowVisibilityType are added.
</p>
</description>
<class package="org.openide.text" name="Line"/>
<issue number="138146"/>
</change>
<change id="beforeSaveRunnable">
<api name="text"/>
<summary>"beforeSaveRunnable" document property</summary>
<version major="6" minor="20"/>
<date day="16" month="5" year="2008"/>
<author login="mmetelka"/>
<compatibility addition="yes" deletion="no" modification="no" binary="compatible" source="compatible"/>
<description>
<p>
CloneableEditorSupport.saveDocument() checks document's "beforeSaveDocument" property
for a Runnable to be executed before the actual save will be done.
</p>
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
<issue number="13063"/>
</change>
<change id="initializeOnBackground">
<api name="text"/>
<summary>EditorKit, Document and co. are loaded on background by default</summary>
<version major="6" minor="18"/>
<date day="25" month="3" year="2008"/>
<author login="jtulach"/>
<compatibility deletion="no" binary="compatible" source="compatible" modification="yes" semantic="incompatible"/>
<description>
<p>
In order to speedup, or remove the load of initialization of kit in AWT during startup,
the initialization is done outside of AWT thread as much as possible. This provides
new <a href="@TOP@/architecture-summary.html#java-EditorKitInitialization">API for editor kits</a>,
one
<a href="@TOP@/architecture-summary.html#property-oldInitialization">component</a>
and one
<a href="@TOP@/architecture-summary.html#property-org.openide.text.CloneableEditor.oldInitialization">system</a>
property.
</p>
</description>
<class package="org.openide.text" name="CloneableEditor"/>
<issue number="130171"/>
</change>
<change id="NbDocument.Colors">
<api name="text"/>
<summary>Public static inner class <code>NbDocument.Colors</code> moved to org.openide.options.</summary>
<version major="6" minor="16"/>
<date day="22" month="5" year="2007"/>
<author login="mslama"/>
<compatibility deletion="yes" binary="compatible" source="incompatible"/>
<description>
<p>
Class <code>NbDocument.Colors</code> was removed to remove dependency on org.openide.options.
Runtime backward compatibility was ensured by moving into org.openide.options module which is
already deprecated.
</p>
</description>
<class package="org.openide.text" name="NbDocument"/>
<issue number="88531"/>
</change>
<change id="NbDocument.COLORS">
<api name="text"/>
<summary>Remove public field <code>NbDocument.COLORS</code></summary>
<version major="6" minor="16"/>
<date day="22" month="5" year="2007"/>
<author login="mslama"/>
<compatibility deletion="yes" binary="incompatible" source="incompatible"/>
<description>
<p>
Field <code>NbDocument.COLORS</code> was removed to remove dependency on org.openide.options.
</p>
</description>
<class package="org.openide.text" name="NbDocument"/>
<issue number="88531"/>
</change>
<change id="PrintPreferences">
<api name="text"/>
<summary>Adding <code>PrintPreferences</code></summary>
<version major="6" minor="16"/>
<date day="22" month="5" year="2007"/>
<author login="rmatous"/>
<compatibility addition="yes" binary="compatible" source="compatible"/>
<description>
<p>
Class <code>PrintPreferences</code> was added as replacement for original
class <code>PrintSettings</code>.
</p>
</description>
<class package="org.openide.text" name="PrintPreferences"/>
<issue number="88531"/>
</change>
<change id="PrintSettings">
<api name="text"/>
<summary>Removing <code>PrintSettings</code></summary>
<version major="6" minor="16"/>
<date day="22" month="5" year="2007"/>
<author login="rmatous"/>
<compatibility deletion="yes" binary="compatible" source="incompatible"/>
<description>
<p>
Classes <code>PrintSettings</code> and <code>PrintSettingsBeanInfo</code>
were removed. Runtime backward compatibility was ensured
by moving both into org.openide.options module which is already deprecated.
</p>
</description>
<class package="org.openide.text" name="PrintSettings" link="no"/>
<issue number="88531"/>
</change>
<change id="Line.SHOW_REUSE">
<api name="text"/>
<summary>Adding Line.SHOW_REUSE and Line.SHOW_REUSE_NEW constants for Line.show method</summary>
<version major="6" minor="14"/>
<date day="5" month="3" year="2007"/>
<author login="pnejedly"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
<p>The <code>Line.show()</code> method accepts show mode constant,
that influences the way the Line is displayed on the request.
These additional constants provide new modes for opening the line
in a shared editor window that can be replaced by subsequent calls of
<code>Line.show(SHOW_REUSE)</code> on <code>Line</code>s from different
<code>Document</code>. This is useful for quick source browsing without
cluttering the UI with too many opened editors.
</p>
</description>
<class package="org.openide.text" name="Line"/>
<issue number="94607"/>
</change>
<change id="CloneableEditorSupportRedirector">
<api name="text"/>
<summary>CloneableEditorSupportRedirector</summary>
<version major="6" minor="13"/>
<date day="7" month="2" year="2007"/>
<author login="jtulach"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
<p>The <a href="@TOP@/org/openide/text/CloneableEditorSupportRedirector.html">CloneableEditorSupportRedirector</a>
class allows a redirection of operations on a <code>CloneableEditorSupport</code>
object to another one. This can be useful if there are two logical
files representing one physical and one wants to have just a single
editor for both files. In such case just implement the
<a href="@TOP@/org/openide/text/CloneableEditorSupportRedirector.html">CloneableEditorSupportRedirector</a>.
</p>
</description>
<class package="org.openide.text" name="CloneableEditorSupportRedirector"/>
<issue number="51690"/>
</change>
<change id="CloneableEditorSupport.getEditorKit">
<api name="text"/>
<summary>Adding CloneableEditorSupport.getEditorKit method</summary>
<version major="6" minor="12"/>
<date day="2" month="8" year="2006"/>
<author login="vstejskal"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
<p>The <code>CloneableEditorSupport.getEditorKit()</code> method
allows to access <code>EditorKit</code>s registered in
MimeLookup. This is meant to be the primary way of finding
<code>EditorKit</code>s registered by Netbeans modules. The
<code>JEditorPane.createEditorKitForContentType</code> and the
other related methods in <code>JEditorPane</code> should only be
used for finding <code>EditorKit</code>s provided by JDK.
</p>
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
<issue number="52657"/>
</change>
<change id="EditorPaneDragAndDrop">
<api name="text"/>
<summary>Editor panes listen for special objects being dragged over them</summary>
<version major="6" minor="11"/>
<date day="30" month="5" year="2006"/>
<author login="saubrecht"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
<p>The custom <code>JEditorPane</code> used by <code>CloneableEditor</code>
has a custom <code>DropTarget</code>
instance which listens for some special objects (usually files) being
dragged over the editor pane and uses an instace of
<code>ExternalDropHandler</code> class from the global
<code>Lookup</code> to see if the drop can be accepted.
If the dragged object is supported then the caret in the editor does
not follow the cursor to indicate the drop position as if when dragging
a text snippet and regular Drop-Copy cursor is shown instead.
When the object is dropped into the editor the <code>ExternalDropHandler</code>
will process it (e.g. opens the file in a new editor tab).
</p>
</description>
<class package="org.openide.text" name="CloneableEditor"/>
<issue number="50129"/>
</change>
<change id="CloneableEditorSupport-messageHtmlName">
<api name="text"/>
<summary>Added CloneableEditorSupport.messageHtmlName method</summary>
<version major="6" minor="8"/>
<date day="31" month="10" year="2005"/>
<author login="dsimonek"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
<p>A <code>messageHtmlName</code> method has been added to
CloneableEditorSupport to allow for display names with html tags.
CloneableEditor uses this new method to set its html display name
correctly. Also <code>DataEditorSupport</code> now overrides
<code>messageHtmlName</code> to connect with <code>Node.getHtmlDisplayName</code>.</p>
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
<class package="org.openide.text" name="CloneableEditor"/>
<class package="org.openide.text" name="DataEditorSupport" link="no" />
<issue number="66777"/>
</change>
<change id="ActiveEditorDrop">
<api name="text"/>
<summary>Added ActiveEditorDrop interface</summary>
<version major="6" minor="6"/>
<date day="9" month="8" year="2005"/>
<author login="mroskanin"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
<p>An <code>ActiveEditorDrop</code> interface has been added due to
drag and drop callback support described at <a href="http://www.netbeans.org/issues/show_bug.cgi?id=61367">issue #61367</a>
</p>
</description>
<class package="org.openide.text" name="ActiveEditorDrop"/>
<issue number="61367"/>
</change>
<change id="CloneableEditorSupport-wrapEditorComponent">
<api name="text"/>
<summary>Added CloneableEditorSupport.wrapEditorComponent</summary>
<version major="6" minor="4"/>
<date day="22" month="7" year="2005"/>
<author login="abadea"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
<p>A <code>wrapEditorComponent</code> method has been added to
CloneableEditorSupport allowing to wrap the editor component
in another component.</p>
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
<class package="org.openide.text" name="CloneableEditor"/>
<issue number="60922"/>
</change>
<change id="annotations-error-stripe">
<api name="text"/>
<summary>Annotation type extended with <code>severity</code>, <code>custom_sidebar_color</code>, <code>browsable</code> and <code>priority</code>
attributes
</summary>
<version major="6" minor="3"/>
<date day="18" month="7" year="2005"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
Annotation type was extended with <code>severity</code>, <code>custom_sidebar_color</code>, <code>browsable</code> and <code>priority</code>
attributes.
</description>
<issue number="55639"/>
</change>
<change id="Line.SHOW_TOFRONT">
<api name="text"/>
<summary>Added a new constant <code>Line.SHOW_TOFRONT</code>
</summary>
<version major="5" minor="8"/>
<date day="21" month="3" year="2005"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
The new constant is used in the <code>EditorSupportLineSet</code> and brings
editor's parent <code>Window</code> to be fronted above all other top-level windows.
</description>
<class package="org.openide.text" name="Line"/>
<issue number="47825"/>
</change>
<change id="CloneableEditor-openAt">
<api name="text"/>
<summary>CloneableEditor.openAt made protected</summary>
<version major="5" minor="2"/>
<date day="6" month="12" year="2004"/>
<author login="pnejedly"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
<p>Deprecated <code>EditorSupport</code> has had a method
<code>openAt</code>, which has no easy replacement in
<code>CloneableEditorSupport</code>.
The method is implemented in <code>CloneableEditorSupport</code>,
but is package private. This change makes it protected.
</p>
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
<issue number="51441"/>
</change>
<change id="not-calling-CloneableEditorSupport-notifyModified-that-often">
<api name="text"/>
<summary>
<code>CloneableEditorSupport.notifyModified</code> is called only on first modification</summary>
<version major="5" minor="4"/>
<date day="14" month="1" year="2005"/>
<author login="jtulach"/>
<compatibility binary="compatible" source="compatible" semantic="incompatible" deprecation="no" addition="no" deletion="no" modification="no"/>
<description>
<p>
It has been found that <code>CloneableEditorSupport.notifyModified</code>
is called more often than it should. It used to be called after every
keystroke, which is bad, as its return value could not be honored -
it is not possible to prevent modification when the document is already
modified. Now the method is called only on first modification of the
document and if it returns false, the modification is not allowed.
<br/>
This may be incompatible for clients that relied on the often calls.
Such clients need to be fixed.
</p>
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
<issue number="52493"/>
</change>
<change id="CloneableEditorSupport.Pane">
<api name="text"/>
<summary>Enhance SPI interface for CloneableEditorSupport.Pane providers</summary>
<version major="4" minor="45"/>
<date day="24" month="8" year="2004"/>
<author login="mleint"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
Additional method to <code>CloneableEditorSupport.Pane</code> interface,
<code>Pane.ensureVisible()</code>. The implementing classes should ensure that the pane's component
is open and visible after calling this method. Is used in <code>CloneableEditorSupport.openAt()</code>.
</description>
<issue number="46127"/>
</change>
<change>
<api name="text"/>
<summary>Line.getOriginalLineNumber</summary>
<version major="4" minor="38"/>
<date day="8" month="6" year="2004"/>
<author login="jtulach"/>
<compatibility binary="compatible" addition="yes" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
A method that for a given line computes its original
line number. Is useful when user edits text and places a breakpoint
to find out what was the original line that the breakpoint should
be placed to.
</description>
<class package="org.openide.text" name="Line"/>
<issue number="43484"/>
</change>
<change>
<api name="text"/>
<summary>Allow custom toolbar for NbDocument impls, editor panes separation in editor support classes</summary>
<version major="4" minor="31"/>
<date day="20" month="4" year="2004"/>
<author login="mkleint"/>
<compatibility addition="yes" modification="yes" deprecation="yes" semantic="compatible" binary="compatible" source="compatible" deletion="no"/>
<description>
In order to implement MultiViews, these changes were necessary to the org.openide.text package.
<ul>
<li>Added new subinterface to NbDocument -&gt; NbDocument.CustomToolbar which lets the implementors to define a custom toolbar.
It allows to present the toolbar in different environments (eg. multiviews)</li>
<li>CloneableEditorSupport defined a new interface CloneableEditorSupport.Pane and has a new protected method createPane() </li>
<li>The deprecated EditorSupport has a new protected method createPane() </li>
<li>CloneableEditor implements CloneableEditorSupport.Pane, thus
updateTitle was changed from protected to public and 2 additional methods from Pane interfacewere added</li>
</ul>
</description>
<class package="org.openide.text" name="NbDocument"/>
<class package="org.openide.text" name="CloneableEditorSupport"/>
<class package="org.openide.text" name="CloneableEditor"/>
<class package="org.openide.text" name="EditorSupport" link="no" />
<issue number="41085"/>
</change>
<change>
<api name="text"/>
<summary>Support for AnnotationProvider interface</summary>
<version major="4" minor="30"/>
<date day="30" month="4" year="2004"/>
<author login="pnejedly"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
<ul>
<li>Added interface org.openide.text.AnnotationProvider</li>
<li>Call all instances of the interface found in the global lookup
when going to visualize given Annotatable.
</li>
</ul>
</description>
<class package="org.openide.text" name="AnnotationProvider"/>
<issue number="41345"/>
</change>
<change>
<api name="text"/>
<summary>Allow CloneableEditorSupport subclasses to specify
persistence ID for the associated editor TopComponent.
</summary>
<version major="4" minor="24"/>
<date day="2" month="2" year="2004"/>
<author login="pnejedly"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
Adding protected <code>CloneableEditorSupport.documentID</code>
to allow subclasses to compute preferred ID String used for
TopComponent persistence.
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
<issue number="37892"/>
</change>
<change>
<api name="text"/>
<summary>New <code>getInputStream()</code> method in CloneableEditorSupport</summary>
<version major="4" minor="7"/>
<date day="26" month="6" year="2003"/>
<author login="pjiricka"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
New method that returns an InputStream which reads the current data
from the editor, taking into account the encoding of the file.
The returned InputStream contains the same data as if the file was written
out to the disk. Useful when interacting with a tool that expects an InputStream,
and the current (possibly modified) content of the editor is desired.
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
<issue number="34692"/>
</change>
<change>
<api name="text"/>
<summary>CloneableEditorSupport takes Lookup for its Lines in constructor</summary>
<version major="4" minor="5"/>
<date day="18" month="4" year="2003"/>
<author login="jtulach"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
Allows subclasses of the support DataEditorSupport, etc. pass
additional information to each of its Lines. Such information
can consist of location like DataObject or FileObject.
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
<issue number="32937"/>
</change>
<change id="PositionRef-getEditorSupport">
<api name="text"/>
<summary>PositionRef.getEditorSupport() removed</summary>
<version major="4" minor="3"/>
<date day="2" month="4" year="2003"/>
<author login="jtulach"/>
<compatibility deletion="yes" binary="incompatible" source="incompatible" semantic="compatible" deprecation="no" addition="no" modification="no"/>
<description>
For a long time deprecated <code>PositionRef.getEditorSupport()</code> method
has been removed to enabled separation of EditorSupport to openide-loaders.jar
</description>
<class package="org.openide.text" name="PositionRef"/>
<class package="org.openide.text" name="DataEditorSupport" link="no" />
<issue number="32143"/>
</change>
<change id="Line-getDataObject">
<api name="text"/>
<summary>Line.getDataObject() removed</summary>
<version major="4" minor="3"/>
<date day="2" month="4" year="2003"/>
<author login="jtulach"/>
<compatibility addition="yes" deletion="yes" binary="incompatible" source="incompatible" semantic="compatible" deprecation="no" modification="no"/>
<description>
Due to separation of openide-loaders.jar the <code>Line.getDataObject()</code>
method had to be removed and replaced by <code>Line.getLookup</code> which
provides more general way for providing line context. The direct replacement
for the old method is <code>DataObject DataEditorSupport.findDataObject(Line)</code>.
</description>
<class package="org.openide.text" name="Line"/>
<class package="org.openide.text" name="DataEditorSupport" link="no" />
<issue number="32143"/>
</change>
<change id="new_Line-DataObject">
<api name="text"/>
<summary>Line constructor changed</summary>
<version major="4" minor="3"/>
<date day="2" month="4" year="2003"/>
<author login="jtulach"/>
<compatibility addition="yes" deletion="yes" binary="incompatible" source="incompatible" semantic="compatible" deprecation="no" modification="no"/>
<description>
Due to separation of openide-loaders.jar the <code>Line</code> and
<code>DocumentLine</code> constructors taking DataObject had to be
modified to take Lookup or plain Object instead.
</description>
<class package="org.openide.text" name="Line"/>
<class package="org.openide.text" name="DocumentLine"/>
<issue number="32143"/>
</change>
<change id="CloneableEditorSupport.messageLine">
<api name="text"/>
<summary>CloneableEditorSupport can provide display name for its Lines</summary>
<version major="4" minor="3"/>
<date day="2" month="4" year="2003"/>
<author login="jtulach"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
Added method <code>String messageLine (Line)</code> that can be
overriden to provide meaningful display name for lines produced
by this support.
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
<issue number="32143"/>
</change>
<change id="Annotatable.getText">
<api name="text"/>
<summary>Get content of Annotatable</summary>
<version major="1" minor="35"/>
<date day="25" month="9" year="2001"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
Added public abstract method
<code>Annotatable.getText()</code>. Listeners can be attached to
Annotatable.PROP_TEXT property.
</description>
<class package="org.openide.text" name="Annotatable"/>
</change>
<change id="Annotatable-isDeleted-getAnnotationCount-final">
<api name="text"/>
<summary>Annotatable.isDeleted and Annotatable.getAnnotationCount are final</summary>
<version major="1" minor="35"/>
<date day="25" month="9" year="2001"/>
<compatibility modification="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" addition="no" deletion="no">
This is not considered as incompatible change,
because the API with these methods was not published yet.
</compatibility>
<description>
The Annotatable.isDeleted and Annotatable.getAnnotationCount are final now.
</description>
<class package="org.openide.text" name="Annotatable"/>
</change>
<change id="Line.mark-deprecated">
<api name="text"/>
<summary>
<code>Line</code> methods deprecated in favor of annotations</summary>
<version major="1" minor="20"/>
<date day="9" month="7" year="2001"/>
<compatibility modification="yes" deprecation="yes" binary="compatible" source="compatible" semantic="compatible" addition="no" deletion="no"/>
<description>
Because of publication of Annotation API, all previously used methods like
<code>setBreakpoint</code>, <code>isBreakpoint</code>,
<code>markError</code>, <code>unmarkError</code>,
<code>markCurrentLine</code>, <code>unmarkCurrentLine</code>, and
<code>canBeMarkedCurrent</code> are deprecated. Use
<code>Annotation.attach()</code> and <code>detach()</code> instead.
<code>Line</code> now extends <code>Annotatable</code> abstract class.
</description>
<class package="org.openide.text" name="Line"/>
<class package="org.openide.text" name="DocumentLine"/>
</change>
<change>
<api name="text"/>
<summary>Refactoring of editor and open supports</summary>
<date day="29" month="5" year="2000"/>
<compatibility addition="yes" deprecation="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no" modification="no">
First broken, <date day="29" month="9" year="2000"/> restored backwards
compatibility.
</compatibility>
<description>
Major refactoring of <code>EditorSupport</code> and
<code>OpenSupport</code>, so that subclasses can have much finer control
over pieces of its functionality.
</description>
<class package="org.openide.text" name="EditorSupport" link="no" />
<class package="org.openide.text" name="CloneableEditorSupport"/>
<class package="org.openide.text" name="CloneableEditor"/>
<class package="org.openide.loaders" name="OpenSupport" link="no" />
<class package="org.openide.windows" name="CloneableOpenSupport" link="no" />
</change>
<change>
<api name="text"/>
<summary>Customization of editor support after creation</summary>
<date day="1" month="12" year="2000"/>
<author login=""/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
Added method <code>initializeCloneableEditor</code> to allow easier
customization of the editor after creation and also after deserialization.
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
<branch name="release31">
<date day="1" month="12" year="2000"/>
</branch>
</change>
<change>
<api name="text"/>
<summary>Can control title format for editor supports</summary>
<date day="17" month="7" year="2000"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
<code>updateTitles()</code> method was made protected final instead of
private.
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
</change>
<change>
<api name="text"/>
<summary>Can control undo/redo on editor supports</summary>
<date day="21" month="7" year="2000"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
<code>getUndoRedo()</code> method was made protected final instead of
final.
</description>
<class package="org.openide.text" name="CloneableEditorSupport"/>
</change>
<change>
<api name="text"/>
<summary><code>IndentEngine</code> a service type</summary>
<date day="23" month="6" year="2000"/>
<compatibility addition="yes" deprecation="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no" modification="no">
Until <date day="27" month="9" year="2000"/>, was incompatible
(<code>register</code> had been deleted as it is no longer useful); the
method was then restored but made deprecated.
</compatibility>
<description>
Now a <code>ServiceType</code>. A few new methods relating to lookup.
</description>
<class package="org.openide.text" name="IndentEngine"/>
</change>
<change>
<api name="text"/>
<summary><code>PrintSettings.getPageFormat</code> requires a printer job</summary>
<date day="24" month="2" year="2000"/>
<compatibility modification="yes" deprecation="yes" binary="compatible" source="compatible" semantic="compatible" addition="no" deletion="no">
First removed, later re-added but deprecated in trunk and
<code>boston</code>. User-stored settings of this class should be
backwards compatible, however code directly calling
<code>getPageFormat</code> will produce a deprecation warning. Probably no
one should be directly referring to this class or its BeanInfo outside the
package; public only because it is a system option that must be public to
appear.
</compatibility>
<description>
<code>getPageFormat</code> method now requires a <code>PrinterJob</code>
argument.
</description>
<class package="org.openide.text" name="PrintSettings" link="no"/>
</change>
<change id="Annotations-API">
<api name="text"/>
<summary>New annotations API published</summary>
<version major="1" minor="20"/>
<date day="9" month="7" year="2001"/>
<compatibility addition="yes" deprecation="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no" modification="no">
Because of publication of Annotation API, all previously used
<code>NbDocument</code> methods like <code>markError</code>,
<code>markCurrent</code>, <code>markNormal</code> are deprecated. Use
<code>addAnnotation</code> and <code>removeAnnotation</code> instead.
</compatibility>
<description>
Annotation API was published.
</description>
<class package="org.openide.text" name="Annotation"/>
<class package="org.openide.text" name="Annotatable"/>
<class package="org.openide.text" name="NbDocument"/>
</change>
<change>
<api name="text"/>
<summary>Setting colors for lines deprecated</summary>
<date day="27" month="3" year="2000"/>
<compatibility deprecation="yes" binary="compatible" source="compatible" semantic="compatible" addition="no" deletion="no" modification="no">
First removed, later re-added but deprecated in trunk and
<code>boston</code>. These classes were long disused (and should only have
ever been used by the editor module anyway, which did not need them).
</compatibility>
<description>
<code>NbDocument.COLORS</code> and <code>NbDocument.Colors</code>
deprecated.
</description>
<class package="org.openide.text" name="NbDocument"/>
</change>
<change>
<api name="text"/>
<summary>Added to javadoc an <code>IndexOutOfBoundsException</code>
can be thrown from <code>NbDocument.findLineOffset</code> method
</summary>
<date day="31" month="10" year="2001"/>
<compatibility modification="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" addition="no" deletion="no"/>
<description>
Added declaration to javadoc of the method
<code>NbDocument.findLineOffset()</code> can throw an unchecked
<code>IndexOutOfBoundsException</code>. The method could throw
the exception also before (and also other kinds of them see the issue),
but it was not declared in javadoc. This change makes it compliant
to use with standard Swing text package and also with
<code>Line.Set.getCurrent()</code> method.
</description>
<class package="org.openide.text" name="NbDocument"/>
<issue number="17144"/>
</change>
<change>
<api name="text"/>
<summary>Notifications about annotation attaching/detaching added</summary>
<version major="1" minor="38"/>
<date day="12" month="10" year="2001"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
Added protected methods
<code>Annotation.notifyAttached()</code> and
<code>Annotation.notifyDetached()</code>.
</description>
<class package="org.openide.text" name="Annotation"/>
</change>
</changes>
<htmlcontents>
<head>
<title>Change History for the Text API</title>
<link rel="stylesheet" href="prose.css" type="text/css"/>
</head>
<body>
<p class="overviewlink">
<a href="overview-summary.html">Overview</a>
</p>
<h1>Introduction</h1>
<h2>What do the Dates Mean?</h2>
<p>The supplied dates indicate when the API change was made, on the CVS
trunk. From this you can generally tell whether the change should be
present in a given build or not; for trunk builds, simply whether it
was made before or after the change; for builds on a stabilization
branch, whether the branch was made before or after the given date. In
some cases corresponding API changes have been made both in the trunk
and in an in-progress stabilization branch, if they were needed for a
bug fix; this ought to be marked in this list.</p>
<ul>
<li>The <code>release41</code> branch was made on Apr 03 '05 for use in the NetBeans 4.1 release.
Specification versions: 6.0 begins after this point.</li>
<li>The <code>release40</code> branch was made on Nov 01 '04 for use in the NetBeans 4.0 release.
Specification versions: 5.0 begins after this point.</li>
</ul>
<hr/>
<standard-changelists module-code-name="org.openide.text"/>
<hr/>
<p>@FOOTER@</p>
</body>
</htmlcontents>
</apichanges>