SlideShare a Scribd company logo
1 of 22
Download to read offline
Alexander Nyßen, itemis AG

Project Lead
Image courtesy of Stefan Rimaila/ flickr
The next generation Eclipse
Graphical Editing Framework
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
Draw2d
Draw2d & GEF (MVC)
Zest
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
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
https://github.com/eclipse/gef
https://github.com/eclipse/gef-legacy
GEF@GitHub
GEF-Legacy@GitHub
GEF „Generations“
Cloudio
GEF Components
Image courtesy of Michael Stern / flickr
DOT
Common Geometry FX MVC
Graph Layout Zest
• GEF 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
Cloudio -TagCloudView
DOT - Editor & GraphView
AbstractBehavior
Neon
• Disclosure of preliminary API
• Validation for style, splineType, point, arrowType, shape
• Rendering of decorations, splines, and labels
• Native layout integration
DOTCloudio
Oxygen
• Further editing and rendering capabilities ✓
• Support for HTML-like labels and subgraphs ✓
• Bundling of Graphviz executable (CQ 11140) ✗
Undeployed Examples
GEF - Components
UI ≃ Eclipse UI
FX ≃ JavaFX
Geometry
FX.JFace
Layout
MVC.FX.UI Zest.FX
MVC.FX
FX
Graph
Zest.FX.UI
DOT
Common
Cloudio.UI
FX.SWT
Zest.FX.JFace
DOT.UI
Geometry.Convert.FX Geometry.Convert.SWT
DEMO - MVC Logo Example
NeonOxygen
• Connection Decoration Clipping
• Orthogonal Router & Orthogonal Bending
• Palette Support
Common Geometry FX MVC
• Major API revision (MVC & MVC.FX) ✓
• Viewport actions (scroll/zoom) ✓
• Snap-To-Geometry Support ✓
GEF - Components
UI ≃ Eclipse UI
FX ≃ JavaFX
Geometry
FX.JFace
Layout
MVC.FX.UI Zest.FX
MVC.FX
FX
Graph
Zest.FX.UI
DOT
Common
Cloudio.UI
FX.SWT
Zest.FX.JFace
DOT.UI
Geometry.Convert.FX Geometry.Convert.SWT
DEMO - Zest Graph Example
NeonOxygen
• Enhanced builder API
• Layout now Graph-based (I/O model)
• JFace-API cleanups
Graph Layout Zest
• API-Cleanup ✓
• Live vs. Background Layout ✗
• FXCanvasEx provides workarounds for the following issues:
• JDK-8143596: Forward touch gestures to FXCanvas embedded scene.
• JDK-8161282: FXCanvas does not forward horizontal mouse scroll events to the embedded
scene.
• JDK-8088147: Image cursors not supported.
• JDK-8159227: KeyEvent.doit should be forwarded to KeyEvent.consumed().
• JDK-8161587: FXCanvas does not update SWT display.
• JDK-8088862: Provide possibility to traverse focus out of FX scene.
• Fixes for those requiring access to JDK-internals have been
contributed to OpenJFX 9 directly.
• FXCanvasEx can now transparently be used for Java 8 and 9.
readiness
https://info.itemis.com/en/gef/tutorials/
Evaluate the Sessions
Sign in and vote at eclipseconverge.org
+1-1 0

More Related Content

What's hot

Angular Ivy- An Overview
Angular Ivy- An OverviewAngular Ivy- An Overview
Angular Ivy- An OverviewJalpesh Vadgama
 
How to deploy angular 12 application using firebase hosting
How to deploy angular 12 application using firebase hostingHow to deploy angular 12 application using firebase hosting
How to deploy angular 12 application using firebase hostingKaty Slemon
 
What’s new in angular 12[highlights of angular 12 features]
What’s new in angular 12[highlights of angular 12 features]What’s new in angular 12[highlights of angular 12 features]
What’s new in angular 12[highlights of angular 12 features]Katy Slemon
 
Angular 2 - Core Concepts
Angular 2 - Core ConceptsAngular 2 - Core Concepts
Angular 2 - Core ConceptsFabio Biondi
 
Angular 4 fronts
Angular 4 frontsAngular 4 fronts
Angular 4 frontsbadal dubla
 
Building a website with angular
Building a website with angularBuilding a website with angular
Building a website with angularJoseph Jorden
 
