blob: fcc0b69a7d36098ef65943c1bd0617feccda800a [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<style type="text/css">
table.news td {
border-top: solid thin black;
}
table.news tr {
vertical-align: top;
}
table.news tr td.section {
font-size: 20px;
font-weight: bold;
}
table.news tr td.title {
vertical-align: top;
width: 30%;
font-weight: bold;
}
table.news tr td.content {
vertical-align: top;
width: 70%;
}
</style>
<title>Graphiti &quot;New and Noteworthy&quot;</title>
<link href="book.css" rel="stylesheet" type="text/css">
</head>
<body>
<h1>Graphiti &quot;New and Noteworthy&quot; for Eclipse Kepler</h1>
<p>Last revised Mai 21, 2013</p>
<p>This document describes the new development topics that were
addressed during the milestones towards the release 0.10.0 within the
Kepler release train.</p>
<!-- --------------------------------- Table ----------------------------------------- -->
<table border="0" cellpadding="10" cellspacing="0" class="news"
width="600">
<!-- ---------------------------------------- RC1 ------------------------------ -->
<tr>
<td colspan="2">
<h2>RC1</h2>
</td>
</tr>
<tr>
<td colspan="2">The main focus of this milestone was set on
bugfixing.</td>
</tr>
<tr id="bug 405710">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=405710">Bug
405710 </a></td>
<td class="content">When an executed feature reports that no
changes were done, any previously existing redo stack entries will
no longer cleared.</td>
</tr>
<tr id="bug 407510">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=407510">Bug
407510 </a></td>
<td class="content">A bug that was introduced with the diagrams
in views changes causing the background of the diagram to be gray
when the grid was disabled has been fixed.</td>
</tr>
<tr id="bug 405920">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=405920">Bug
405920 </a></td>
<td class="content">A bug causing the backgound color of a
rotated text to be ignored has been fixed.</td>
</tr>
<!-- ---------------------------------------- M7 ------------------------------- -->
<tr>
<td colspan="2">
<h2>M7</h2>
</td>
</tr>
<tr>
<td colspan="2">The main focus of this milestone was set on
bugfixing.</td>
</tr>
<tr id="bug 405314">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=405314">Bug
405314</a></td>
<td class="content">It is now less cumbersome to create a custom
implementation of DefaultBehavior and use it within a custom diagram
editor or view.</td>
</tr>
<tr id="bug 403272">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=403272">Bug
403272</a></td>
<td class="content">The location of the double click (mouse
position) is now forwarded to the double click context instance
provided to the double click feature.</td>
</tr>
<tr id="bug 401859">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=401859">Bug
401859</a></td>
<td class="content">The Graphiti diagram editor now correctly
disposes its context menu provider when the editor is closed.</td>
</tr>
<tr id="bug 399777">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=399777">Bug
399777</a></td>
<td class="content">The Graphiti framework class <i>CreateConnectionFeatureForPattern</i>
used in pattern based features with patters now offers a method to
retrieve the delegate pattern.
</td>
</tr>
<!-- ---------------------------------------- M6 ------------------------------- -->
<tr>
<td colspan="2">
<h2>M6</h2>
</td>
</tr>
<tr>
<td colspan="2">The main focus of this milestone was set on the
implementation of the Diagrams in Views feature and providing a new
API for saving diagrams as images and printing.</td>
</tr>
<tr id="bug 352120">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=352120">Diagrams in Views</a></td>
<td class="content">Graphiti now supports also diagrams in views
or on plain composites. Before it was only possible to have diagrams
within editors. Common functionality has been extracted to a new <i>DiagramBehavior</i>
class that can be re-used between editors, view and composites. The
standard <i>DiagramEditor</i> has been adapted along with it's super
interfaces to use the new functionality. Also new base classes have
been introduced that allow clients to create their own diagram views
or composites. <b>Note that this is an incompatible API change</b>.
The changes that clients need to take to adapt to the new Graphiti
version are described <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=352120#c30">
in comment 30</a> in the bug.
</td>
</tr>
<tr id="bug 370888">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=370888">API
Access to Export and Print</a></td>
<td class="content">Graphiti now offers an official API that
allows clients to modify the save as image and print functionality.
The according Graphiti features provide now the default
implementation that has previously been part of internal classes and
can be subclassed to modify parts or the complete functionality.</td>
</tr>
<tr id="bug 394315">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=394315">Enable
Injecting Behavior Objects in <i>DiagramEditor</i>
</a></td>
<td class="content">Graphiti now allows clients to inject the
behavior objects used in <i>DiagramEditor</i> and <i>DiagramBeahvior</i>.
Before it was only possible to exchange them by overriding their
creation method.
</td>
</tr>
<tr id="bug 403109">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=403109">Bug
403109</a></td>
<td class="content">This bug appeared after the diagrams in
views changes and caused that clients were no longer able to create
property sheets for their diagram editors, because they were not
able to retrieve the diagram container. This is now possible again
by introducing an adapt mechanism.</td>
</tr>
<tr id="bug 403112">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=403112">Bug
403112</a></td>
<td class="content">This bug appeared after the diagrams in
views changes and caused that direct editing was not possible for
diagrams in views when no editor was currently open.</td>
</tr>
<!-- ---------------------------------------- M5 ------------------------------- -->
<tr>
<td colspan="2">
<h2>M5</h2>
</td>
</tr>
<tr>
<td colspan="2">Some smaller enhancements have been implemented,
but the main focus for this milestone has been set mainly on
bugfixing.</td>
</tr>
<tr id="bug 396793">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=396793">Text
Decorators</a></td>
<td class="content">Graphiti now supports a new decorator type:
text decorators. Shapes can now be marked with custom texts without
diagram modifications. The text decorations can be placed at a
defined location on the shape and allow a custom font, font size and
custom colors to be used.</td>
</tr>
<tr id="bug 396893">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=396893">Configurable
Drop Target Listeners</a></td>
<td class="content">The registration of drop target listeners
can now influenced by clients inside the diagram editor. The class <i>DiagramEditor</i>
now provides new protected methods that clients can override to
change which drop target listeners shall be registered or not.
</td>
</tr>
<tr id="bug 390331">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=390331">Bug
390331 </a></td>
<td class="content">A bug in the call hierarchy of patterns has
been fixed that caused the <i>preDelete</i>, <i>postDelete</i>, <i>preRemove</i>
and <i>postRemove</i> methods in the pattern not to be called. <b>Note:</b>
this is not an API change, but may cause a <b>change in the
behavior</b> for those clients that already overrode those methods
(previously had no effect) or established pre- and post hooks in
other ways for their patterns.
</td>
</tr>
<tr id="bug 396026">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=396026">Bug
396026 </a></td>
<td class="content">Ensured that the pattern APIs (with the
exception of the configuration stuff and ID patterns) are now
official API and no longer have the experimental header.</td>
</tr>
<tr id="bug 396247">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=396247">Bug
396247 </a></td>
<td class="content">A bug in the correlation between diagram
types and image providers has been fixed. Before it was possible for
any diagram type to use all images from all image providers no
matter if the image provider was registered by the diagram type.
This could have caused issues with respect to the sequence in which
diagrams were opened. <b>Note:</b> this is a <b>change in the
API for retrieving images</b>.
</td>
</tr>
<tr id="bug 397303">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=397303">Bug
397303 </a></td>
<td class="content">An accessibility issue with showing the
context button pad in high contrast mode has been fixed (pad
background and border were painted in standard colors).</td>
</tr>
<tr id="bug 397346">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=397346">Bug
397346 </a></td>
<td class="content">A focus issue within direct editing has been
fixed.</td>
</tr>
<!-- ---------------------------------------- M4 ------------------------------- -->
<tr>
<td colspan="2">
<h2>M4</h2>
</td>
</tr>
<tr>
<td colspan="2">The main focus for this milestone has been set
on bugfixing.</td>
</tr>
<tr id="bug 396529">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=396529">Bug
396529</a></td>
<td class="content">Graphiti enabled the correct usage of the
ICU4J library version 50.x brought in by the latest Eclipse platform
via its dependencies GEF and EMF Validation.</td>
</tr>
<tr id="bug 393074">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=393074">Bug
393074</a></td>
<td class="content">The progress monitor parameter passes in the
the saveDiagram() method in DefaultPersistencyBehavior is not
correctly used within the method.</td>
</tr>
<tr id="bug 393113">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=393113">Bug
393113</a></td>
<td class="content">Selecting a connection in e.g. the Eclipse
Project Explorer with enabled editor linking will now select and
reveal the connection in the opened diagram editor in case it exists
in the diagram.</td>
</tr>
<tr id="bug 394801">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=394801">Bug
394801</a></td>
<td class="content">Properties passed in the AddContext will now
correctly be passed to the called add feature.</td>
</tr>
<tr id="bug 392309">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=392309">Bug
392309</a></td>
<td class="content">Showing a tooltip that is too long to fit
into the viewport of the diagram will no longer cause that scroll bars
appear.</td>
</tr>
<!-- ---------------------------------------- M3 ------------------------------- -->
<tr>
<td colspan="2">
<h2>M3</h2>
</td>
</tr>
<tr>
<td colspan="2">The main focus for this milestone has been set
on bugfixing and implementing round-offs.</td>
</tr>
<tr id="bug 385193">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=385193">ID Pattern</a></td>
<td class="content">Graphiti offers a new pattern base class, so called ID
patters. They offer the possibility to define shape structures in a diagram
and tag them using IDs. These IDs are later used by the framework to
identify individual shapes again and e.g. trigger update and layout operations
directly for the individual parts. This lowers the effort clients need to
invest into those functionality a lot.
</td>
</tr>
<tr id="bug 391523">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=391523">Support
for SelectionInfo</a></td>
<td class="content">The callback methods for providing <i>ISelectionInfo</i>
objects to influence the way graphiti highlights selected objects
has been reworked. It now supports shapes, anchors and connections.
</td>
</tr>
<tr id="bug 373299">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=373299">Support
for rich text</a></td>
<td class="content">Graphiti text objects and tooltips now
support displaying rich text. Texts may be formatted using different
colors, fonts, font sizes and may be highlighted in several ways.</td>
</tr>
<tr id="bug 323349">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323349">Shortcuts
for Triggering Features</a></td>
<td class="content">It is now possible to register shortcuts to
trigger features. Any keybinding can be defined and associated with
a certain feature so that it will be triggered when a user presses
that key combintaion.</td>
</tr>
<tr id="bug 365172">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=365172">Bug
365172</a></td>
<td class="content">The modification of the line style using an
<i>ISelectionInfo</i> object is now supported.
</td>
</tr>
<tr id="bug 389379">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=389379">Bug
389379</a></td>
<td class="content">A bug in the editor dirty state handling has
been fixed that caused an editor to show the dirty mark although no
changes were done; also the undo/redo stack of the editor might have
been mixed up by this bug.</td>
</tr>
<tr id="bug 391506">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=391506">Bug
391506</a></td>
<td class="content">A bug in the editor feature processing was
fixed that caused an editor to get dirty in case a connection
creation feature was abandoned.</td>
</tr>
<!-- ---------------------------------------- M2 ------------------------------- -->
<tr>
<td colspan="2">
<h2>M2</h2>
</td>
</tr>
<tr>
<td colspan="2">The main focus for this milestone has been set
on bugfixing and implementing round-offs.</td>
</tr>
<tr id="bug 376585">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=376585">Removal
of Deprecated API</a></td>
<td class="content">The deprecated methods in the Graphiti API
have been removed. This is an potentially incompatible <b>API
change</b>, although clients should have adapted their coding already
some time ago.
</td>
</tr>
<tr id="bug 385190">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=385190">New
Pattern Constructor</a></td>
<td class="content">A new constructor with no parameters has
been introduced for Graphiti patterns.</td>
</tr>
<tr id="bug 388119">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=388119">New
Filesystem Example</a></td>
<td class="content">The filesystem example shown at the Eclipse
Juno demo camps in June has been added as an additional example of
Graphiti. It serves as an example of how to use patterns for
building a Graphiti editor.</td>
</tr>
<tr id="bug 382928">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=382928">Gradient
Definitions</a></td>
<td class="content">An additional and more advanced example for
gradient definitions has been added to the filesystem example.</td>
</tr>
<tr id="bug 389426">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=389426">Factory
Method for Workspace Synchronizer</a></td>
<td class="content">Clients might have the need to use a custom
EMF workspace synchronizer to react differently on external file
change events. By providing a special factory method for the
instance to use in <i>DefaultUpdateBehavior</i> this scenario has
been eased.
</td>
</tr>
<tr id="bug 389380">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=389380">Bug
389380</a></td>
<td class="content">A bug in the undo stack handling in the
Graphiti editor has been fixed that caused the wrong feature command
to appear at the top of the undo stack under certain conditions.</td>
</tr>
<tr id="bug 388213">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=388213">Bug
388213 </a></td>
<td class="content">Two import statements that required a
dependency to <i>org.eclipse.ui</i> to be required have been
removed. The dependecy causes issues with using Graphiti in an
Eclipse 4 based RCP application.
</td>
</tr>
<tr id="bug 388335">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=388335">Bug
388335 </a></td>
<td class="content">Fixed a wrong JavaDoc comment about
potential future extensions to the Graphiti undo/redo handling that
actually already exist.</td>
</tr>
<tr id="bug 388211">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=388211">Bug
388211 </a></td>
<td class="content">The new plug-in wizard to create a Graphiti
diagram editor always added a dependency to <i>org.eclipse.ui</i>,
although it is only needed when an activator class should be
generated. In case no activator is generated the dependency will now
not be added any more. This resolved some issues with using Graphiti
for creating an Eclipse 4 based RCP application.
</td>
</tr>
<tr id="bug 387971">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=387971">Bug
387971 </a></td>
<td class="content">A bug in the action handling which caused
that context menu entries like copy and paste did not work when the
Graphiti Diagram Editor was embedded inside a multi page editor has
been fixed.</td>
</tr>
<!-- ---------------------------------------- M1 ------------------------------- -->
<tr>
<td colspan="2">
<h2>M1</h2>
</td>
</tr>
<tr>
<td colspan="2">The main focus for this milestone has been set
on bugfixing and implementing round-offs. Besides project related
tasks were focused.</td>
</tr>
<tr id="bug 377871">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=377871">Enable
Gerrit</a></td>
<td class="content">The Gerrit code review system has been
enabled for the Graphiti Git repository.</td>
</tr>
<tr id="bug 383768">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=383768">Add
API for configuration provider</a></td>
<td class="content">The Graphiti configuration provider is now
part of the official API. Clients can access it through the public
method getConfigurationProvider in the diagram editor class.</td>
</tr>
<tr id="bug 386913">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=386913">Single-Click
Feature</a></td>
<td class="content">Clients can now register a 'single-click
feature' analog to the already possible 'double-click feature'. By
doing this any custom feature can be started on clicking once with
the mouse onto a shape.</td>
</tr>
<tr id="bug 384330">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=384330">Bug
384330</a></td>
<td class="content">A wrong method reference has been fixed in
the Graphiti documentation.</td>
</tr>
<tr id="bug 383512">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=383512">Bug
383512</a></td>
<td class="content">A bug when moving a polyline has been fixed
that lead to wrong positioning of the moved shape when the line does
not start at position 0, 0.</td>
</tr>
<tr id="bug 380439">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=380439">Bug
380439</a></td>
<td class="content">The DefaultRemoveFeature now also removes
connections of nested shapes.</td>
</tr>
<tr id="bug 385586">
<td class="title"><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=385586">Bug
385586</a></td>
<td class="content">A bug causing the remove, delete and update
entries to be always shown in the context menu and context button
pad has been fixed. The entries are now hidden when they are not
available and disabled when they cannot be executed.</td>
</tr>
</table>
<!-- ---------------------------------------- END OF TABLE ------------------------------- -->
<p>&nbsp;</p>
</body>
</html>