blob: 10ea67a529737603741a05d98b711b91279a9aaf [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, this will be done periodically; just
change the XML. If you can, validate the XML against the DTD, if not
do not worry about it. 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>
<!-- org.netbeans.api.editor.fold -->
<apidef name="api">Fold API</apidef>
<!-- org.netbeans.spi.editor.fold -->
<apidef name="spi">Fold SPI</apidef>
</apidefs>
<!-- ACTUAL CHANGES BEGIN HERE: -->
<changes>
<change id="fold-api-enhancements">
<api name="api"/>
<summary>Extensible FoldTypes, enhanced support for fold updates</summary>
<version major="1" minor="35"/>
<date day="12" month="3" year="2013"/>
<author login="sdedic"/>
<compatibility source="compatible" binary="compatible" semantic="compatible" addition="yes"/>
<description>
<p>
<code>FoldTypes</code> can be defined for a <i>mime type</i> by <code>FoldTypeProviders</code>. They
can form a type hierarchy. <code>FoldUtilities</code> provide methods to check fold enablement and
available FoldTypes. Working directly with Preferences is not advised.
</p>
<p>
Fold can provide offsets to start and end of its content excluding <i>guard areas</i>. <code>FoldingSupport</code>
provides factories for comment-driven <code>FoldManager</code> and for fold <code>ContentReader</code> capable
of reading javadoc-style comments or similar.
</p>
<p>
<code>FoldOperation</code> allows to <code>update</code> folds with <code>FoldInfos</code>, removing, adding
or updating Folds as necessary. Existing FoldManagers can be simplified. Folds can be defined wihtout
initial state - the state will be determined form the options by the infrastructure. All folds defined
by a FoldManager can be retrieved from <code>FoldOperation.foldIterator()</code>, even though they are
blocked.
</p>
</description>
<class name="FoldTypeProvider" package="org.netbeans.spi.editor.fold"/>
<class name="FoldInfo" package="org.netbeans.spi.editor.fold"/>
<class name="FoldType" package="org.netbeans.api.editor.fold"/>
<class name="Fold" package="org.netbeans.api.editor.fold"/>
<class name="FoldUtilities" package="org.netbeans.api.editor.fold"/>
<class name="FoldingSupport" package="org.netbeans.api.editor.fold"/>
<issue number="226413"/>
</change>
<change id="fold-editorlib-separation">
<api name="api"/>
<summary>Fold UI separation from Editor Library</summary>
<version major="1" minor="34"/>
<date day="8" month="3" year="2013"/>
<author login="sdedic"/>
<compatibility source="compatible" binary="compatible" semantic="compatible" deletion="no" addition="yes"/>
<description>
<p>
<code>FoldHierarchyMonitor</code> was introduced to allow hooking into UI when
a FoldHierarchy is produced for a JTextComponent. The 'active' flag is provided on
the <code>FoldHierarchy</code> to determine whether the hierarchy be popuplated with folds
at all.
</p>
<p>
Using <code>FoldingSupport</code> utility class, clients can create instance of
<code>FoldManager</code> that creates folds based on comments, previously <code>CustomFoldManager</code>
in editor.lib module.
</p>
</description>
<class name="FoldHierarchy" package="org.netbeans.api.editor.fold"/>
<class name="FoldingSupport" package="org.netbeans.api.editor.fold"/>
<class name="FoldHierarchyMonitor" package="org.netbeans.spi.editor.fold"/>
<issue number="226368"/>
<issue number="226413"/>
</change>
<change id="FoldOperation-owns-added">
<api name="api"/>
<summary>FoldOperation.owns(Fold) added</summary>
<version major="1" minor="8"/>
<date day="3" month="3" year="2008"/>
<author login="mmetelka"/>
<compatibility source="compatible" binary="compatible" semantic="compatible" deletion="no" addition="yes" modification="no"/>
<description>
<p>
Added FoldOperation.owns(Fold) to check whether fold was produced
by a particular FoldOperation.
</p>
</description>
<issue number="108030"/>
</change>
</changes>
<htmlcontents>
<!--
NO NO NO NO NO!
==============> DO NOT EDIT ME! <======================
AUTOMATICALLY GENERATED FROM APICHANGES.XML, DO NOT EDIT
SEE editor/fold/apichanges.xml
-->
<head>
<title>Fold API Changes by Date</title>
<link rel="stylesheet" href="prose.css" type="text/css"/>
<meta name="CATEGORY" content="OtherDevelopmentDoc"/>
<meta name="DESCRIPTION" content="A cross-indexed list of all changes made to the Fold API."/>
</head>
<body>
<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>
<!-- The actual lists of changes, as summaries and details: -->
<hr/><standard-changelists module-code-name="org.netbeans.modules.editor.fold/1"/>
</body>
</htmlcontents>
</apichanges>