GEF/ZEST more complex examples/projects [message #1792909] |
Wed, 25 July 2018 15:39  |
João Pedro Messages: 52 Registered: December 2014 |
Member |
|
|
I'm trying to learn how to use GEF/ZEST but the examples from the github page don't seem to be enough.
I want to do something like this:

Basically I need the following requirements:
- Have several inputs/outputs for each block/node. These multiple inputs/outputs need to be distinguishable between them
-Paint one block with different colors to show that the execution of said block is at 50%, 70%, etc.
-Overall I'm trying to replicate the Simulink capabilities to some extent.
I think GEF can give me everything that I need, however from the examples I miss some of the requirements and I have no idea on how to start implementing them (even by looking at the GEF/ZEST documentation).
Thus, can anyone give me some pointers and/or share more complex projects using GEF?
[Updated on: Wed, 25 July 2018 15:42] Report message to a moderator
|
|
|
|
Re: GEF/ZEST more complex examples/projects [message #1793537 is a reply to message #1793507] |
Thu, 09 August 2018 17:27   |
|
Hi Joao,
I will take some time to answer forum questions tomorrow. In doing so, I will take a closer look and provide you with an appraisal at least.
In order to get an impression of the possibilities of GEF w.r.t. your requirements, you can take a look at the YAKINDU Model Viewer, a tool for navigating Simulink diagrams, which is available for download on the itemis website (a demo application is available for free): https://www.itemis.com/en/yakindu/model-viewer/
Best regards,
Matthias
|
|
|
Re: GEF/ZEST more complex examples/projects [message #1793568 is a reply to message #1793537] |
Fri, 10 August 2018 09:45   |
João Pedro Messages: 52 Registered: December 2014 |
Member |
|
|
Dear Matthias,
Thank you very much for answering! That model Viewer seems awesome as is exactly the kind of thing I want to implement in my app.
With the confirmation that GEF can implement my requirements, now I just need some code examples on similar apps/plugins, so that I can understand how to begin coding this.
I will be waiting for your answer to my OP, whenever possible.
Best regards,
João Malés
[Updated on: Fri, 10 August 2018 09:56] Report message to a moderator
|
|
|
Re: GEF/ZEST more complex examples/projects [message #1793652 is a reply to message #1793568] |
Mon, 13 August 2018 10:03   |
|
Hi Joao,
here you are some insights w.r.t. what we learned during development of model viewer:
- favour JavaFX Shapes over GEF FX Connection and GeometryNode
- really try to avoid Connection and related concepts (too computationally intensive: routing, interpolation, dependent calculations, ...)
- still use GeometryNode for complex shapes and the geometry API for calculations
- stick to the handler > policy > operation architecture for interactions with the main visual elements
- provide extended functionality (search box, bread crumb, etc.) without GEF handler interaction (overwrite HandlerResolver to exclude their visuals from processing within GEF)
There are a few code examples available for GEF:
- GEF Logo Example (part of GEF repository at GitHub)
- GEF Zest Example (part of GEF repository at GitHub)
- GEF Mind Map Tutorial (tutorial provided by itemis AG for free): https://info.itemis.com/en/gef/tutorials/
Unfortunately, something as sophisticated as the Model Viewer is not available as an example. However, multiple distinguishable edges between nodes is supported by default. However, the port locations are not provided by GEF. However, you can, for example, integrate ELK and use it for laying out nodes, edges, labels, and ports.
If you have more questions w.r.t. port positioning, we can discuss them here.
Best regards,
Matthias
|
|
|
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.02638 seconds