Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 323358

Summary: Introduce management of fonts in diagram
Product: [Modeling] Graphiti Reporter: Michael Wenz <michael.wenz>
Component: CoreAssignee: Tim Kaiser <tim.kaiser>
Status: CLOSED FIXED QA Contact:
Severity: minor    
Priority: P3 CC: tim.kaiser
Version: 0.7.0Flags: michael.wenz: indigo+
Target Milestone: 0.8.0   
Hardware: All   
OS: All   
Whiteboard: Indigo M6 theme_round_offs

Description Michael Wenz CLA 2010-08-23 03:55:57 EDT
Handle fonts in the same way as colors are already handled to enable the reduction the number of GDI object usages.
See SAP CSN 265639 2010
Comment 1 Tim Kaiser CLA 2011-03-08 06:28:48 EST
Font management introduced on diagram level.

The following changes were made:

1. pictograms model:
    - Diagram has new fonts containment reference
    - for Style and AbstractText the font reference is not a containment   
      reference anymore

2. ga services
    - the methods which create a special form of AbstractText/Style which create 
      a font inherently need an Diagram instance passed, method signature 
      adapted, CLIENT ACION NEEDED 
    - in analogy to the Color management, new manageFont() methods introduced    
      which check if a font with the given attributes exists already in the 
      diagram and only create it as necessary, CLIENT ACION NEEDED

3. migration from 0.7.0 to 0.8.0
Comment 2 Tim Kaiser CLA 2011-03-08 06:37:30 EST
Font management introduced on diagram level.

The following changes were made:

1. pictograms model:
    - Diagram has new fonts containment reference
    - for Style and AbstractText the font reference is not a containment   
      reference anymore

2. ga services
    - the methods which create a special form of AbstractText/Style which
      create a font inherently need an Diagram instance passed, method   
      signature adapted, 
      CLIENT ACTION NEEDED 
    - in analogy to the Color management, new manageFont() methods introduced   
      which check if a font with the given attributes exists already in the 
      diagram and only create it as necessary, 
      CLIENT ACTION NEEDED

3. migration from 0.7.0 to 0.8.0
    - new service Graphiti.getMigrationService(), can be used by tools on 0.7   
      to migrate existing diagrams to the new metamodel structure, note that   
      diagram files written with 0.7.0 can be opened with 0.8.0, but if one  
      serializes again fonts are lost if no migration of the diagram structure 
      is done. The tool developer can decide if an on-the-fly migration or a 
      migrate button etc is appropriate for his tool, 
      POSSIBLY CLIENT ACTION NEEDED

These changes require actions from tool developers which want to migrate their tool from Graphiti 0.7 to 0.8.
Comment 3 Michael Wenz CLA 2011-05-27 09:18:10 EDT
Part of 0.8.0
Comment 4 Michael Wenz CLA 2011-06-24 09:09:37 EDT
Part of Graphiti Indigo 0.8.0