[440212] Fix typo in SiriusValidationDecorator: Marker type ID should
use DiagramUIPlugin.ID and not DiagramPlugin.ID

Bug: 440212
Change-Id: I831ab19600dbbda51dfc4a6f230507cc287e6575
Signed-off-by: Alex Lagarde <alex.lagarde@obeo.fr>
Cherry-picked-from: 20c9e6ef
[436465] Complete the variable support in service: and var: interpreters

Solution that uses the VariableManager (as query legacy, compound
interpreter, ..) to manage the push/peak/pop mechanism for the
variables.

The unSetVariable method was not implemented. Now it uses a
VariableManager with its the variable value stacks: when a variable is
unset, the next getValue, will return its previous value.

Bug: 436465
Change-Id: I72333bd0e636cb08e731f4858703784f3063e8c8
Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
Signed-off-by: Maxime PORHEL <maxime.porhel@obeo.fr>
[440301] Open UI sessions from the SessionUIManagerImpl

This was done in the SiriusCommonContentProvider's
SessionManagerListener but if the content provider has not been
initalized yet (Model Explorer view for example), the ui sessions are
not created and opened.

The getOrCreateUISession has been modified to avoid
java.lang.ExceptionInInitializerError when trying to call
SessionUManager.INSTANCE during its initalization.

Bug: 440301
Change-Id: I62db24c19f3a3d74658109610f2e813ca3b8a31d
Signed-off-by: Maxime PORHEL <maxime.porhel@obeo.fr>
[440362] Display tooltip for bordered nodes with labelPosition=border

This commit also corrects the border refresh for non bordered nodes.

Bug: 440362
Change-Id: I273cc37fc4e00ef413a5e7cf3519b300afbd87b7
Signed-off-by: Maxime PORHEL <maxime.porhel@obeo.fr>
Cherry-picked-from: 4b8e0c57da412df5b9e49732621ed785dc53eaf5
[440061] Avoid NPE during Tabbar items visibility changes

When the user changes the selection from a diagram element to the diagram 
(or from the diagram to the diagram element) and if he has made one of
the tabbar menu managers visible, when the ToolbarManager is updated it
detects that the menu are now non visible: all their children menu items
are not visible anymore, their corresponding action are selection
listeners and update themselves when the selection changes). The
ToolbarManager decides to remove them (and dispose them) but when the
selection is changed back, it decides to make the element visible again,
the manager was disposed before, so the page field is null and we get an
NPE. 
For the other items (which are not menu managers), the visibility state
is mainly computed from the visibleWhen expressions but for menu
managers and their actions which comes from GMF, the first visibility
refresh from the selection is done first.
This field is not required as when the menu is set to visible, the page
is the current active page and we can directly get it.

Bug: 440061
Change-Id: I65bad0bb4205850cc309a45402e49b93f13c4bdb
Signed-off-by: Maxime PORHEL <maxime.porhel@obeo.fr>
Cherry-picked-from: f089452aafa9c427fbcb943088fce27ebff59344
[439791] Force mainRepresentationFileURI computation after its creation

The current project on which we are adding the ModelingProject nature
does not contain any representation file, so it has been marked as
invalid and has no mainRepresentationFileURI and hence no session. So just
after creating this main aird, we now recompute (force) the
mainRepresentationURI and the valid state.

Cherry-picked from 436375

Bug: 439791
Change-Id: Idb52a549369d646434f0c483912f47c5beab5a24
Signed-off-by: Maxime PORHEL <maxime.porhel@obeo.fr>
Cherry-picked-from: 62ceab88fb2243c7e9ce681150dc0fade84d3921
[439871] Setup the CI-build with a specific headless profile
[439871] Remove UI dependencies which are not used *from the code*
[439871] Stop using LabelProvider so low in the Table dialect

EMF introduced IItemLabelProvider exactly for this need, to avoid 
depending on UI stuffs just to retrieve a label. This commit makes the
refresh use directly the IItemLabelProvider instead of wrapping it into
a useless labelprovider.
[439871] Add a default SelectorProvider

This provider is available when nothing else is contributed so that
the corresponding code will work nonetheless, but it is expected to be 
overrided by the one in diagram.ui.
[439871] Move the diagram refresh logic down to the non.ui plugin

Move the DiagramDialect and all the code it depends on in the non.ui
plugin.

Extract the ViewpointSelectionCallback logic in a dedicated class lower
in the stack (not in the UI) and delegating from the old one.

It is not compiling, we still have a reference to a
canonicalsynchronizerImpl and some logic to capture SWT line height.
[439871] Use CanonicalSynchronizer to hook diagram header computation

This commit adapt the CanonicalSynchronizer API so that it wrapps the 
computation of the diagram header (which can only be done with an UI).
[439871] Add extension pt to call the diagram.ui CanonicalSynchronizer

With this commit the CanonicalSynchronizer is called again when present.