Skip to main content
Jump to: navigation, search

GEF/New and Noteworthy/3.10.1


The GEF 3.10.1 (Mars SR1) release provides service releases for the production components Draw2d 3.x (3.10.1), GEF (MVC) 3.x (3.10.1), and Zest 1.x (1.6.1), as well as for the new GEF4 components (0.1.1).

While GEF 3.10.1 (Mars SR1) is a bugfix release, some minor adjustments have been applied to the provisional API of GEF4. These are highlighted below.

GEF4 Geometry 0.1.1

Aligned background color within the examples and added window titles where missing (M1)

GEF4 Layout 0.1.1

Fixed a bug where dynamic layout was not applied although it should (M1)

GEF4 FX 0.1.1

[INCOMPATIBLE CHANGE] FXMouseDragGesture, FXPinchSpreadGesture, and FXRotateGesture were renamed (M1)

The FXMouseDragGesture, FXPinchSpreadGesture, and FXRotateGesture abstract base implementations located in package org.eclipse.gef4.fx.gestures were renamed to consistently use the 'Abstract' prefix:

  • org.eclipse.gef4.fx.gestures.FXMouseDragGesture was renamed to org.eclipse.gef4.fx.gestures.AbstractFXMouseDragGesture
  • org.eclipse.gef4.fx.gestures.FXPinchSpreadGesture was renamed to org.eclipse.gef4.fx.gestures.AbstractFXPinchSpreadDragGesture
  • org.eclipse.gef4.fx.gestures.FXRotateGesture was renamed to org.eclipse.gef4.fx.gestures.AbstractFXRotateGesture

Fixed a Java 8-related bug where chop box anchor positions were not computed (M1)

GEF4 MVC 0.1.1

[INCOMPATIBLE CHANGE] DefaultSelectionProvider was moved (M1)

org.eclipse.gef4.mvc.fx.ui.DefaultSelectionProvider was moved to org.eclipse.gef4.mvc.ui.DefaultSelectionProvider because it is independent of JavaFX.

[INCOMPATIBLE CHANGE] Fixed that FXViewer could not share a JavaFX scene (M2)

FXViewer was responsible of creating a JavaFX scene and was provided with an ISceneContainer implementation, to hook the scene into a Stage (standalone) or FXCanvas (Eclipse UI integration) as follows:

// standalone
viewer.setSceneContainer(new FXStageSceneContainer(primaryStage));
// Eclipse UI integration
viewer.setSceneContainer(new FXCanvasSceneContainer(canvas));

The FXViewer had full control over the scene creation, so other root visuals than those provided by the viewer could not be set for the scene. This responsibility was moved out of FXViewer, so its visuals are now hooked into the scene as follows:

// standalone
primaryStage.setScene(new Scene(viewer.getScrollPane()));
// Eclipse UI integration
canvas.setScene(new Scene(viewer.getScrollPane()));

Thereby, several FXViewers can now share a single scene, which is e.g. necessary to create a palette viewer. By means of an JavaFX SplitPane, this could look like follows:

// embed two viewers into a single scene by means of a SplitPane
SplitPane sp = new SplitPane();
sp.getItems().addAll(viewer1.getScrollPane(), viewer2.getScrollPane());
primaryStage.setScene(new Scene(sp));

The now obsolete org.eclipse.gef4.mvc.fx.viewer.ISceneContainer abstraction and the related org.eclipse.gef4.mvc.fx.FXStageSceneContainer, and org.eclipse.gef4.mvc.fx.ui.FXCanvasSceneContainer implementations were removed.

Fixed a bug where the undo history was incorrectly cleared (M1)

Enhanced the default resize mechanism for better customizability (M1)

You can now define the visual that is resized (only the part's "main" visual was allowed before), and also define the initial size (the visual's layout-bounds were used before).

Fixed a bug where the way points of a connection were "jumping"/changing position (M1)

Added checks to determine the dirty state of an FXEditor based on the undo-history (M1)

Added a widget for creating/manipulating multi-stop linear gradients (M1)

The FXAdvancedGradientPicker embedded into a property edit dialog.

Back to the top