Summary: | Improve enhancement 440296 by allowing end user to bypass the constraint | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Modeling] Sirius | Reporter: | Laurent Redor <laurent.redor> | ||||||||||
Component: | Diagram | Assignee: | Project Inbox <sirius.diagram-inbox> | ||||||||||
Status: | NEW --- | QA Contact: | |||||||||||
Severity: | enhancement | ||||||||||||
Priority: | P3 | CC: | julien.dupont | ||||||||||
Version: | unspecified | Keywords: | triaged | ||||||||||
Target Milestone: | --- | ||||||||||||
Hardware: | All | ||||||||||||
OS: | All | ||||||||||||
See Also: | https://bugs.eclipse.org/bugs/show_bug.cgi?id=440296 | ||||||||||||
Whiteboard: | |||||||||||||
Attachments: |
|
Description
Laurent Redor
2016-11-25 05:42:12 EST
Created attachment 265581 [details]
manualLayoutedDiagram.jpg
In the end, another approach has been choosen for the customer needs. Here is an explanation with sample that can be reused (but with some limitations). The VSM authotizes all sides for border nodes and the creation tool locates the border nodes on a specific location at creation. Steps to reproduce: * Import the project my.sample.design in a workspace * Launch a runtime * Import the project ModelingProjectSample in the runtime * Open the diagram "new Diagram": This diagram simulates functions (mapped on ecore.EPackage) with one green "in" port (mapped on a ecore.EClass named InClass) and one orange "out" port (mapped on a ecore.EClass named OutClass). * Create a new function by using the tool "New function with 2 border nodes" with one click * A new function appears with a default size and the border nodes are created with their default locations. * Create a new function by using the tool "New function with 2 border nodes" with one click + a drag'n'drop (to define an initial size for the function) * A new function appears with its defined size and the border nodes are created with their default locations. * Create a new function by using the tool "New function with 2 border nodes correctly located" with one click * A new function appears with a default size, the green border node is centered on the left side of the function and the orange border node is centered on the right side of the function * Create a new function by using the tool "New function with 2 border nodes" with one click + a drag'n'drop (to define an initial size for the function) * A new function appears with its defined size, the green border node is centered on the left side of the function and the orange border node is centered on the right side of the function To do this the second tool directly creates the graphical views and uses a service, my.sample.design.Services.setLocationsOfPackageAndClasses(EPackage, AbstractDNode, AbstractDNode, AbstractDNode), to correctly locate the border nodes. This service uses internal code of Sirius. So it is not a target solution. But it is a good starting point to show how to locate graphical views during a creation tool. Created attachment 265849 [details]
my.sample.design.zip
Created attachment 265850 [details]
ModelingProjectSample.zip
|