Skip to main content
Jump to: navigation, search

EMF Compare/Specifications/Tooltips

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 and OldValue==null:

$HoldingElementName now contains $NewValue in $HoldingFeatureName

  • Else if: $NewValue!=null and OldValue!=null

$HoldingElementName now contains $NewValue in $HoldingFeatureName instead of $OldValue

  • Else if: $NewValue==null and OldValue!=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 and OldValue==null:

$HoldingFeatureName of $HoldingElementName has been set to $NewValue

  • Else if: $NewValue!=null and OldValue!=null

$HoldingFeatureName of $HoldingElementName has been changed from $OldValue to $NewValue

  • Else if: $NewValue==null and OldValue!=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 and OldValue==null:

$HoldingFeatureName of $HoldingElementName has been set to $NewValue

  • Else if: $NewValue!=null and OldValue!=null

$HoldingFeatureName of $HoldingElementName has been changed from $OldValue to $NewValue

  • Else if: $NewValue==null and OldValue!=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: EMFCompareTooltipOnDiff.png

Copyright © Eclipse Foundation, Inc. All Rights Reserved.