BorderedNode Container, is it possible ? [message #1855450] |
Fri, 14 October 2022 15:23 |
|
Hello everybody,
I would like to get BorderedNode container with a List Compartment in our ClassDiagram and I can't find a way to get this result with the VSM.
A such representation will be used to representat a UML RedefinableTemplateSignature on a Class and its contents will be a list of UML TemplateParameter.
Does anyone already meet this need and find a solution ?
In attachment, the expected result, done with Papyrus Diagram. We would like to reproduce with Sirius Diagram.
[Updated on: Mon, 17 October 2022 06:13] Report message to a moderator
|
|
|
Re: BorderedNode Container, is it possible ? [message #1855676 is a reply to message #1855450] |
Wed, 26 October 2022 14:09 |
|
Hi Vincent,
List are a specific children presentation option for Container Mappings.
Sirius currently allows to create bordered nodes on other nodes and on containers, recursively. But those bordered nodes are nodes and so defined with NodeMapping elements.
This is a defined in Sirius internal metamodel, and the internal model refresh behavior but also all the GMF model synchronization and the EditParts, Style, Layout logic are written to follow this assumption.
I would see one approach (as done in the Sequence Diagrams) : you might try an approach in which you define your specific "List"Container, but then you force the layout and the Z-Order to place it on top of your Interface Container.
Be aware that you would have to put a lot of glue around the delete tools and other capabilities as there will be no containment between your main container and its "border list". Some of this code will have to be safely put in dedicated ModelChangeTrigger, PreCommitListener or PostCommitListener to react to model changes at the right time without breaking the model change commands and transactions.
Regards
Maxime Porhel - Obeo
Need training or professional services for Sirius?
http://www.obeodesigner.com/sirius
|
|
|
Powered by
FUDForum. Page generated in 0.03182 seconds