Building scalable modular app with Angular2 concept
Building scalable modular app with Angular2 conceptBuilding scalable modular app with Angular2 concept
Building scalable modular app with Angular2 conceptkzw
 
Mastering angular - Dot Net Tricks
Mastering angular - Dot Net TricksMastering angular - Dot Net Tricks
Mastering angular - Dot Net TricksGaurav Singh
 
Quick introduction to Angular 4 for AngularJS 1.5 developers
Quick introduction to Angular 4 for AngularJS 1.5 developersQuick introduction to Angular 4 for AngularJS 1.5 developers
Quick introduction to Angular 4 for AngularJS 1.5 developersPaweł Żurowski
 
Angular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopAngular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopNitin Bhojwani
 
An Intro to Angular 2
An Intro to Angular 2An Intro to Angular 2
An Intro to Angular 2Ron Heft
 

What's hot (20)

IVY: an overview
IVY: an overviewIVY: an overview
IVY: an overview
 
Angular Ivy- An Overview
Angular Ivy- An OverviewAngular Ivy- An Overview
Angular Ivy- An Overview
 
How to deploy angular 12 application using firebase hosting
How to deploy angular 12 application using firebase hostingHow to deploy angular 12 application using firebase hosting
How to deploy angular 12 application using firebase hosting
 
Why choose Angular 6?
Why choose Angular 6?Why choose Angular 6?
Why choose Angular 6?
 
What’s new in angular 12[highlights of angular 12 features]
What’s new in angular 12[highlights of angular 12 features]What’s new in angular 12[highlights of angular 12 features]
What’s new in angular 12[highlights of angular 12 features]
 
Angular 4 - quick view
Angular 4 - quick viewAngular 4 - quick view
Angular 4 - quick view
 
THE FUTURE OF ANGULAR JS
THE FUTURE OF ANGULAR JSTHE FUTURE OF ANGULAR JS
THE FUTURE OF ANGULAR JS
 
Angular 2 - Core Concepts
Angular 2 - Core ConceptsAngular 2 - Core Concepts
Angular 2 - Core Concepts
 
Fluttering
FlutteringFluttering
Fluttering
 
Angular 4 fronts
Angular 4 frontsAngular 4 fronts
Angular 4 fronts
 
Angular 9
Angular 9 Angular 9
Angular 9
 
Building a website with angular
Building a website with angularBuilding a website with angular
Building a website with angular
 
An Overview of Angular 4
An Overview of Angular 4 An Overview of Angular 4
An Overview of Angular 4
 
Whats new Siemens NX7.5
Whats new Siemens NX7.5Whats new Siemens NX7.5
Whats new Siemens NX7.5
 
Building scalable modular app with Angular2 concept
Building scalable modular app with Angular2 conceptBuilding scalable modular app with Angular2 concept
Building scalable modular app with Angular2 concept
 
Mastering angular - Dot Net Tricks
Mastering angular - Dot Net TricksMastering angular - Dot Net Tricks
Mastering angular - Dot Net Tricks
 
Quick introduction to Angular 4 for AngularJS 1.5 developers
Quick introduction to Angular 4 for AngularJS 1.5 developersQuick introduction to Angular 4 for AngularJS 1.5 developers
Quick introduction to Angular 4 for AngularJS 1.5 developers
 
Angular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopAngular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and Workshop
 
An Intro to Angular 2
An Intro to Angular 2An Intro to Angular 2
An Intro to Angular 2
 
Vue.js Use Cases
Vue.js Use CasesVue.js Use Cases
Vue.js Use Cases
 

Viewers also liked

EclipseCon - Building an IDE for Apache Cassandra
EclipseCon - Building an IDE for Apache CassandraEclipseCon - Building an IDE for Apache Cassandra
EclipseCon - Building an IDE for Apache CassandraMichaël Figuière
 
E(fx)clipse eclipse con
E(fx)clipse   eclipse conE(fx)clipse   eclipse con
E(fx)clipse eclipse conTom Schindl
 
Managing XML documents with Epsilon
Managing XML documents with EpsilonManaging XML documents with Epsilon
Managing XML documents with EpsilonDimitris Kolovos
 
Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...
Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...
Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...Alexander Nyßen
 

Viewers also liked (6)

EclipseCon - Building an IDE for Apache Cassandra
EclipseCon - Building an IDE for Apache CassandraEclipseCon - Building an IDE for Apache Cassandra
EclipseCon - Building an IDE for Apache Cassandra
 
