Bug 538408

Summary: Text label length calculated too long for unicode escape sequences
Product: [Modeling] Sirius Reporter: Niko Stotz <eclipse>
Component: DiagramAssignee: Project Inbox <sirius.diagram-inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3 CC: pierre-charles.david
Version: 5.1.1Keywords: triaged
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
Screenshot showing too long labels none

Description Niko Stotz CLA 2018-08-30 05:51:26 EDT

    
Comment 1 Niko Stotz CLA 2018-08-30 05:57:01 EDT
My diagram shows the result of a toString() method that does something like:

````
public String toString() {
  return this.name + "[\u221E]";
}
````

This leads to too long labels, especially visible when using strikethrough formatting (see attachment).

Version info:
Eclipse Oxygen.3a (4.7.3a) Build id: M20180330-0640
org.eclipse.sirius (5.1.1.201801311428) "Sirius Core Runtime" [Active]
org.eclipse.sirius.common (5.1.1.201801311428) "Sirius Commons" [Active]
org.eclipse.sirius.common.acceleo.aql (5.1.1.201801311428) "Sirius Support for AQL Expressions" [Active]
org.eclipse.sirius.common.acceleo.aql.ide (5.1.1.201801311428) "Sirius IDE Support for AQL Expressions" [Active]
org.eclipse.sirius.common.acceleo.mtl (5.1.1.201801311428) "Sirius Support for Acceleo 3 Expressions" [Active]
org.eclipse.sirius.common.acceleo.mtl.ide (5.1.1.201801311428) "Sirius IDE Support for Acceleo 3 Expressions" [Active]
org.eclipse.sirius.common.interpreter (5.1.1.201801311428) "Sirius Model Query API" [Resolved]
org.eclipse.sirius.common.ui (5.1.1.201801311428) "Sirius UI Commons" [Active]
org.eclipse.sirius.common.ui.ext (5.1.1.201801311428) "Sirius Common UI Extensions" [Starting]
org.eclipse.sirius.diagram (5.1.1.201801311428) "Sirius Diagrams Runtime" [Active]
org.eclipse.sirius.diagram.formatdata (5.1.1.201801311428) "Sirius Formatdata Model" [Active]
org.eclipse.sirius.diagram.layoutdata (5.1.1.201801311428) "Sirius Layoutdata Model" [Active]
org.eclipse.sirius.diagram.sequence (5.1.1.201801311428) "Sirius Sequence Diagrams Model" [Active]
org.eclipse.sirius.diagram.sequence.edit (5.1.1.201801311428) "Sirius Sequence Diagrams Edit Support" [Active]
org.eclipse.sirius.diagram.sequence.ui (5.1.1.201801311428) "Sirius Sequence Diagrams UI" [Active]
org.eclipse.sirius.diagram.ui (5.1.1.201801311428) "Sirius Diagram Specification Editor" [Active]
org.eclipse.sirius.diagram.ui.ext (5.1.1.201801311428) "Sirius Diagram UI Extensions" [Starting]
org.eclipse.sirius.doc (5.1.1.201801311428) "Sirius Documentation" [Resolved]
org.eclipse.sirius.ecore.extender (5.1.1.201801311428) "Sirius Metamodel Extender Support" [Active]
org.eclipse.sirius.editor (5.1.1.201801311428) "Sirius Viewpoints Specification Editor" [Active]
org.eclipse.sirius.editor.diagram (5.1.1.201801311428) "Sirius Diagrams Specification Editor" [Active]
org.eclipse.sirius.editor.properties (5.1.1.201801311428) "Sirius Properties View Specification Editor" [Active]
org.eclipse.sirius.editor.properties.ext.widgets.reference (5.1.1.201801311428) "Sirius Properties View Extension Reference Widget Properties" [Active]
org.eclipse.sirius.editor.sequence (5.1.1.201801311428) "Sirius Sequence Diagrams Specification Editor" [Resolved]
org.eclipse.sirius.editor.table (5.1.1.201801311428) "Sirius Tables Specification Editor" [Resolved]
org.eclipse.sirius.editor.tree (5.1.1.201801311428) "Sirius Trees Specification Editor" [Active]
org.eclipse.sirius.ext.base (5.1.1.201801311428) "Sirius Library Extensions - Base" [Active]
org.eclipse.sirius.ext.draw2d (5.1.1.201801311428) "Sirius Library Extension - Draw2D" [Active]
org.eclipse.sirius.ext.e3 (5.1.1.201801311428) "Sirius Library Extension - Eclipse 3.x" [Resolved]
org.eclipse.sirius.ext.e3.ui (5.1.1.201801311428) "Sirius Library Extension - Eclipse 3.x UI" [Starting]
org.eclipse.sirius.ext.emf (5.1.1.201801311428) "Sirius Library Extensions - EMF Core" [Active]
org.eclipse.sirius.ext.emf.edit (5.1.1.201801311428) "Sirius Library Extensions - EMF.Edit" [Resolved]
org.eclipse.sirius.ext.emf.tx (5.1.1.201801311428) "Sirius Library Extension - EMF Transaction" [Resolved]
org.eclipse.sirius.ext.emf.ui (5.1.1.201801311428) "Sirius Library Extension - EMF UI" [Resolved]
org.eclipse.sirius.ext.gef (5.1.1.201801311428) "Sirius Library Extension - GEF" [Resolved]
org.eclipse.sirius.ext.gmf.notation (5.1.1.201801311428) "Sirius Library Extension - GMF Notation" [Resolved]
org.eclipse.sirius.ext.gmf.runtime (5.1.1.201801311428) "Sirius Library Extension - GMF Runtime" [Resolved]
org.eclipse.sirius.ext.jface (5.1.1.201801311428) "Sirius Library Extension - JFace" [Resolved]
org.eclipse.sirius.ext.swt (5.1.1.201801311428) "Sirius Library Extension - SWT" [Resolved]
org.eclipse.sirius.interpreter (5.1.1.201801311428) "Sirius Integration for Interpreter View" [Starting]
org.eclipse.sirius.properties (5.1.1.201801311428) "Sirius Properties View Model" [Active]
org.eclipse.sirius.properties.core (5.1.1.201801311428) "Sirius Properties View Runtime" [Active]
org.eclipse.sirius.properties.defaultrules (5.1.1.201801311428) "Sirius Properties Default Rules" [Resolved]
org.eclipse.sirius.properties.edit (5.1.1.201801311428) "Sirius Properties View Model Edit Support" [Active]
org.eclipse.sirius.properties.ext.widgets.reference (5.1.1.201801311428) "Sirius Properties View Extension Reference Widget Model" [Active]
org.eclipse.sirius.properties.ext.widgets.reference.edit (5.1.1.201801311428) "Sirius Properties View Extension Reference Widget Edit Support" [Starting]
org.eclipse.sirius.synchronizer (5.1.1.201801311428) "Sirius Model Synchronizer" [Starting]
org.eclipse.sirius.table (5.1.1.201801311428) "Sirius Table Model" [Active]
org.eclipse.sirius.table.ui (5.1.1.201801311428) "Sirius Tables UI" [Active]
org.eclipse.sirius.table.ui.ext (5.1.1.201801311428) "Sirius Tables UI Extensions" [Starting]
org.eclipse.sirius.tree (5.1.1.201801311428) "Sirius Tree Model" [Active]
org.eclipse.sirius.tree.ui (5.1.1.201801311428) "Sirius Tree Specification Editor" [Active]
org.eclipse.sirius.tree.ui.ext (5.1.1.201801311428) "Sirius Tree UI Extensions" [Starting]
org.eclipse.sirius.ui (5.1.1.201801311428) "Sirius UI" [Active]
org.eclipse.sirius.ui.editor (5.1.1.201801311428) "Sirius Aird Editor" [Active]
org.eclipse.sirius.ui.ext (5.1.1.201801311428) "Sirius UI Extensions" [Starting]
org.eclipse.sirius.ui.properties (5.1.1.201801311428) "Sirius Properties View Runtime UI" [Active]
org.eclipse.sirius.ui.properties.ext.widgets.reference (5.1.1.201801311428) "Sirius Properties View Extension Reference Widget Properties UI" [Resolved]
Comment 2 Niko Stotz CLA 2018-08-30 05:58:51 EDT
Created attachment 275609 [details]
Screenshot showing too long labels
Comment 3 Pierre-Charles David CLA 2018-09-07 04:05:08 EDT
I don't have time to investigate further at the moment, but one possible location to look at would be in org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures.SiriusWrapLabel.getTextExtents(String, Font, int), where we call FigureUtilities.getTextExtents(s, f) (from Draw2D) to get the text's dimension given a particular font.