Top Banner
Alexander Nyßen, itemis AG Project Lead Image courtesy of Stefan Rimaila/ flickr The next generation Graphical Editing Framework GEF(4) Dot Oh Dot Oh
17

GEF(4) Dot Oh Dot Oh

Apr 16, 2017

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GEF(4) Dot Oh Dot Oh

Alexander Nyßen, itemis AGProject Lead

Image courtesy of Stefan Rimaila/ flickr

The next generation Graphical Editing Framework

GEF(4) Dot Oh Dot Oh

Page 2: GEF(4) Dot Oh Dot Oh

GEF 3.x• Provides framework components for Eclipse-integrated

graphical editors and views

• Based on SWT as underlying rendering technology

• Initial contribution by IBM in 2002 and Chisel Group in 2007

• In pure maintenance mode, but remains on the ‚train‘

Image courtesy of Hamad Aziz/ flickr

Page 3: GEF(4) Dot Oh Dot Oh

GEF4• Provides end-user tools and framework components for

graphical rich-client Java applications, Eclipse-integrated and standalone

• Based on JavaFX as underlying rendering technology

• Graduation release (1.0.0) with Neon

• Bugfix release (1.1.0) with Neon.1

Image courtesy of NASA

Page 4: GEF(4) Dot Oh Dot Oh

The next generation has (finally) taken over…

GEF „Generations“

GEF4

GEF

GEF-Legacy

GEF

0.1.0/0.2.0 1.0.0/1.1.0

5.0.03.10.0/3.10.1 3.11.0

3.10.0/3.10.1(Mars)

4.0.0/4.1.0(Neon)

5.0.0(Oxygen)

?

[Draw2d, GEF (MVC), Zest]

[Common, Geometry, FX, MVC, Graph, Layout, Zest, DOT, Cloudio]

Project Releases

Image courtesy of zeitfaenger.at / flickr

Page 5: GEF(4) Dot Oh Dot Oh

https://github.com/eclipse/gef

https://github.com/eclipse/gef-legacy

GEF@GitHub

GEF-Legacy@GitHub

GEF „Generations“

Page 6: GEF(4) Dot Oh Dot Oh

Cloudio

GEF(4) Components

Image courtesy of Michael Stern / flickr

DOT

Common Geometry FX MVCGraph Layout Zest

• GEF(4) provides nine loosely coupled components.• Cloudio and DOT provide end-user features• The other components form two basic framework stacks:

• Common Geometry FX MVC• Graph Layout Zest

Page 7: GEF(4) Dot Oh Dot Oh

Cloudio - TagCloud View

Page 8: GEF(4) Dot Oh Dot Oh

DOT - Editor & Graph View

AbstractBehavior

Page 9: GEF(4) Dot Oh Dot Oh

Neon

• Disclosure of preliminary API

• Validation for style, splineType, point, arrowType, shape• Rendering of decorations, splines, and labels• Native layout integration

DOTCloudioO

xygen

• Further editing (validation & proposals) and rendering capabilities

• HTML-like labels and subgraphs

Page 10: GEF(4) Dot Oh Dot Oh

Undeployed Examples

Page 11: GEF(4) Dot Oh Dot Oh

GEF - Components

UI ≃ Eclipse UI FX ≃ JavaFX

Geometry

FX.JFaceLayout

MVC.FX.UI Zest.FX

MVC.FX

FXGraph

Zest.FX.UI

DOT

Common

Cloudio.UI

FX.SWT

Zest.FX.JFace

DOT.UI

Geometry.Convert.FX Geometry.Convert.SWT

Page 12: GEF(4) Dot Oh Dot Oh

DEMO - MVC Logo Example

Page 13: GEF(4) Dot Oh Dot Oh

Neon

Oxygen

• Connection Decoration Clipping

• Orthogonal Router & Orthogonal Bending

• Palette Support

Common Geometry FX MVC

• Snap-To-Geometry Support• Major API revision (Merge MVC & MVC.FX)

Page 14: GEF(4) Dot Oh Dot Oh

GEF - Components

UI ≃ Eclipse UI FX ≃ JavaFX

Geometry

FX.JFaceLayout

MVC.FX.UI Zest.FX

MVC.FX

FXGraph

Zest.FX.UI

DOT

Common

Cloudio.UI

FX.SWT

Zest.FX.JFace

DOT.UI

Geometry.Convert.FX Geometry.Convert.SWT

Page 15: GEF(4) Dot Oh Dot Oh

DEMO - Zest Graph Example

Page 16: GEF(4) Dot Oh Dot Oh

Neon

Oxygen

• Enhanced builder API

• Layout now Graph-based (I/O model)• JFace-API cleanups

Graph Layout Zest

• Live vs. Background Layout

Page 17: GEF(4) Dot Oh Dot Oh

• Java-9 compatibility• API cleanup/revision (MVC)• Support for HTML-like labels, subgraphs• Bundling of Graphviz executable (CQ 11140)

• Snap-To-Geometry Support• Background Layout• JSON Persistence

Oxygen Themes