Skip to main content
aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
42 hours[568308] Fix activation of copyFormat action.HEADmasterjmallet4-3/+110
Whatever the permission Authority for a diagram, copyFormat action is now enabled as this action does not edit anything on the diagram. Change-Id: Id03bee155ee5d07262e1321e5eaf76b1807955d7 Signed-off-by: jmallet <jessy.mallet@obeo.fr>
42 hours[fix] Fix potential NPE when the DRepresentation is nullLaurent Fasani1-21/+17
Change-Id: I4e5a1bd4d66e84a1f9cf3674708e88e7a3de66df Signed-off-by: Laurent Fasani <laurent.fasani@obeo.fr>
42 hours[568180] Enhance Sirius DAnalysisSelector to allow customizationLaurent Fasani5-79/+92
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=568180 Change-Id: I32861495267676ad2ab2550652ca4fe8cddf2b32 Signed-off-by: Laurent Fasani <laurent.fasani@obeo.fr>
6 days[567517] Identify reconnections candidates from the moved/final rangesMaxime Porhel1-1/+21
- Do not compute reconnections for all messages of the diagrams: the elements which are not in the range of the moved elements nor in the target result range might be shifted but not reconnected. Bug: 567517 Change-Id: I958b259fdc5555caa42b0de9c96163f68f826ee8 Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Identify reparents candidates from the moved/final rangesNathalie Lepine2-6/+37
- Do not compute reparents for all nodes of the diagrams: the elements which are not in the range of the moved elements nor in the target result range might be shifted but not reparented. Bug: 567517 Change-Id: I52b5ec7bbc0507415689cdfe027b9096d51151ad Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr> Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Optimize SequenceMessageRouter.routeMaxime Porhel2-39/+48
- Store computed reflexive message width - Invalidate stored value on setVerticalRange calls and let the helper recompute the widht during Bendpoints update - Rework the route method to call isReflectiveMessage(part) only once. Bug: 567517 Change-Id: I33f46f75dc6459da1d1aa43247946a29c36aefd9 Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Refresh each InstanceRoleEditPart only onceMaxime Porhel2-21/+39
Each ExecutionEditPart/StateEditPart used to call a refresh on its parent InstanceRoleEditPart for each single setBounds notification. On a diagram with 4 lifelines and several hundreds of Execution/State elements, a Sequence layout or an arrange all would trigger several hundreds of InstanceRoleEditPart.refresh(). With this patch only one InstanceRoleEditPart.refresh is triggered per impacted lifeline. The deleted notificationChanged method was called from the DiagramEventBroker which is installed before the post commit listener of the SequenceDiagramEditPart, that's why the refreshInstanceRoleEditPartsOnAbstractNodeEventSetBounds is called before the ZOrder refresh. This commits also reduce the number of decorators refresh. Bug: 567517 Change-Id: I3f6497e2c8eed64f9604c929f411faf95cb77e35 Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Activate layout optimizations during arrange allMaxime Porhel2-22/+29
- Modify RefreshLayoutCommand to be able to launch a packing layout - Modify the SequenceLayoutProvider to use a packing RefreshLayoutCommand which enable the cache and optimize the computation of the eventEnds used by the refresh oredring operations. Bug: 567517 Change-Id: Ied36ac947b8bd837dc8f668c5a12768efac84084 Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Add a cache for SequenceDiagram.getAllDelimitedEvents()Maxime Porhel1-8/+28
- Several other SequenceDiagram.getAllXXX methods already use a cache if the SequenceDiagram cache is enabled some of them use this getAllDelimitedEvents but it is also used in several other places with a lot of calls during some user actions like drag, move, resize and also during layout. Bug: 567517 Change-Id: Ie57919ae0a906c9c35904f523560c3385b5f7287 Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Add a cache for EventEndHelper.findISequenceEvent(SEE, ISE)Maxime Porhel2-2/+28
Bug: 567517 Change-Id: I24c70cb4fd59b19bae0cf100330fed2d4c164eb3 Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Refactor CacheHelperMaxime Porhel11-122/+88
- Identify structural and range dependant cache. - Clear range dependant caches as soon as a RangeSetter.setVerticalRange is called. - Rename the cache activator and tester methods Bug: 567517 Change-Id: I2a854fda59e7816fda4227ebd076e7fb97822605 Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Activate Sequence caches from drag trackersNathalie Lepine7-29/+100
- Activate SequenceDiagram and CacheHelper between handleButtonDown and handleButtonUp in order to improve performances during all the "dragInProgress" computations (validtors, feedback, build command, ...) and disable cache before the command execution. - Customize all sequence event resize and move drag trackers. Bug: 567517 Change-Id: I113b078c748a8c936795c2072e7d8fe83025f548 Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
6 days[567517] Add additional structural cachesMaxime Porhel6-6/+155
Add caches for to store computation result of : - AbstractNodeEvent.getHierarchicalParent() - ISequenceEvent.getParentOperand() - ISequenceEvent.getParentEvent() Bug: 567517 Change-Id: If2e3d4559b04b2686cd894c5012d64d4cc9cb3e2 Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Optimize Sequence Observation LayoutMaxime Porhel1-5/+7
- Do not try to compute the ObservationPoints bounds if there is no ObservationPoint element Bug: 567517 Change-Id: I23aa5f37ccb70302d7524c48ab2b43128a411a2e Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Optimize Sequence Horizontal LayoutMaxime Porhel2-35/+38
- Compute Message.getParentOperand() only if a lost message end is found. - Fast return the default reflexive message width if there is no surrounded event on the same lifeline. Bug: 567517 Change-Id: I2fab94b454824ff7fc4832d777d21687e55851ac Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Optimize event ends computationMaxime Porhel5-88/+63
- Avoid duplicated calls to EventEndHelper.findEndsFromSemanticOdrering - Add a new EventEndHelper.findEndsFromSemanticOdrering method when the Sequence diagram is already known. - Replace SequenceDiagram.findEnds() implementation by a call to EventEndsHelper.findEndsFromSemanticOrdering. There is no need to look into the graphical ordering. This allows to make all "findEnds" calls beneficiate from the cached computation of EventEndHelper. Bug: 567517 Change-Id: I35a09355e08be9a7df4021a579f985d1fa6135b1 Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Activate caches for layout refreshNathalie Lepine5-12/+63
Bug: 567517 Change-Id: Ibe10b77227430102c73a0db36ae4fdd756aec2b9 Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
6 days[567517] Add a cache for ISequenceElement.getDiagramMaxime Porhel1-4/+12
There is no need to compute the GMF Diagram and the associated SequenceDiagram several times. Bug: 567517 Change-Id: Ifc64cea5a62ebb7457df8793ef45575e2eb4b6aa Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Avoid to call Execution.getSequenceDiagram several timesMaxime Porhel2-21/+21
Bug: 567517 Change-Id: I5ecd741794e30b4b65f7310ea34b3fb966766b93 Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Add a cache for ISequenceEvent.getLifelineNathalie Lepine2-33/+38
Bug: 567517 Change-Id: I8bf3ca2ba6c018aeb48caae85b8a94101aa5acab Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
6 days[567517] Reorganize ISequenceElement implementationsMaxime Porhel6-291/+165
- Remove duplicated code between Execution/State/EndOfLife which is already in their superclass. - Reorder methods in Execution and State to ease the comparison. - Move getParentLifeline() from AbstractSequenceElement to AbstractSequenceNode : the other sequence elements will not retrieve the lifeline in their parent views. Bug: 567517 Change-Id: I9135795e92be2fc7bb1333d4bdf93611de1da3ec Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Add an initial range function with cacheMaxime Porhel1-7/+23
Bug: 567517 Change-Id: Ib2623a71015cc088a329bc48be81ea0fb22a801c Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
6 days[567517] Add a cache for execution compound messagesNathalie Lepine2-49/+87
Bug: 567517 Change-Id: I71dbe79d25cf4b88ed0939fb6cd37aceb9ccbc2d Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
6 days[567517] Disable cache if RangeSetter.setVerticalRange is called.Maxime Porhel1-22/+38
Bug: 567517 Change-Id: I116bb2691855d82973dc4622ea905f2fe59a025b Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
6 days[567517] Add a cache for vertical rangeMaxime Porhel4-75/+102
Bug: 567517 Change-Id: I6127afd3150638e67cf82ebb6600abe955b0fbb9 Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
6 days[567517] Add a cache for getSubEvents()Nathalie Lepine2-0/+23
Bug: 567517 Change-Id: Idabc46861c11e37d3e5d943752804af426204dbc Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
6 days[567517] Add a cache for abstract frames coverageNathalie Lepine2-7/+37
Bug: 567517 Change-Id: I42d04fc3ca7f4c592ceb51e0837d3f69d5f6a3e3 Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
6 days[567517] Add a cache in SiriusDragEditPartsTrackerExNathalie Lepine14-79/+341
* add sequence SiriusDragEditPartsTrackerEx for all sequence elements * Init and clear caches in Sequence DragEditPartsTrackerEx * add CacheHelper to manager cache Bug: 567517 Change-Id: Iec6ccd235f691d43dd96c26d8c92e237af19f903 Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
6 days[567517] Add a cache for EventEndHelper.findEndsFromSemanticOrderingMaxime Porhel2-32/+94
- This allows to have a EventEnds cache for each diagram. - The cache is cleared when the eventEnds list of the ordering changes - The adapter is created on the first call to findEndsFromSemanticOrdering Bug: 567517 Change-Id: I8756ab466e367a2e35f4732e443083f4bd0d2b10 Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr> Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Better performance for EventFinder.findMostSpecificEventNathalie Lepine1-21/+36
Bug: 567517 Change-Id: I004a15b4e24df7c7070a5309cdb4341f79d8267c Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
6 days[567517] Reuse move/resize validators datas for feedbackNathalie Lepine3-51/+96
Bug: 567517 Change-Id: Ic5147ca69f366139f836ac52e319ed666cc564a4 Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
6 days[567517] Remove some Lists.newArrayListNathalie Lepine2-24/+23
There is no need to create the list if we only need to filter or count the elements. Bug: 567517 Change-Id: I9e349fe245780c56f4fb606b5b4073db5eead776 Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
6 days[567517] Only trigger SequenceCanonicalSynchronizerAdapter for modifiedMaxime Porhel2-15/+31
diagram Bug: 567517 Change-Id: Id9f6bf8a42f258de4a3e6820fd6b35b2b976f73e Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Do not trigger Sequence layout for non impacted diagramsMaxime Porhel6-1521/+2105
- Rework RefreshLayoutScope to check that the modified GMF View elements belongs to the Sequence Diagram which is concerned by the current RefreshLayoutScope or by a Sequence Diagram which has the same semantic target. - Rework RefreshLayoutScope notification analysis - Check that WorkspaceImage case concerns the current DDiagram (but containsSetWkpImgApplication continues to always return null). - Rework getValues in order to reduce code duplication. - Add shortcut if valueView corresponds to notifier view has it has already been analyzed. - Fix RefreshLayoutScopeAsserter to analyze the notifications in a "isAny" way instead of a "isFirst" way. - Add a test and rename RefreshLayoutNotExecutedOnNoSequenceChangesTests into RefreshLayoutScopeTests. Bug: 567517 Change-Id: Iac542f9eb23dbd6f21fef23a6dd5ce8f712092db Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Avoid doublons calls to Message.getVerticalRange()Maxime Porhel1-2/+3
Bug: 567517 Change-Id: I4e5c8aa04f04ac6bd06a883a20baffc42d4f8478 Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
6 days[567517] Improve ISEComplexMoveValidator.checkOperandStabilityNathalie Lepine1-12/+13
- Do not compute getParentOperand() if the result is not used. Bug: 567517 Change-Id: Ia5e654dd565aaf7a03d018f6a8f8eddee13ac8d3 Signed-off-by: Nathalie Lepine <nathalie.lepine@obeo.fr>
6 days[567517] Rework decorator provider to avoid duplicated computationsMaxime Porhel3-38/+58
Bug: 567517 Change-Id: I7534ca1e0338bb468ba692da68368a14a1c49f8c Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Improve SubDiagramDecoratorRefreshMaxime Porhel2-25/+72
- Use a marker in UIState.getSubDiagramDecorationDescriptors to indicate that the SubDiagramDecorationDescriptorProvider.shouldHaveSubDiagDecoration has been computed with a false result. - Remove NoSubDecorationDescriptor markers when the model changes. Bug: 567517 Change-Id: I8c7a79fce16927b7013509e37dfb4f6c562ac3f0 Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Create predecessors setsMaxime Porhel1-8/+5
The first commit done for this issue (commit 0f974759277c2b1a65154c68fb4fad25124f5978) replaced calls to List.retainAll calls during layout with Sets.intersections with measured performance improvements for SequenceLayout used in arrange all, diagram opening and precommit layout. But in some cases, when there is no graphical predecessors, we need to inspect the flagged predecessors, and the implementation has performance issues: the Sets.intersection returns a SetView and the effective intersection will be computed for each calls to size() or each iteration using a new iterator(). Furthermore, we need to have access to the size of the semantic and graphical predecessors and then to iterate on both, and if there is a desynchronization, we need to get the last flagged predecessor which has the same semantic predecessor index. We need to force the computation of the semantic and graphical predecessors sets but as the while loop does not need to access the size() of the flagged ends predecessors, we can keep this sets with the lazy computation brought by Guava. Bug: 567517 Change-Id: I37f3debad39788c0da9d2d373c4b6375f1e299cd Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
6 days[567517] Optimize Sequence Layout when orderings are sync.Maxime Porhel3-47/+74
Avoid several computation on semanticOrdering, graphicalOrdering, flaggedEnds lists to find the trusted predecessors. Bug: 567517 Change-Id: I3ec839c0715bf5d7457b64249303e03d00b01862 Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
7 days[567861] Fix wrong width computation for combined jump linksLaurent Redor1-2/+1
Bug: 567861 Change-Id: I6696117ec33fd4f2b2476665c762e6aad8818be9 Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
7 days[567861] Use SiriusPolylineConnectionEx instead of original GMF classLaurent Redor3-82/+64
This commit uses SiriusPolylineConnectionEx instead of original GMF PolylineConnectionEx class. The class SiriusPolylineConnectionEx has been adapted to have the correct behavior (styleBits field and associated methods have been duplicated because of private or final aspects that forbid to correctly do the fix later). The method getBounds has been modified to always call the super method. This is to avoid to "expand" the bounds twice. Bug: 567861 Change-Id: Ib29451c0bcd623d6078413b6b5013825596a4ac2 Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
7 days[567861] Duplicate class PolylineConnectionEx into SiriusLaurent Redor2-0/+1694
This commit only copies the class PolylineConnectionEx into SiriusPolylineConnectionEx, without any change in it. The class SiriusPolylineConnectionEx is currently not used. Bug: 567861 Change-Id: I60c803c0f0eaee1903d7c2d3fe5f9fd879baf311 Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
7 days[567840] Fix label location to be centered under its border nodeLaurent Redor1-2/+8
Bug: 567840 Change-Id: I6efbffe3b573a135d1e7bcb3b68fb550c3cfb64d Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
7 days[567840] Test to reveal problem with port label placementLaurent Redor4-0/+281
With this use case, the draw2d location is OK (visually OK) but the GMF coordinates are KO. This can lead to unexpected behavior for the rest of layouted elements. Bug: 567840 Change-Id: I4570353d16708605b95d12e259c3072fc5d866ff Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
8 days[567800] Enhance error management when export as image failedLaurent Fasani6-38/+129
* Avoid silent failure in case of an NPE is raised. * Enhance the logging. Bug: 567800 Change-Id: I67e89a2ccce5b92da6cfab279aebe766f40128e1 Signed-off-by: Laurent Fasani <laurent.fasani@obeo.fr>
8 days[567805] Update default Analysis selector dialogSteve Monnier10-107/+537
The analysis selector has been updated to be more user friendly and allows to display message in the header. Bug:567805 Change-Id: I999ea6d9488c9a800af5b650d8e05627169a64c1 Signed-off-by: Steve Monnier <steve.monnier@obeo.fr>
9 days[567773] ELK label without text (only icon) was ignored by ELKLaurent Redor1-1/+7
Before this commit, in a list, the list items represented only by the icon (with empty label) was ignored. As result, the height of the list was too small. Bug: 567773 Change-Id: Ie03c7bd3d84b8b2ebe093d09541884b52093e33d Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
9 days[567773] Test to reveal ELK layout problem for list items without labelLaurent Redor3-0/+277
Bug: 567773 Change-Id: Ia12ae3f85f1c487c9a5ae2a0947ebc5b27974346 Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
9 days[567768] Handle case of ELK layout of empty list without titleLaurent Redor5-24/+68
The test "testVStackContainerLayout" has also been adapted. Indeed, with this commit, the line height is now at minimum of 40 pixels if the region is empty. It is better because it is the same result as the auto-size. Bug: 567768 Change-Id: I4f29e0a9ac8f81085c7d0185d899bfb3d18e1eb4 Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>

Back to the top