Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "GEF/GEF4"

< GEF
Line 31: Line 31:
 
* [[Image:Progress.gif]][[GEF/GEF4/Layout |  GEF4 Layout]] - Provides layout algorithm implementations as well as a data-model facade to feed these algorithms. Will have to be harmonized with [[GEF/GEF4/Graph |  GEF4 Graph]], so that GEF4 graph models can be used as underlying data-model.
 
* [[Image:Progress.gif]][[GEF/GEF4/Layout |  GEF4 Layout]] - Provides layout algorithm implementations as well as a data-model facade to feed these algorithms. Will have to be harmonized with [[GEF/GEF4/Graph |  GEF4 Graph]], so that GEF4 graph models can be used as underlying data-model.
  
* [[Image:Progress.gif]][[GEF/GEF4/Zest | GEF4 Zest]] - Transferred from original Zest2 code base, already adopted to GEF4 namespace and versioning, and integrated into GEF4 Git repository and update-site. Not yet fully adopted/re-modularized to depend on other GEF4 components only (i.e. still dependent on Draw2d 3.x). However, the [[GEF/GEF4/Layout | GEF4 Layout]], [[GEF/GEF4/Graph | GEF4 Graph]], and [[GEF/GEF4/Cloudio | GEF4 Cloudio]] components have already been factored out ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=372365 372365]).
+
* [[Image:Progress.gif]][[GEF/GEF4/Zest | GEF4 Zest]] - Transferred from original Zest2 code base, already adopted to GEF4 namespace and versioning, and integrated into GEF4 Git repository and update-site. Not yet fully adopted/re-modularized to depend on other GEF4 components only (i.e. still dependent on Draw2d 3.x). However, the GEF4 Layout, GEF4 Graph, GEF4 DOT, and GEF4 Cloudio components have already been factored out ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=372365 372365]).
  
 
* [[Image:Ok_green.gif]][[GEF/GEF4/Cloudio | GEF4 Cloudio]]  - Provides support for visualizing tag clouds. Is based on SWT/JFace, integrated in the Eclipse UI, and will (at least for now) not be ported to JavaFX.
 
* [[Image:Ok_green.gif]][[GEF/GEF4/Cloudio | GEF4 Cloudio]]  - Provides support for visualizing tag clouds. Is based on SWT/JFace, integrated in the Eclipse UI, and will (at least for now) not be ported to JavaFX.

Revision as of 09:37, 19 March 2014


GEF4 is the unified effort to develop a new GEF 4.x code base as a modernization of the current one (Draw2d, GEF (MVC) 3.x, and Zest 1.x, in the following referred to as GEF proper). Being developed in parallel to maintaining the GEF proper code base, GEF4 is set up as a set of provisional components, not being bound to the same API compatibility constraints.

Additional information about our plans and can be inferred from the following talks:

Current Status

Having functionally completed the GEF4 Geometry and GEF4 Cloudio components, work is currently being spent on developing a JavaFX-based replacement for the core of GEF (GEF4 FX, GEF4 SwtFX, GEF4 MVC), as well as further migration of the former Zest2 code base (GEF4 Layout, GEF4 Graph).

Components

GEF4-Components.png

  • Ok green.gif GEF4 Geometry (Geometry / Geoemtry.Convert.SWT / Geometry.Convert.FX) - Provides different abstractions (Euclidean, Projective, Planar) for 2D geometric calculations, and conversions of planar geometries (curves, shapes, poly shapes) to/from respective SWT, AWT, and JavaFX equivalents (as well as conversions between SWT and AWT geometries). Is already quite stable but still requires some performance optimizations. Also, change notification support is still lacking.
  • Progress.gif GEF4 FX - Provides support for rendering IGeometry-based JavaFX shapes, visual anchor implementations, and common JavaFX-specific abstractions (IFXConnection) to be used by upstream components. Will have to be extended with additional anchor implementations, decorations, and custom widgets.
  • Progress.gif GEF4 SwtFX - Provides support for embedding SWT Controls (generic adapter as well as specific adapters for Button, StyledText) via adapters into a JavaFX scene graph using the JavaFX SWT integration. Also enhances the JavaFX-SWT-Integration with forwarding of touch gestures. Will have to be extended to provide dedicated support for adapting additional SWT controls.
  • Progress.gif GEF4 MVC (MVC / MVC.UI / MVC.FX / MVC.FX.UI) - Core model-view-controller framework to build up graphical editors and views. Provides an UI toolkit independent and a JavaFX specific layer, as well as Eclipse-UI integration for both. Can be used to build standalone and Eclipse-integrated editors and views.
  • Progress.gif GEF4 Graph Provides a (currently) very simply, UI-independent data-model (Graph, Node, Edge). Will need to be extended to suit as underlying data model for GEF4 Layout (sub-graphs).
  • Progress.gif GEF4 DOT Provides GraphViz DOT-Editor (Xtext) and import/export to GEF4 Graph. Will have to be extended to e.g. support sub-graphs.
  • Progress.gif GEF4 Layout - Provides layout algorithm implementations as well as a data-model facade to feed these algorithms. Will have to be harmonized with GEF4 Graph, so that GEF4 graph models can be used as underlying data-model.
  • Progress.gif GEF4 Zest - Transferred from original Zest2 code base, already adopted to GEF4 namespace and versioning, and integrated into GEF4 Git repository and update-site. Not yet fully adopted/re-modularized to depend on other GEF4 components only (i.e. still dependent on Draw2d 3.x). However, the GEF4 Layout, GEF4 Graph, GEF4 DOT, and GEF4 Cloudio components have already been factored out (372365).
  • Ok green.gif GEF4 Cloudio - Provides support for visualizing tag clouds. Is based on SWT/JFace, integrated in the Eclipse UI, and will (at least for now) not be ported to JavaFX.

Bugs/Enhancements

Bugzilla components (for those listed above) are created one by one as parts of the remaining code base are migrated. In addition, all bugs not explicitly linked to a GEF4 bugzilla component but related to GEF4 are prefixed with [GEF4]. Here is a list of all bugs currently related to GEF4.

Source Code

The complete source code of GEF4 is located in the GEF4 Git repository. For further information on how to obtain it and how set-up in order to contribute, please refer to the GEF Project Contributor Guide.

Update Sites

A Tycho-based build infrastructure for the GEF4 provisional component has been configured under https://hudson.eclipse.org/hudson/job/gef4-master. The build job is triggered hourly in case of changes to the source code repository and further once per day. It produces an update-site, which does not get promoted to downloads.eclipse.org, but can directly be consumed from:

In addition to this, integration, milestones, and release builds are promoted to downloads.eclipse.org and can be found here:

Note that while integration builds are promoted automatically once per week (every friday), milestone and release builds are published only manually on the respective occasions (not yet). Further note that these update sites are merged (so old builds are preserved), while the nightly update site gets replaced on each build.

Back to the top