E(fx)clipse eclipse con
E(fx)clipse   eclipse conE(fx)clipse   eclipse con
E(fx)clipse eclipse con
 
Managing XML documents with Epsilon
Managing XML documents with EpsilonManaging XML documents with Epsilon
Managing XML documents with Epsilon
 
Epsilon
EpsilonEpsilon
Epsilon
 
Eugenia
EugeniaEugenia
Eugenia
 
Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...
Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...
Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...
 

Similar to The Next Generation Eclipse Graphical Editing Framework

GEF Past, present, future
GEF Past, present, futureGEF Past, present, future
GEF Past, present, futureitemis AG
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupMurat Yener
 
Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Wolfgang Weigend
 
dojox.gfx : the foundation for your crossbrowser advanced visualization.
dojox.gfx : the foundation for your crossbrowser advanced visualization.dojox.gfx : the foundation for your crossbrowser advanced visualization.
dojox.gfx : the foundation for your crossbrowser advanced visualization.pruzand
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsLars Vogel
 
State of GeoServer 2.10
State of GeoServer 2.10State of GeoServer 2.10
State of GeoServer 2.10Jody Garnett
 
Complete Solution for JavaFX Development - NexSoftSys
Complete Solution for JavaFX Development - NexSoftSysComplete Solution for JavaFX Development - NexSoftSys
Complete Solution for JavaFX Development - NexSoftSysNexSoftsys
 
Unlocking the power of the APEX Plugin Architecture
Unlocking the power of the APEX Plugin ArchitectureUnlocking the power of the APEX Plugin Architecture
Unlocking the power of the APEX Plugin ArchitectureMatt Nolan
 
What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1ukdpe
 
SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4Jon Galloway
 
Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Prabindh Sundareson
 
Javafxpressentation 140524053934-phpapp01 (1)
Javafxpressentation 140524053934-phpapp01 (1)Javafxpressentation 140524053934-phpapp01 (1)
Javafxpressentation 140524053934-phpapp01 (1)ssuser4f9de3
 
JavaFX: A Rich Internet Application (RIA) Development Platform
JavaFX: A Rich Internet Application (RIA) Development PlatformJavaFX: A Rich Internet Application (RIA) Development Platform
JavaFX: A Rich Internet Application (RIA) Development PlatformPraveen Srivastava
 
JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014Ryan Cuprak
 
Griffon: Re-imaging Desktop Java Technology
Griffon: Re-imaging Desktop Java TechnologyGriffon: Re-imaging Desktop Java Technology
Griffon: Re-imaging Desktop Java TechnologyJames Williams
 
Gef tutorial 2005
Gef tutorial 2005Gef tutorial 2005
Gef tutorial 2005Ryan Wang
 
WebLogic Developer Experience and Java EE 6
WebLogic Developer Experience and Java EE 6WebLogic Developer Experience and Java EE 6
WebLogic Developer Experience and Java EE 6Jeffrey West
 

Similar to The Next Generation Eclipse Graphical Editing Framework (20)

GEF Past, present, future
GEF Past, present, futureGEF Past, present, future
GEF Past, present, future
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client Roundup
 
Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1
 
dojox.gfx : the foundation for your crossbrowser advanced visualization.
dojox.gfx : the foundation for your crossbrowser advanced visualization.dojox.gfx : the foundation for your crossbrowser advanced visualization.
dojox.gfx : the foundation for your crossbrowser advanced visualization.
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot Topics
 
State of GeoServer 2.10
State of GeoServer 2.10State of GeoServer 2.10
State of GeoServer 2.10
 
Complete Solution for JavaFX Development - NexSoftSys
Complete Solution for JavaFX Development - NexSoftSysComplete Solution for JavaFX Development - NexSoftSys
Complete Solution for JavaFX Development - NexSoftSys
 
Unlocking the power of the APEX Plugin Architecture
Unlocking the power of the APEX Plugin ArchitectureUnlocking the power of the APEX Plugin Architecture
Unlocking the power of the APEX Plugin Architecture
 
Jsf 2.0 Overview
Jsf 2.0 OverviewJsf 2.0 Overview
Jsf 2.0 Overview
 
What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1
 
SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4
 
Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011
 
JavaFX Presentation
JavaFX PresentationJavaFX Presentation
JavaFX Presentation
 
