Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "GEF/New and Noteworthy/3.10"
(→Add support for execution transactions (M3)) |
|||
Line 23: | Line 23: | ||
=== Redoing Commands (M2) === | === Redoing Commands (M2) === | ||
− | Added <code>Command#canRedo()</code>, which by default delegates to <code>Command#canExecute()</code> but can be overwritten to decide whether a command is redoable or not. The <code>CommandStack</code> now evaluates this when checking of the command on its top can be redone (<code>CommandStack#canRedo()</code>) | + | Added <code>Command#canRedo()</code>, which by default delegates to <code>Command#canExecute()</code> but can be overwritten to decide whether a command is redoable or not. The <code>CommandStack</code> now evaluates this when checking of the command on its top can be redone (<code>CommandStack#canRedo()</code>) (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=332351 Bug #332351]). |
== Zest 1.6.0 == | == Zest 1.6.0 == | ||
Line 31: | Line 31: | ||
=== Creation of Component (M1) === | === Creation of Component (M1) === | ||
GEF4 Common component was created by extracting generic components from GEF4 MVC and GEF4 FX, including some generic abstractions like <code>IActivatable</code>, <code>IAdaptable</code>, or <code>IPropertyChangeNotifier</code>, as well as related helper/utility classes. | GEF4 Common component was created by extracting generic components from GEF4 MVC and GEF4 FX, including some generic abstractions like <code>IActivatable</code>, <code>IAdaptable</code>, or <code>IPropertyChangeNotifier</code>, as well as related helper/utility classes. | ||
+ | |||
+ | === Support for registering/querying adapters with parameterized types (M4) === | ||
+ | Augmented <code>IAdaptable</code> to enable registration and retrieval of adapters based on <code>TypeToken</code> keys. This way, registration of adapters can not only be performed based on raw types (e.g. <code>Provider.class</code>) but also using parameterized types (e.g. <code>Provider<IGeometry></code> or <code>Provider<IFXAnchor></code>) (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id= 453119 Bug #453119]). | ||
=== Introduction of AdapterMap-Binding-Support (M1) === | === Introduction of AdapterMap-Binding-Support (M1) === |
Revision as of 06:43, 28 November 2014
- New and Noteworthy in 3.0
- New and Noteworthy in 3.5
- New and Noteworthy in 3.6
- New and Noteworthy in 3.7
- New and Noteworthy in 3.8
- New and Noteworthy in 3.9
General
The Eclipse 3.10.0 (Mars) release provides minor releases for Draw2d (3.10.0), GEF (MVC) (3.10.0), and Zest (1.6.0), as well as initial versions (0.1.0) of all new GEF4 components.
All GEF4 components are purely provisional, that is no API is exposed yet. While the Common, Geometry, MVC components have been mostly written from scratch, the Graph, Layout, DOT, Zest, and Cloudio components are (at least partially) based on the former Zest2 code base. In contrast to the prior Zest2 code base, everything contributed to the 3.10.0 (Mars) release will be completely self-contained, i.e. none of the GEF4 components relies on API provided by Draw2d/GEF (MVC) 3.x, or Zest 1.x.
An overview of all GEF4 components and detailed documentation on each can be found under GEF4.
Draw2d 3.10.0
Tooltip Delay (3.10.0 M1)
TooltipHelper
now allows clients to set the tooltip delay (see Bug #323656).
GEF (MVC) 3.10.0
Redoing Commands (M2)
Added Command#canRedo()
, which by default delegates to Command#canExecute()
but can be overwritten to decide whether a command is redoable or not. The CommandStack
now evaluates this when checking of the command on its top can be redone (CommandStack#canRedo()
) (see Bug #332351).
Zest 1.6.0
GEF4 Common 0.1.0
Creation of Component (M1)
GEF4 Common component was created by extracting generic components from GEF4 MVC and GEF4 FX, including some generic abstractions like IActivatable
, IAdaptable
, or IPropertyChangeNotifier
, as well as related helper/utility classes.
Support for registering/querying adapters with parameterized types (M4)
Augmented IAdaptable
to enable registration and retrieval of adapters based on TypeToken
keys. This way, registration of adapters can not only be performed based on raw types (e.g. Provider.class
) but also using parameterized types (e.g. Provider<IGeometry>
or Provider<IFXAnchor>
) (see 453119 Bug #453119).
Introduction of AdapterMap-Binding-Support (M1)
To combine the IAdaptable
-mechanism with Google Guice-based dependency injection, a specific map-binding was introduced, which allows to inject adapters into IAdaptable
s.
GEF4 Geometry 0.1.0
Introduced ICurve#getNearestIntersection(ICurve, Point)
(M2)
Extended the ICurve
interface with a method (getNearestIntersection(ICurve, Point)
) that allows to compute the intersection point with another ICurve
nearest to some reference point. This is e.g. quite handy when computing anchor position within FXChopBoxAnchor
.
GEF4 Graph 0.1.0
GEF4 Layout 0.1.0
GEF4 DOT 0.1.0
Re-created DOT Graph Viewer based on GEF4 Zest (M3)
Replacing the former Zest2 code within org.eclipse.gef4.zest.ui
that still depended on Draw2d, a new GEF4 DOT Graph Viewer was introduced, which is based on Zest.FX and Zest.FX.UI and thus uses JavaFX for visualization purposes (see Bug #441129 for details).
GEF4 FX 0.1.0
Integrated SwtFX as FX.UI (M1)
Integrated and refactored SwtFX into FX.UI as part of the GEF4 FX component (see Bug #441464).
Removed SwtFXScene (M1)
Removed the need for specific SwtFXScene implementation by ensuring that FXControlAdapter
(formerly SwtFXControlAdapter
) can work with an arbitrary JavaFX Scene
(see Bug #441463).
Added FXGridLayer (M2)
A new FXGridLayer
is now provided, which can be used as a background layer.
Revised IFXAnchor API (M2)
IFXAnchor#attach()
and IFXAnchor#detach()
now take an additional IAdaptable
argument, which may be used to provide additional information to the specific anchor. In case of an FXChopBoxAnchor
, this mechanism is used to pass in a FXChopBoxAnchor$ReferencePointProvider
, thereby replicating the old FXChopBoxHelper
mechanism which involved direct coupling. Furthermore, an FXChopBoxAnchor$ComputationStrategy
interface has been extracted from the FXChopBoxAnchor
(an implementation can be passed in via its constructor), so the strategy, which is used to compute anchor positions, can be replaced (see Bug #442971, Bug #444009).
Introduced IFXConnectionRouter (M2)
An IFXConnectionRouter
interface has been extracted from FXConnection
. It can be passed in via FXConnection#setRouter()
and is responsible of computing a curve geometry from the passed in (manually provided) waypoints of the connection (see Bug #443781).
GEF4 MVC 0.1.0
Added grid layer and implemented snap-to-grid support (M2)
The FXRootPart
now creates an FXGridLayer
as underlying layer by default. Visibility of the layer can be controlled via a GridModel
, which is to be registered as an IViewer
adapter. The GridModel
allows to select the grid cell height and width and whether the grid is to be zoomed with the contents layer or not. It can also be used to enable/disable snap-to-grid, which is respected by the FXResizeRelocatePolicy
and FXBendPoliy
.
Added support for hover handles (M3)
Add support for transaction-based execution of operations (M3)
The IDomain
now allows to open/close transactions, executing a set of related IUndoableOperation
as an atomic (composite) operation. This way, several (transaction) policies can independently execute operations during an interaction, while undo/redo is performed for the overall transaction.