|Layout invokation in the process of opening sirius diagram [message #1793480]
||Thu, 09 August 2018 03:55
| jingjing wang
Registered: July 2017
I have a problem about layout invokation in the process of opening diagram editor. In our application, we find that there are two different layout invokations when creating and opening a diagram, one layout call is by SiriusCanonicalLayoutCommand, the other layout call is by DiagramDialectArrangeOperation.arrange().
In our analysis, we find that the layout range of DiagramDialectArrangeOperation.arrange() is the diagram editPart object, and the layout range of SiriusCanonicalLayoutCommand is diagram editPart object or some other diagram element editPart types. SiriusCanonicalLayoutCommand is a specific command to do layout for newly created views. DiagramDialectArrangeOperation.arrange() will execute LayoutUtil.arrange() only when first opening the diagram. Besides the layout range and trigger condition, the two layout invokation execute the same process. So there are two questions:
1) why there are two layout invokations in opening diagram editor, are there some purposes or considerations? Acturally, two layout invokations are superfluous and have performance loss in opening diagram editor
2) In our opinion, in order to impove the performance of opening diagram, we want to remove the trigger of SiriusCanonicalLayoutCommand and persist the original call of DiagramDialectArrangeOperation.arrange() in the opening diagram process. About this modification, we have two considerations: DiagramDialectArrangeOperation.arrange() is called after all diagram related structures have been created and updated; the layout arrange of DiagramDialectArrangeOperation.arrange() is more completed
We hope someone can give us some useful advise, thank you very much!
[Updated on: Thu, 09 August 2018 05:23]
Report message to a moderator
Powered by FUDForum
. Page generated in 0.01715 seconds