Frequently Asked Questions

Here are some common questions about XGEE.

Status Indicator

For my rectangle, I want to have a small status indicator (like a red/green light) in the corner to show information about a certain attribute.

Use a StaticSubVertex for this and make it conditional. The condition can be any epxression that evaluates to true/false. So if you want to show multiple states, copy and paste your StaticSubVertex and make each one conditional on a different attribute value.

Details about the options of e.g. Vertex

Where can I find detailed documentation about the options of e.g. Vertex, Edge, StaticEdge, etc.?

Documentation about the classes is directly inside the editorModel meta model. When in Eclipse, select the “Documentation” tab when having selected a class in the editorModel. For your convenience, you find the very same information in the section EPackage editor of this documentation. For example, see EClass Vertex for detailed documentation of options of a Vertex.

Static Edge

Can I have a static edge that does not represent a model element?

No, at present, every edge must represent a model element.

Arrowheads

Can I change the style of the end of an edge to an arrowhead?

No, at present, XGEE does not support edge ending styles. You might find a workaround by using a EClass StaticSubVertex at the target vertex.

Complex Shapes

Can I create complex shapes (e.g., a star or a custom polygon) for vertices?

You can use almost any possible SVG or PNG when using a EClass ShapeFromResource. Alternatively, you can build complex shapes by adding to a Vertex multiple EClass StaticSubVertex.

Developing Queries

How can I develop and debug EOQ queries for XGEE?

We recommend to first get a basic understanding of EOQ using the EOQ manual. Then develop your individual queries using the developer console EOQ2 Developer Console or EOQ3 Developer Console in jseoq/Examples/Eoq3/jseoqdeveloperinterface.html Once the query works as expected, copy and paste it into your editorModel. Keep in mind that while in the developer console you need the full query GET #5699/name, in XGEE the queryTarget (e.g. PARENT) will do the GET #5699 part while the queryStr gets the /name part.

Have the your browser’s developer tools console open to see possible error messages. Refresh often such that you immediately see potential errors after changing the query.

Browser not reflecting changes

Browsers are very eager to cache resources such that they load faster. Have the browser’s developer tools open and enable “Disable Cache” (usually in the Network tab).

XGEE not reflecting size changes

When changing the sizeX of a Vertex, it is not reflected in XGEE.

First check ‘Browser not reflecting changes’ above. Then check the attributes. sizeX is only strict if both autoSize and isResizable are false. autoSize enlarges the vertex to fit all its subvertices while isResizable allows the user to resize the vertex manually. EOQ2 only: delete the .layout file and restart XGEE.

Class-specific Vertices

Can I have different vertex shapes for different classes?

XGEE is strictly query based. So all results of your queryStr will be visualized. However, you can filter for specific classes in your queryStr. EOQ2: {@CLASS/name=’Task’} EOQ3: {(/*M2CLASS/*NAME=’Task’)

Difference EOQ2 vs. EOQ3 XGEE

What is the difference between EOQ2 XGEE and EOQ3 XGEE?

EOQ2 XGEE is based on EOQ version 2. It is stable and has been used in production for several years.

EOQ3 XGEE is based on EOQ version 3. Currently it only allows to visualize static models. Dynamic features such as live updates on model changes or editing model elements are not yet supported. It furthermore does not yet provide a tree view. Despite the current limitations, EOQ3 XGEE provides tremendous improvements. EOQ3 allows much more precise and short queries that simplify debugging and development of editorModels.

Where can I get EOQ3 XGEE?

EOQ3 XGEE is currently in an early access phase. If you are interested to get access, please contact us via andreas.waldvogel@ils.uni-stuttgart.de

How do I report a bug?

If you encounter any issues, please report them on our GitLab repository. When reporting a bug, please include as much detail as possible to help us reproduce the issue.