GEF/New and Noteworthy/3.10
- 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
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.
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)
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).
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
IPropertyChangeNotifier, as well as related helper/utility classes.
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
GEF4 Geometry 0.1.0
ICurve#getNearestIntersection(ICurve, Point) (M2)
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
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
SwtFXControlAdapter) can work with an arbitrary JavaFX
Scene (see Bug #441463).
Added FXGridLayer (M2)
FXGridLayer is now provided, which can be used as a background layer.
Revised IFXAnchor API (M2)
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)
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)
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
Added support for hover handles (M3)
Add support for transaction-based execution of operations (M3)
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.