blob: 0387d666912029af1daba938959ad757861e6fe0 [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.
-->
<?xml-stylesheet type="text/xml" href="../../nbbuild/javadoctools/apichanges.xsl"?>
<!DOCTYPE apichanges PUBLIC "-//NetBeans//DTD API changes list 1.0//EN" "../../nbbuild/javadoctools/apichanges.dtd">
<!--
INFO FOR PEOPLE ADDING CHANGES:
Check the DTD (apichanges.dtd) for details on the syntax. You do not
need to regenerate the HTML, as this is part of Javadoc generation; just
change the XML. Rough syntax of a change (several parts optional):
<change>
<api name="compiler"/>
<summary>Some brief description here, can use <b>XHTML</b></summary>
<version major="1" minor="99"/>
<date day="13" month="6" year="2001"/>
<author login="jrhacker"/>
<compatibility addition="yes"/>
<description>
The main description of the change here.
Again can use full <b>XHTML</b> as needed.
</description>
<class package="org.openide.compiler" name="DoWhatIWantCompiler"/>
<issue number="14309"/>
</change>
Also permitted elements: <package>, <branch>. <version> is API spec
version, recommended for all new changes. <compatibility> should say
if things were added/modified/deprecated/etc. and give all information
related to upgrading old code. List affected top-level classes and
link to issue numbers if applicable. See the DTD for more details.
Changes need not be in any particular order, they are sorted in various
ways by the stylesheet anyway.
Dates are assumed to mean "on the trunk". If you *also* make the same
change on a stabilization branch, use the <branch> tag to indicate this
and explain why the change was made on a branch in the <description>.
Please only change this file on the trunk! Rather: you can change it
on branches if you want, but these changes will be ignored; only the
trunk version of this file is important.
Deprecations do not count as incompatible, assuming that code using the
deprecated calls continues to see their documented behavior. But do
specify deprecation="yes" in <compatibility>.
This file is not a replacement for Javadoc: it is intended to list changes,
not describe the complete current behavior, for which ordinary documentation
is the proper place.
-->
<apichanges>
<!-- First, a list of API names you may use: -->
<apidefs>
<apidef name="general">General</apidef>
<!-- etc. -->
</apidefs>
<!-- ACTUAL CHANGES BEGIN HERE: -->
<changes>
<change id="TypedTextInterceptorIndent">
<summary>Ability to indent text set to TypedTextInterceptor</summary>
<version major="2" minor="26"/>
<date day="15" month="9" year="2019"/>
<author login="jlahoda"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes" deprecation="no" deletion="no" modification="no" />
<description>
<p>Added TypedTextInterceptor.MutableContext.setText overload, which
optionally re-indents the provided text.</p>
</description>
<class name="TypedTextInterceptor" package="org.netbeans.spi.editor.typinghooks"/>
</change>
<change id="PrependedTextOpt">
<summary>Prepended text for highlights</summary>
<version major="2" minor="24"/>
<date day="14" month="5" year="2019"/>
<author login="jlahoda"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes" deprecation="no" deletion="no" modification="no" />
<description>
<p>If AttributeSet returned from HighlightsSequence contains key "virtual-text-prepend"
with a value of type String, the UI may optionally render the value as a
virtual text before the text of the highlight. It is recommended to make the
span of length 1, to avoid problems when the AttributeSet with "virtual-text-prepend"
is merged with other AttributeSets, which could lead to duplication.</p>
</description>
<class name="HighlightsSequence" package="org.netbeans.spi.editor.highlighting"/>
</change>
<change id="EditorActionRegistration.category">
<summary>Added category to EditorActionRegistration</summary>
<version major="2" minor="15"/>
<date day="16" month="7" year="2016"/>
<author login="markiewb"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes" deprecation="no" deletion="no" modification="yes" />
<description>
<p>Allow to set the keymap-category for an action registered using @EditorActionRegistration.</p>
</description>
<class name="EditorActionRegistration" package="org.netbeans.api.editor"/>
<issue number="171261"/>
</change>
<change id="EditorCaret-bias">
<summary>Position.Bias support added to EditorCaret</summary>
<version major="2" minor="14"/>
<date day="25" month="5" year="2016"/>
<author login="mmetelka"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes" deprecation="no" deletion="no" modification="yes" />
<description>
<p>
CaretInfo.getDotBias() and CaretInfo.getMarkBias() added together
with other methods and parameters for bias manipulation to properly handle bidirectional text.
</p>
</description>
<class name="EditorCaret" package="org.netbeans.api.editor.caret"/>
<issue number="259023"/>
</change>
<change id="SplitOffsetHighlightsSequence">
<summary>Renamed ShiftHighlightsSequence to SplitOffsetHighlightsSequence</summary>
<version major="2" minor="13"/>
<date day="23" month="5" year="2016"/>
<author login="mmetelka"/>
<compatibility source="compatible" binary="compatible" semantic="compatible" modification="yes"/>
<description>
<p>
Renamed ShiftHighlightsSequence to SplitOffsetHighlightsSequence
to and its getStartShift() to getStartSplitOffset() for better description
and getEndShift() to getEndSplitOffset().
</p>
</description>
<class name="SplitOffsetHighlightsSequence" package="org.netbeans.spi.editor.highlighting"/>
<issue number="257889"/>
</change>
<change id="EditorUtilities.addCaretUndoableEdit">
<summary>EditorUtilities.addCaretUndoableEdit added</summary>
<version major="2" minor="11"/>
<date day="19" month="4" year="2016"/>
<author login="mmetelka"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes" deprecation="no" deletion="no" modification="no" />
<description>
<p>
EditorUtilities.addCaretUndoableEdit allows actions to remember caret position
during an atomic transaction over a document.
</p>
</description>
<class name="EditorUtilities" package="org.netbeans.api.editor"/>
<issue number="258798"/>
</change>
<change id="editor-caret-filters">
<summary>Support for Navigation Filters, and caret move origins</summary>
<version major="2" minor="10"/>
<date day="14" month="4" year="2016"/>
<author login="sdedic"/>
<compatibility binary="compatible" semantic="compatible" source="compatible" addition="yes" deprecation="no" deletion="no"/>
<description>
<p>
Swing NavigationFilters implemented on top of the Caret API. Caret API caller may describe the operation which causes
the caret to be moved, so that filters and caret listeners can react on specific action groups.
</p>
<p>
A boilerplate NavigationFilter is provided, that supports chaining of filters on the caret
</p>
</description>
<class name="CaretMoveContext" package="org.netbeans.api.editor.caret"/>
<class name="EditorCaret" package="org.netbeans.api.editor.caret"/>
<class name="EditorCaretEvent" package="org.netbeans.api.editor.caret"/>
<class name="MoveCaretsOrigin" package="org.netbeans.api.editor.caret"/>
<class name="NavigationFilterBypass" package="org.netbeans.spi.editor.caret"/>
<class name="CascadingNavigationFilter" package="org.netbeans.spi.editor.caret"/>
<issue number="258824"/>
</change>
<change id="StickyWindowSupport">
<summary>Support for sticky windows in the editor</summary>
<version major="2" minor="9"/>
<date day="18" month="4" year="2016"/>
<author login="ralphbenjamin"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes" deprecation="no" deletion="no" modification="no" />
<description>
<p>
Support for Sticky Windows in the editor. JComponents can be
added to a layer on top of the editor. Components will
update their vertical position on editor changes.
</p>
</description>
<class name="StickyWindowSupport" package="org.netbeans.api.editor"/>
<issue number="258764"/>
</change>
<change id="editor-registry-find-component">
<summary>Added EditorRegistry.findComponent</summary>
<version major="2" minor="8"/>
<date day="6" month="4" year="2016"/>
<author login="mmetelka"/>
<compatibility binary="compatible" semantic="compatible" source="compatible" addition="yes" deprecation="no" deletion="no"/>
<description>
<p>
The EditorRegistry.findComponent() allows caret related undo edits
to be undone in a focused component (for multiple views over a single document).
</p>
<p>
Also simplified naming of EditorActionNames.addCaretUp and addCaretDown.
</p>
</description>
<class name="EditorRegistry" package="org.netbeans.api.editor" />
<class name="EditorActionNames" package="org.netbeans.api.editor" />
<issue number="258377"/>
</change>
<change id="editor-caret">
<summary>Caret API introduced</summary>
<version major="2" minor="7"/>
<date day="22" month="2" year="2016"/>
<author login="mmetelka"/>
<author login="ralphbenjamin"/>
<compatibility binary="compatible" semantic="compatible" source="compatible" addition="yes" deprecation="no" deletion="no"/>
<description>
<p>
The Caret API was introduced to allow working with multiple
carets within one document.
</p>
</description>
<class name="EditorActionNames" package="org.netbeans.api.editor" />
<class name="EditorUtilities" package="org.netbeans.api.editor" />
<package name="org.netbeans.api.editor.caret" />
<issue number="257893"/>
</change>
<change id="occurrences-names">
<summary>Added IDs for goto prev/next occurrence actions</summary>
<version major="2" minor="6"/>
<date day="30" month="1" year="2016"/>
<author login="sdedic"/>
<compatibility binary="compatible" semantic="compatible" source="compatible" addition="yes"/>
<description>
<p>
Many languages define their own actions and support for navigating between symbol occurrences.
Common action name allows them to be presented and configured as one action in IDE configuration.
</p>
</description>
<class name="EditorActionNames" package="org.netbeans.api.editor"/>
<issue number="194356"/>
</change>
<change id="shift-highlights-sequence">
<summary>Extended HightlightsSequence by ShiftHighlightsSequence</summary>
<version major="2" minor="5"/>
<date day="22" month="2" year="2016"/>
<author login="mmetelka"/>
<compatibility binary="compatible" semantic="compatible" source="compatible" addition="yes" deprecation="no" deletion="no"/>
<description>
<p>
Highlights sequence that supports shifts in addition to regular offsets.
This allows to color individual spaces within a tab character
or to color extra virtual characters beyond a newline character.
</p>
</description>
<issue number="257889"/>
</change>
<change id="releasable-highlights-container">
<summary>ReleasableHighlightsContainer added</summary>
<version major="2" minor="4"/>
<date day="27" month="8" year="2015"/>
<author login="mmetelka"/>
<compatibility binary="compatible" semantic="compatible" source="compatible" addition="yes" deprecation="no" deletion="no"/>
<description>
<p>
Allows highlights containers to be notified that they are no longer being used by highlighting manager.
</p>
</description>
<issue number="254701"/>
</change>
<change id="editor-document-split">
<summary>Document handling split</summary>
<version major="2" minor="0"/>
<date day="20" month="5" year="2013"/>
<author login="sdedic"/>
<compatibility binary="compatible" semantic="compatible" source="incompatible" addition="no" deprecation="no" deletion="no"/>
<description>
<p>
Document data handling and implementation was separated into <code>editor.document</code> module
</p>
</description>
<issue number="244679"/>
</change>
<change id="typinghooks-CamelCase-spi-added">
<summary>Typing Hooks Camel Case SPI added</summary>
<version major="1" minor="79"/>
<date day="16" month="4" year="2013"/>
<author login="mkristofic"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
Typing Hooks Camel Case SPI is addition to Typing Hooks. it allows interception of various key events
that are processed in the editor. The SPI is a replacement for
subclassing editor actions such as <code>RemoveWordNextAction</code>, <code>PreviousCamelCasePosition</code>, etc.
</description>
<issue number="217163"/>
</change>
<change id="EditorLibDeprecation.SidebarFactory">
<summary>SidebarFactory interface adopted</summary>
<version major="1" minor="77"/>
<date day="8" month="3" year="2013"/>
<author login="sdedic"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
<p>The interface <code>org.netbeans.spi.editor.SideBarFactory</code> was
adopted from the legacy <code>editor.lib</code> module, with unchanged semantic.
The original interface was deprecated.
</p>
</description>
<class name="SideBarFactory" package="org.netbeans.spi.editor"/>
<issue number="226877"/>
</change>
<change id="AbstractEditorAction.in.SPI">
<summary>AbstractEditorAction made part of editor SPI</summary>
<version major="1" minor="76"/>
<date day="1" month="3" year="2013"/>
<author login="mmetelka"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
<p>
AbstractEditorAction made part of editor SPI by making org.netbeans.spi.editor a public package.
</p>
</description>
<issue number="225792"/>
</change>
<change id="EditorActionRegistration.noKeyBinding.noIconInMenu">
<summary>Added EditorActionRegistration.noKeyBinding and EditorActionRegistration.noIconInMenu</summary>
<version major="1" minor="75"/>
<date day="17" month="2" year="2013"/>
<author login="mmetelka"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
<p>
Added EditorActionRegistration.noKeyBinding and EditorActionRegistration.noIconInMenu fields
into EditorActionRegistration annotation.
</p>
</description>
<issue number="226220"/>
</change>
<change id="NavigationHistoryClassAdded">
<summary>NavigationHistory class added</summary>
<version major="1" minor="74"/>
<date day="15" month="2" year="2013"/>
<author login="mkristofic"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
<p>
Added NavigationHistory and NavigationHistory.Waypoint classes. It enables to add position to
edit history. It also enables get edit history and look on last edits.
</p>
</description>
<issue number="225808"/>
</change>
<change id="TypedTextInterceptor.getReplacedText">
<summary>OnSaveTask interface added</summary>
<version major="1" minor="73"/>
<date day="30" month="1" year="2013"/>
<author login="mkristofic"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
<p>
Added method getReplacedText() in TypedTextInterceptor to get replaced text after it's removed.
This enables to use this text in some typing actions.
</p>
</description>
<issue number="225293"/>
</change>
<change id="OnSaveTask">
<summary>OnSaveTask interface added</summary>
<version major="1" minor="66"/>
<date day="5" month="9" year="2012"/>
<author login="mmetelka"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
<p>
Added OnSaveTask interface which allows modules to register
tasks into MimeLookup that will be performed right before document saving.
</p>
</description>
<issue number="217904"/>
</change>
<change id="UndoableEditWrapper">
<summary>UndoableEditWrapper interface added</summary>
<version major="1" minor="60"/>
<date day="24" month="4" year="2012"/>
<author login="mmetelka"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
<p>
Added UndoableEditWrapper interface which allows wrapping
of document-generated undoable edit by custom wrapping undoable edit(s).
</p>
</description>
<issue number="204828"/>
</change>
<change id="EditorDocumentUtils.runExclusive">
<summary>EditorDocumentUtils.runExclusive method added</summary>
<version major="1" minor="58"/>
<date day="27" month="3" year="2012"/>
<author login="mmetelka"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
<p>
Added EditorDocumentUtils.runExclusive(Runnable) method for gaining
exclusive access to document without making any document mutations.
</p>
</description>
<issue number="206907"/>
</change>
<change id="EditorActionRegistration-weight">
<summary>Add "weight" attribute to EditorActionRegistration.</summary>
<version major="1" minor="53"/>
<date day="14" month="11" year="2011"/>
<author login="mmetelka"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
<p>
Add "weight" attribute to EditorActionRegistration annotation
to allow for a clean actions overriding.
</p>
</description>
<issue number="199823"/>
</change>
<change id="zoom-text-action-names-added">
<summary>Zoom text actions added</summary>
<version major="1" minor="45"/>
<date day="16" month="7" year="2011"/>
<author login="mmetelka"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
Zoom text actions allow to increase/decrease default font size
by Ctrl+Wheel or by actions (defined in editor.actions module).
</description>
<issue number="41807"/>
</change>
<change id="typinghooks-spi-added">
<summary>Typing Hooks SPI added</summary>
<version major="1" minor="31"/>
<date day="5" month="8" year="2010"/>
<author login="vstejskal"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
Typing Hooks SPI allows interception of various key typed events
that are processed in the editor. The SPI is a replacement for
subclassing editor actions such as <code>DefaultKeyTypedAction</code>,
<code>InsertBreakAction</code>, etc.
</description>
<issue number="152655"/>
</change>
<change id="added-line-column-based-dialog-bindings">
<summary>Adding line/column based dialog bindings</summary>
<version major="1" minor="24"/>
<date day="26" month="3" year="2010"/>
<author login="vstejskal"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
Added <code>DialogBinding.bindComponentToFile(FileObject fileObject, int line, int column, int length, JTextComponent component)</code>
and <code>DialogBinding.bindComponentToDocument(Document document, int line, int column, int length, JTextComponent component)</code>.
</description>
<issue number="181523"/>
</change>
<change id="added-toggleNonPrintableCharacters">
<summary>EditorActionNames.toggleNonPrintableCharacters added.</summary>
<version major="1" minor="20"/>
<date day="4" month="3" year="2010"/>
<author login="vstejskal"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
Added EditorActionNames.toggleNonPrintableCharacters action name.
</description>
<issue number="4619"/>
</change>
<change id="added-component-removed-property">
<summary>EditorRegistry.COMPONENT_REMOVED_PROPERTY added.</summary>
<version major="1" minor="13"/>
<date day="1" month="7" year="2009"/>
<author login="dbalek"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>EditorRegistry.COMPONENT_REMOVED_PROPERTY is fired when a component is removed from
component hierarchy.
</description>
</change>
<change id="added-dialogbinding">
<summary>DialogBinding added</summary>
<version major="1" minor="11"/>
<date day="15" month="5" year="2009"/>
<author login="dbalek"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>DialogBinding allows for content of some text component to be virtually placed
to the given offset inside of a file or document. This way, the necessary context is
provided for code completion and similar features to work in any text component.
</description>
<class package="org.netbeans.api.editor" name="DialogBinding"/>
<issue number="163769"/>
</change>
<change id="added-editoractionregistration">
<summary>EditorActionRegistration annotation added</summary>
<version major="1" minor="10"/>
<date day="7" month="4" year="2009"/>
<author login="mmetelka"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
EditorActionRegistration allows to easily register an editor action
into the list of actions of an editor kit. It also allows a lazy
action's class loading (more details in javadoc).
</description>
<class package="org.netbeans.api.editor" name="EditorActionRegistration"/>
<issue number="150875"/>
</change>
<change id="added-codegen-spi">
<summary>Code Generation SPI added</summary>
<version major="1" minor="8"/>
<date day="30" month="4" year="2008"/>
<author login="dbalek"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
The Code Generation SPI consists of two interfaces.
The <code>CodeGenerator</code> implementations registered for
various mime types serve for creating code snippets and inserting
them into documents on the Insert Code editor action invocation.
The <code>CodeGeneratorContextProvider</code> implementations
registered for the mime types could provide the respective
CodeGenerators with an additional context information.
</description>
<issue number="134239"/>
</change>
<change id="added-HighlightAttributeValue">
<summary>HighlightAttributeValue interface added</summary>
<version major="1" minor="5"/>
<date day="13" month="9" year="2007"/>
<author login="vstejskal"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
The <code>HighlightAttributeValue</code> allows specifying highlights
with attributes, which value is lazily evaluated at the time when
the attrbute is used. For example when specifying tooltips.
</description>
<issue number="107107"/>
</change>
<change id="added-EditorRegistry">
<summary>EditorRegistry added</summary>
<version major="1" minor="4"/>
<date day="7" month="6" year="2007"/>
<author login="mmetelka"/>
<compatibility binary="compatible" source="compatible" semantic="compatible" addition="yes"/>
<description>
The <code>EditorRegistry</code> allows to get focused and last focused text component
and list of all registered components and it allows to listen for currently focused
component and changes of documents in it.
</description>
<issue number="103235"/>
</change>
<change id="removed-AttributesUtilities">
<summary>AttributesUtilities removed</summary>
<version major="1" minor="3"/>
<date day="26" month="1" year="2007"/>
<author login="vstejskal"/>
<compatibility binary="incompatible" source="incompatible" semantic="incompatible" deletion="yes"/>
<description>
The <code>AttributesUtilities</code> class has been moved to
<code>editor/settings</code> module.
</description>
</change>
<change id="created">
<summary>editor/lib2 was created.</summary>
<version major="1" minor="0"/>
<date day="1" month="8" year="2006"/>
<author login="mmetelka"/>
<compatibility binary="compatible" source="compatible" semantic="compatible"/>
<description>
The module was created.
</description>
</change>
</changes>
<!-- Now the surrounding HTML text and document structure: -->
<htmlcontents>
<!-- Generated from apichanges.xml -->
<head>
<title>Change History for the Editor Library 2 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>
<p>This document lists changes made to the <a href="overview-summary.html">Editor Library 2 API</a>.</p>
<!-- The actual lists of changes, as summaries and details: -->
<hr/>
<standard-changelists module-code-name="org.netbeans.modules.editor.lib2/1"/>
<hr/><p>@FOOTER@</p>
</body>
</htmlcontents>
</apichanges>