The Next Generation Eclipse Graphical Editing Framework
-
Upload
alexander-nyssen -
Category
Software
-
view
81 -
download
1
Transcript of The Next Generation Eclipse Graphical Editing Framework
![Page 1: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/1.jpg)
Alexander Nyßen, itemis AGProject Lead
Image courtesy of Stefan Rimaila/ flickr
The next generation Eclipse Graphical Editing Framework
![Page 2: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/2.jpg)
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: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/3.jpg)
Draw2d
![Page 4: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/4.jpg)
Draw2d & GEF (MVC)
![Page 5: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/5.jpg)
Zest
![Page 6: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/6.jpg)
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 7: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/7.jpg)
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 8: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/8.jpg)
https://github.com/eclipse/gef
https://github.com/eclipse/gef-legacy
GEF@GitHub
GEF-Legacy@GitHub
GEF „Generations“
![Page 9: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/9.jpg)
Cloudio
GEF Components
Image courtesy of Michael Stern / flickr
DOT
Common Geometry FX MVCGraph 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
![Page 10: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/10.jpg)
Cloudio - TagCloud View
![Page 11: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/11.jpg)
DOT - Editor & Graph View
AbstractBehavior
![Page 12: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/12.jpg)
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 and rendering capabilities ✓
• Support for HTML-like labels and subgraphs ✓• Bundling of Graphviz executable (CQ 11140) ✗
![Page 13: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/13.jpg)
Undeployed Examples
![Page 14: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/14.jpg)
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: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/15.jpg)
DEMO - MVC Logo Example
![Page 16: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/16.jpg)
Neon
Oxygen
• 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 ✓
![Page 17: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/17.jpg)
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 18: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/18.jpg)
DEMO - Zest Graph Example
![Page 19: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/19.jpg)
Neon
Oxygen
• Enhanced builder API
• Layout now Graph-based (I/O model)• JFace-API cleanups
Graph Layout Zest
• API-Cleanup ✓• Live vs. Background Layout ✗
![Page 20: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/20.jpg)
• 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
![Page 21: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/21.jpg)
https://info.itemis.com/en/gef/tutorials/
![Page 22: The Next Generation Eclipse Graphical Editing Framework](https://reader036.fdocuments.in/reader036/viewer/2022062900/58e8add11a28abda4f8b587b/html5/thumbnails/22.jpg)
Evaluate the SessionsSign in and vote at eclipseconverge.org
+1-1 0