Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EMF Compare/Specifications/Tooltips
Contents
Structure merge viewer tooltips
Current status is DRAFT
Preamble
Specification of the tooltips that should be displayed in the structure merge viewer.
Introduction
The aim of this enhancement is to provide a tooltip to the user for each difference in the structure merge viewer. Those should provide a more detailed explanation of the difference.
Detailed Specification
- REQ_TO_DIFF_001: If a difference is in conflict with some others, the tooltip should display it by adding the trailing message:
In conflict with:
[For all differences in conflict with this difference which comes from another source]
'$InConflictDiffName'
- REQ_TO_DIFF_002 Optional TBD: The conflicting differences could be displayed with hyperlinks. If the user click on it, its description is displayed (same mechanism than the "@see" in the java doc).
- REQ_TO_DIFF_003: $NewValue and $OldValue (see below) string should not exceed 15 characters long. If it does, the string should be reduced to 12 characteres and expanded with a "..." string.
Here is a list of the tooltip messages depending on the difference.
Containment reference change
Note: All $X value will be surrounded with a ' character
Add
$HoldingElementName now contains $AddedElement in $HoldingFeatureName
- Optional TBD: Remove
in $HoldingFeatureName
if the metaclass of the holding element has only one containing feature.
Delete
$RemovedElement has been deleted from $HoldingElementName
Move
- If: the source and target feature are the identical and does not change the owner:
The index of $MovedElement' has changed in $HolwingFeatureNameof $HoldingElementName
- Else if: If the source and target feature are the identical
$MovedElement has been moved from $NewHoldingElement to $NewdHoldingElement
- Else:
$MovedElement has been moved from $OldHoldingFeature of $NewHoldingElement to $NewHoldingFeatureName of $NewHoldingElementName
Change
- If the
$NewValue!=null
andOldValue==null
:
$HoldingElementName now contains $NewValue in $HoldingFeatureName
- Else if:
$NewValue!=null
andOldValue!=null
$HoldingElementName now contains $NewValue in $HoldingFeatureName instead of $OldValue
- Else if:
$NewValue==null
andOldValue!=null
$HoldingElementName does not contain $NewValue in $HoldingFeatureName anymore
- Optional TBD: remove
in $HoldingFeatureName
if the metaclass of the holding element has only one containing feature.
Not containment reference change
Add
$AddedElement has been added to $HoldingFeatureName of $HoldingElementName
Delete
$RemoveddElement has been removed from $HoldingFeatureName of $HoldingElementName
Move
The index of '$MovedAttributeValue' has changed in '$AttributeName' of '$HoldingElementName'
Change
- If the
$NewValue!=null
andOldValue==null
:
$HoldingFeatureName of $HoldingElementName has been set to $NewValue
- Else if:
$NewValue!=null
andOldValue!=null
$HoldingFeatureName of $HoldingElementName has been changed from $OldValue to $NewValue
- Else if:
$NewValue==null
andOldValue!=null
$HoldingFeatureName of $HoldingElementName has been unset
Attribute change
Add
$AddedValue has been added to $HoldingFeature in $HoldingElementName
Deleted
$RemovedValue has been removed from $HoldingFeature in $HoldingElementName
Move
The index of '$MovedAttributeValue' has changed in '$AttributeName' of '$HoldingElementName'
Change
- If the
$NewValue!=null
andOldValue==null
:
$HoldingFeatureName of $HoldingElementName has been set to $NewValue
- Else if:
$NewValue!=null
andOldValue!=null
$HoldingFeatureName of $HoldingElementName has been changed from $OldValue to $NewValue
- Else if:
$NewValue==null
andOldValue!=null
$HoldingFeatureName of $HoldingElementName has been unset.
Resource attachment change
Add
$ControlledElement has been moved to another resource $URIOfTargetResource
Delete
$ControlledElement has been moved back to resource $URIOfTargetResource
Feature map change
If the FeatureMapChange has an equivalence, dispay the same tooltip than the equivalence. If not, display the tooptip considering that the feature map is a simple AttributeChange.
User Interface Changes
User interface should like this when the mouse is over a difference: