Successfully reported this slideshow.
Your SlideShare is downloading. ×

The Next Generation Eclipse Graphical Editing Framework

Ad

Alexander Nyßen, itemis AG

Project Lead
Image courtesy of Stefan Rimaila/ flickr
The next generation Eclipse
Graphical Edi...

Ad

GEF 3.x
• Provides framework components for Eclipse-integrated
graphical editors and views
• Based on SWT as underlying re...

Ad

Draw2d

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 22 Ad
1 of 22 Ad
Advertisement

More Related Content

Advertisement
Advertisement

The Next Generation Eclipse Graphical Editing Framework

  1. 1. Alexander Nyßen, itemis AG
 Project Lead Image courtesy of Stefan Rimaila/ flickr The next generation Eclipse Graphical Editing Framework
  2. 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
  3. 3. Draw2d
  4. 4. Draw2d & GEF (MVC)
  5. 5. Zest
  6. 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. 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
  8. 8. https://github.com/eclipse/gef https://github.com/eclipse/gef-legacy GEF@GitHub GEF-Legacy@GitHub GEF „Generations“
  9. 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
  10. 10. Cloudio -TagCloudView
  11. 11. DOT - Editor & GraphView AbstractBehavior
  12. 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) ✗
  13. 13. Undeployed Examples
  14. 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. 15. DEMO - MVC Logo Example
  16. 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. 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. 18. DEMO - Zest Graph Example
  19. 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. 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
  21. 21. https://info.itemis.com/en/gef/tutorials/
  22. 22. Evaluate the Sessions Sign in and vote at eclipseconverge.org +1-1 0

×