Javafxpressentation 140524053934-phpapp01 (1)
Javafxpressentation 140524053934-phpapp01 (1)Javafxpressentation 140524053934-phpapp01 (1)
Javafxpressentation 140524053934-phpapp01 (1)
 
JavaFX: A Rich Internet Application (RIA) Development Platform
JavaFX: A Rich Internet Application (RIA) Development PlatformJavaFX: A Rich Internet Application (RIA) Development Platform
JavaFX: A Rich Internet Application (RIA) Development Platform
 
NLOUG 2018 - Future of JSF and ADF
NLOUG 2018 - Future of JSF and ADFNLOUG 2018 - Future of JSF and ADF
NLOUG 2018 - Future of JSF and ADF
 
JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014
 
Griffon: Re-imaging Desktop Java Technology
Griffon: Re-imaging Desktop Java TechnologyGriffon: Re-imaging Desktop Java Technology
Griffon: Re-imaging Desktop Java Technology
 
Gef tutorial 2005
Gef tutorial 2005Gef tutorial 2005
Gef tutorial 2005
 
WebLogic Developer Experience and Java EE 6
WebLogic Developer Experience and Java EE 6WebLogic Developer Experience and Java EE 6
WebLogic Developer Experience and Java EE 6
 

Recently uploaded

Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 

Recently uploaded (20)

Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 

The Next Generation Eclipse Graphical Editing Framework

  • 1. Alexander Nyßen, itemis AG
 Project Lead Image courtesy of Stefan Rimaila/ flickr The next generation Eclipse Graphical Editing Framework
  • 2. 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
  • 4. Draw2d & GEF (MVC)
  • 6. 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
  • 7. 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
  • 9. Cloudio GEF Components Image courtesy of Michael Stern / flickr DOT Common Geometry FX MVC Graph Layout Zest • GEF 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
  • 11. DOT - Editor & GraphView AbstractBehavior
  • 12. Neon • Disclosure of preliminary API • Validation for style, splineType, point, arrowType, shape • Rendering of decorations, splines, and labels • Native layout integration DOTCloudio Oxygen • Further editing and rendering capabilities ✓ • Support for HTML-like labels and subgraphs ✓ • Bundling of Graphviz executable (CQ 11140) ✗
  • 14. GEF - Components UI ≃ Eclipse UI FX ≃ JavaFX Geometry FX.JFace Layout MVC.FX.UI Zest.FX MVC.FX FX Graph Zest.FX.UI DOT Common Cloudio.UI FX.SWT Zest.FX.JFace DOT.UI Geometry.Convert.FX Geometry.Convert.SWT
  • 15. DEMO - MVC Logo Example
  • 16. NeonOxygen • Connection Decoration Clipping • Orthogonal Router & Orthogonal Bending • Palette Support Common Geometry FX MVC • Major API revision (MVC & MVC.FX) ✓ • Viewport actions (scroll/zoom) ✓ • Snap-To-Geometry Support ✓
  • 17. GEF - Components UI ≃ Eclipse UI FX ≃ JavaFX Geometry FX.JFace Layout MVC.FX.UI Zest.FX MVC.FX FX Graph Zest.FX.UI DOT Common Cloudio.UI FX.SWT Zest.FX.JFace DOT.UI Geometry.Convert.FX Geometry.Convert.SWT
  • 18. DEMO - Zest Graph Example
  • 19. NeonOxygen • Enhanced builder API • Layout now Graph-based (I/O model) • JFace-API cleanups Graph Layout Zest • API-Cleanup ✓ • Live vs. Background Layout ✗
  • 20. • FXCanvasEx provides workarounds for the following issues: • JDK-8143596: Forward touch gestures to FXCanvas embedded scene. • JDK-8161282: FXCanvas does not forward horizontal mouse scroll events to the embedded scene. • JDK-8088147: Image cursors not supported. • JDK-8159227: KeyEvent.doit should be forwarded to KeyEvent.consumed(). • JDK-8161587: FXCanvas does not update SWT display. • JDK-8088862: Provide possibility to traverse focus out of FX scene. • Fixes for those requiring access to JDK-internals have been contributed to OpenJFX 9 directly. • FXCanvasEx can now transparently be used for Java 8 and 9. readiness
  • 22. Evaluate the Sessions Sign in and vote at eclipseconverge.org +1-1 0