Bug 417992 - [plan] Model how to dynamically choose between different shapes in runtime.
Summary: [plan] Model how to dynamically choose between different shapes in runtime.
Status: ASSIGNED
Alias: None
Product: GMF-Tooling (ARCHIVED)
Classification: Modeling
Component: Models (show other bugs)
Version: 3.2   Edit
Hardware: PC Mac OS X
: P3 normal (vote)
Target Milestone: 3.2M4   Edit
Assignee: Svyatoslav Kovalsky CLA
QA Contact:
URL:
Whiteboard: Diagram Features
Keywords: plan
Depends on:
Blocks:
 
Reported: 2013-09-25 05:25 EDT by Michael Golubev CLA
Modified: 2013-12-11 11:29 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Golubev CLA 2013-09-25 05:25:22 EDT
GMF Tooling already allows to model link the semantic properties with different bits of the visual appearance by the means of Pins. 

E.g, color, or image or just the the visibility of some parts of the figure may be automatically updated when the semantic property is changed. 

However the users at forum frequently asked for extension of this functionality to cover: 

- all possible elements of the gmfgraph model: 
- - borders, 
- - link decorations 
- - connections style (width, dash, etc)
- - layout properties? 
- - the whole different shapes of the figure

See e.g: http://www.eclipse.org/forums/index.php/t/497731/ 

Right now some of this is already possible to model via the CustomPin's but it is difficult to implement, not documented and would require toolsmith to write the custom templates anyway. 

In Luna, there should be better support for this, allowing to 
- - just define multiple choices for some parts of the gmf graph model, say instead of single Figure#border there may be a bunch of all the desired Borders defined in the GMF graph. 
- - transform such pack of the choices into some new kind of a Pin, representing, e.g the index of "active" border in list (taht is, a primitive value)
- - in the map model link the pin to some OCL that produces the single int value of the "desired" index based on semantic model