Message expansion
In the message view, the user should have an option to expand a message to see and edit its internal behavior.
For instance, if a user creates a message to a method foo
in the message view of bar
, he/she should be able to display the message view of foo
and edit it directly from the message view of bar
. Visually, the internal behavior will appear like nested behavior, except that all the changes will be directly reflected in the message view of foo
.
Finally, the user will also be able to collapse a message if he/she does not want to see the internal behavior of a specific message.
Comments (169)
-
reporter -
reporter References
#482: Displays message view using the composite interaction→ <<cset 2f4f99ff4790>>
-
reporter References
#482: Displays the message view correctly→ <<cset 1d6d39a63778>>
-
reporter References
#482: Adds the expand button→ <<cset 20710769a5c9>>
-
reporter References
#482: Tries to display the expanded message views→ <<cset 983a259cb9cb>>
-
reporter References
#482: Adds event container initialization for expanded messages→ <<cset 8c59a64f2092>>
-
reporter References
#482: Adds layouting for expanded lifelines→ <<cset df4cc761c359>>
-
reporter References
#482: Fixes the target lifeline mapping in composite interaction→ <<cset 03f9a681cc1a>>
-
reporter References
#482: Displays the extended messages correctly→ <<cset 59023155ec5e>>
-
reporter References
#482: Displays the extended messages correctly→ <<cset 0b4fa7f0dedb>>
-
reporter References
#482: Replaces a reverse for-loop by a foreach loop→ <<cset 951808d7273a>>
-
reporter References
#482: Adds the basic methods for connecting gates to lifelines→ <<cset 27ff338b02a0>>
-
reporter References
#482: Displays the combined fragments correctly→ <<cset 19120a7dbe23>>
-
reporter References
#482: Adds the lifeline position observer interface→ <<cset 6058760b8041>>
-
reporter References
#482: Adds the collapse button→ <<cset 0b3b8fd40e7e>>
-
reporter References
#482: Adds the methods to handle message collapsing→ <<cset 62ad3db2cd93>>
-
reporter References
#482: Adds message collapsing→ <<cset 40d2e6cbe2b3>>
-
reporter References
#482: Adds observer on the life line layout element→ <<cset cfa9cd0c59c5>>
-
reporter References
#482: Adds connected components to lifeline views→ <<cset c2518054e315>>
-
reporter References
#482: Connects the expanded gate views to the calling lifeline→ <<cset 3bccb6481009>>
-
reporter References
#482: Adds message view update for expanded messages→ <<cset 2d3c1eb3fe4b>>
-
reporter References
#482: Improves the destroy method→ <<cset 97cec5065005>>
-
reporter References
#482: Fixes the expanded messages display order→ <<cset 862bb35ca5af>>
-
reporter References
#482: Fixed initial life line layout→ <<cset 2f17a0a2562a>>
-
reporter References
#482: Makes the update operation of CompositeInteraction private→ <<cset ca8ba1d76521>>
-
reporter References
#482: Improves the colapse method→ <<cset 90847d684589>>
-
reporter References
#482: Disables message expansion in some cases, fixes bug for interaction fragment collapse→ <<cset 34850f347f9f>>
-
reporter References
#482: Fixes message deletion→ <<cset f019ebe91078>>
-
reporter References
#482: Adds checks to avoid null pointer exception in notifyChanged→ <<cset 796a87130ceb>>
-
reporter References
#482: Fixes the combined fragment deletion null pointer exception→ <<cset bb1259b7b8fa>>
-
reporter References
#482: Fixes the gate views→ <<cset ddc674e080c9>>
-
reporter References
#482: Fixes the connected gates position→ <<cset 08091803bb0c>>
-
reporter References
#482: Moved the add/remove event container operations in separate methods→ <<cset c29b559dad60>>
-
reporter References
#482: Adds a method to get the fragments on a lifeline for a given container. Fixes the viewIndex for updated fragments.→ <<cset f95f8a409d9e>>
-
reporter References
#482: Fixes the layout in nested combined fragments→ <<cset 59e71f5cec10>>
-
reporter References
#482: Unsubscribes the composite interaction in MessageViewView.destroy()→ <<cset cb829b40b94a>>
-
reporter References
#482: Simplifies the getVisualizedFragments method→ <<cset ddf83152277f>>
-
reporter References
#482: Adds methods to get the elements to remove on a message collapse→ <<cset 3e828610643f>>
-
reporter References
#482: Removes caching in the composite interactions→ <<cset fc097ca58fbb>>
-
reporter References
#482: Adds recursive combined fragment updates→ <<cset 7bb1e8a88604>>
-
reporter References
#482: Removes the event container on message collapse→ <<cset d564ce929dfc>>
-
reporter References
#482: Minor bug fixes→ <<cset 24970e8e8cb8>>
-
reporter References
#482: Fixes the listeners registration for the MessageViewView→ <<cset 9b46cabb0cc1>>
-
reporter References
#482: Initializes the specification of an expanded message if it is not yet defined→ <<cset 00ce33e207b4>>
-
reporter References
#482: Fixes message expansion in combined fragments→ <<cset 63e15cf6cf47>>
-
reporter References
#482: Changes the expand/collapse icons→ <<cset f14cfd34b984>>
-
reporter References
#482: Moves the message view creation to the MessageHandler→ <<cset e3cbeb934e89>>
-
reporter References
#482: Collapses the messages recursively→ <<cset 07f8a996826e>>
-
References
#482: Ensures layouting is performed only after expand/collapse and removes special cases from LifelineView, which are not required anymore.→ <<cset 6d85405cbbf0>>
-
References
#482: Improves expanding by only iterating through new expanded fragments.→ <<cset 680463e7671a>>
-
References
#482: Fixes issue when expanding more than one message going to the same lifeline.The detected lifeline in getVisualizedFragments needs to be from the same message view.
→ <<cset fb70a27f807a>>
-
reporter References
#482: Disables layout saving for expanded lifelines.→ <<cset e1adef90e8fe>>
-
References
#482: Adds special case for operands where the last component is the event container of an expanded message.Uses the last spacer of that event container instead.
→ <<cset d600b7e08a2c>>
-
References
#482: Moves auto-collapsing into removeMessageView method.This ensures auto-collapsing is performed in all cases where a message view might be removed (message deletion, operand/combined fragment deletion).
Improves collapseMessage method by using findNodeWithMessage instead. When an expanded message is removed, it is not contained anymore, so the containing interaction cannot be found.
→ <<cset 01441dde43b8>>
-
reporter References
#482: Removes the "cascading" methods.These methods are now replaced by a single getVisualizedFragments method.
→ <<cset f2e44394d8dc>>
-
reporter References
#482: Fixes the layouting for lifelines that are only used by fragments located in a combined fragment→ <<cset 9b8263fc5671>>
-
reporter References
#482: Includes the expanded lifelines in the combined fragments if necessary→ <<cset 3785ab6b4179>>
-
reporter References
#482: Fixes a combined fragments layouting issue→ <<cset f3195461bb2e>>
-
reporter References
#482: Moves the call to removeMessageView to the collapse methodThis commit fixes the bugs in the 'delete keep content' and 'move'actions introduced in the two last commits.
→ <<cset c357810a46ce>>
-
reporter References
#482: Removes the layout element creation from the addLifeline method→ <<cset 8190683fb546>>
-
reporter References
#482: Fixes the model index in addEventContainer→ <<cset 124cb61ba905>>
-
reporter References
#482: Removes rely message creation when a message has no specification→ <<cset 3423e4e7fe22>>
-
reporter References
#482: Moves the building assignment to the right place in the collapse method→ <<cset 8795c803595c>>
-
reporter References
#482: Removes only one interaction in collapse→ <<cset 03abf95d1bfa>>
-
reporter References
#482: Adds a layout element for expanded lifelines that do not belong to the initial interaction and are added through a notification→ <<cset 89ca9de0b4df>>
-
reporter References
#482: Checks if the lifeline has a layout element and adds it if necessary in MessageViewView.build()→ <<cset d404fd3165d4>>
-
reporter References
#482: Fixes the NPE when a self message was created on an expanded life line→ <<cset 54815bd864af>>
-
reporter References
#482: Fixes class cast exception when a fragment is created in a combined fragment.→ <<cset 9272574f9f77>>
-
reporter References
#482: Fixes message creation in expanded message views→ <<cset 642859b4e0ae>>
-
reporter References
#482: Disables message creation between two lifelines from different interactions→ <<cset 9050cf4d1803>>
-
reporter References
#482: Restricts message creation to 'target' life lines and their mapped life lines only→ <<cset 7bd4f2809ee3>>
-
reporter References
#482: Fixes the editable areas in expanded messages→ <<cset 20821df80df8>>
-
reporter References
#482: Displays the right options when the user wants to create a message with a new lifeline→ <<cset f3fc8f03929e>>
-
reporter References
#482: Disables message creation after calls to undefined messages→ <<cset e719335e0a26>>
-
reporter References
#482: Allows message creation in empty messages→ <<cset d911456fa6f3>>
-
reporter References
#482: Fixes bug that was preventing the user from creating messages after combined fragments→ <<cset 78fb5cbac8b0>>
-
reporter References
#482: Fixes various bugs related to editable areas→ <<cset 073f4ca52cce>>
-
reporter References
#482: Fixes a class cast exception when fragments were created in an empty expanded message view→ <<cset 168db52d8a20>>
-
reporter References
#482: Fixes NPE for self-messages→ <<cset 39f10c236d37>>
-
reporter References
#482: Collapses a message when its specification is deleted→ <<cset 53b720f4ac86>>
-
reporter References
#482: Fixes a class cast exception when the message is created at the top of an expanded message view→ <<cset 0224a0adaf73>>
-
reporter References
#482: Fixes message creation→ <<cset 5606caed4905>>
-
reporter References
#482: Disables message creation after undefined messages→ <<cset 6c9d119d878a>>
-
reporter References
#482: Includes the expanded fragments in the combined fragments→ <<cset ead416dc7eb3>>
-
reporter References
#482: Fixes the layout for nested combined fragments→ <<cset c60b2f12422e>>
-
reporter References
#482: Adds an "auto-collapse" feature that automatically collapses all the messages with the same signature when a message is expanded.→ <<cset 23cdacdaa5cf>>
-
reporter References
#482: Removes hidden lifelines on collapse→ <<cset 6b54f7169244>>
-
reporter References
#482: Fixes class cast exception in Aspect Message view→ <<cset 6a17c3ecc6da>>
-
reporter References
#482: Fixes mistake in MessageViewViewRemoves the addListener in the destroy() method
→ <<cset ff22eba733b0>>
-
reporter References
#482: Registers the MessageViewView to the aspect in the constructor→ <<cset fa2fe938677d>>
-
reporter References
#482: Disables message expansion for messages from implementation classes→ <<cset 799378d80763>>
-
reporter References
#482: Fixes create message expansion→ <<cset 9a0992948883>>
-
reporter References
#482: Fixes NPE in MessageItemProvider→ <<cset 46d380aa015b>>
-
reporter References
#482: Improves the viewIndex handling for create messages→ <<cset 0b41e7358507>>
-
reporter References
#482: Simplifies the viewIndex calculation in order to support two event containers on the same life line.The previous commit was complicated and did not really fix the problem. This one provides a simpler solution.
→ <<cset d4e2589bbc4e>>
-
reporter References
#482: Removes the addEventContainer and removeEventContainer methodsThe expanded messages are not contained in EventContainers anymore. Instead, they are all added to the baseEventContainer of the lifeline view.
→ <<cset ec7aaddd3116>>
-
reporter References
#482: Removes unused if statement→ <<cset bd812ad1c055>>
-
reporter References
#482: Removes unused codeRemoves the EventContainer removal in the collapse method
→ <<cset 352d1a8a1458>>
-
reporter References
#482: Simplifies the allow creation for interaction operandsModifies the isFirstCoveredLifeline method, removes the allowCreation parameter. Also fixes some warnings in MessageViewView.
→ <<cset 89b9acaffa88>>
-
reporter References
#482: Fixes the life line highlighting→ <<cset c3703d3be7da>>
-
reporter References
#482: Removes an unnecessary call to unregisterRemoves the call to unregister for the Aspect in MessageViewView.collapse()
→ <<cset e6e78f2a00de>>
-
reporter References
#482: Fixes the connected gates positionUses the getCenterPoint method to position the connected gates to the life line.
→ <<cset 30b89f295c5d>>
-
reporter References
#482: Fixes create messages within interaction operands→ <<cset c2074319fa43>>
-
reporter References
#482: Adds missing import→ <<cset a717e4fd2b8c>>
-
reporter References
#482: Improves null value handling in MessageItemProviderHandles the case where currentOperation is null.
→ <<cset 07ce4e6ce158>>
-
reporter References
#482: Removes the event containers for the expanded messagesThe expanded messages are not contained in their own event containers anymore. Instead, they are added to the base container.
→ <<cset 66762411bc78>>
-
reporter References
#482: Modifies the way lifeline views are mapped in MessageViewViewLifeline views are now mapped to the typed element they represent. There are still some issues with the view index in some cases. It seems to be an issue with the getVisualizedFragments method which does not includes the expanded fragments
→ <<cset 69840026fbc5>>
-
reporter References
#482: Modifies the getVisualizedFragments methodThis method now uses a list of represented life lines to find the list of represented fragments. This commit also adds the target lifeline to the represented lifelines in setupExpand and modifies the removeLifeline method.
→ <<cset 00cc0d433787>>
-
reporter References
#482: Removes life line mappings in composite interactionAll the mappings are now handled directly by the life line view itself. This change also affect the life line view highlighting, which was changed accordingly.
→ <<cset 7ab13da5e037>>
-
reporter References
#482: Removes the getLifeline() method→ <<cset 15b427350773>>
-
reporter References
#482: Fixes collapse methodIn the previous commit the used key was not right. Also the mapping between the life line view and its typed element was not removed.
→ <<cset aa4e45f63ac1>>
-
reporter References
#482: Improves the from and to life lines detection→ <<cset 6669c69b3472>>
-
reporter References
#482: Modifies the removeRepresenting lifeline methodIn the case where the life line is deleted, the life line container can be null. This commit allows to handle this case correctly
→ <<cset 523ec9323c90>>
-
reporter References
#482: Fixes a concurrent modification exception→ <<cset 21d4ab58f977>>
-
reporter References
#482: Checks if the life line represents the wanted life line→ <<cset 9d711cd6c2cb>>
-
reporter References
#482: Improves life line highlightingNow uses the getFragmentContainerAt method for the start position to check if message creation is allowed between two life line views. This results in a more robust life line highlighting.
→ <<cset fb46ea9537f2>>
-
reporter References
#482: Fixes a key error in notifyChangedIn the previous commits I forgot to use the represents attribute of the lifeline for the layout notifications. This was causing a crash when a new life line was created.
→ <<cset b66c066ce426>>
-
reporter References
#482: Resizes the last spacer in layoutFragmentsWhen two messages were expanded on the same life line, and the lowest one was collapsed, the last spacer on the life line was over sized. This commit fixes this issue.
→ <<cset da862890526f>>
-
reporter References
#482: Fixes message expansion within an operandThe error was simply that the found container was not correct in getNumberOfFragmentsBefore. If a message is expanded in an operand, this operand must be found instead of the outer interaction. This commit fixes this.
→ <<cset b302037abdfd>>
-
reporter References
#482: Fixes visualized fragments list in nested operandsAdds a more general method called getActualRootContainer that returns the container in which the number of fragments before is computed. Also fixes a mistake in getVisualizedFragments(container)
→ <<cset b9433e48b5e6>>
-
reporter References
#482: Fixes crash when the typed element of a created life line is modified→ <<cset a7e8e0ccfa0a>>
-
reporter References
#482: Adds a better null value check in MessageItemProvider→ <<cset 342299e3fd11>>
-
reporter References
#482: Updates the life line mappings when the represented typed element is modified→ <<cset af1582be46c8>>
-
reporter References
#482: Fixes the view index for create messagesWhen a message was created within an expanded create message, the -2 was not applied, leading to a wrong view index. Also removes an unused part of the code in setOperandHeight.
→ <<cset 4d1010ddc85a>>
-
reporter References
#482: Fixes the over sized created life line views in operands→ <<cset 0f1549ef0782>>
-
reporter References
#482: Removes the typedElementChanged method→ <<cset 1747d78d8506>>
-
reporter References
#482: Moves the lifeline listener registration to the right place in MessageViewView→ <<cset 860e51a00d16>>
-
reporter References
#482: Fixes the oversized life line views in nested combined fragments→ <<cset c05e60653a1f>>
-
reporter References
#482: Fixes removeOperandBefore this commit, the operand contents were not removed, since CompositeInteraction.findNodeWithContainer was returning null (the container of the operand was null), and therefore, CompositeInteraction.getVisualizedFragments was producing an empty list.
→ <<cset da8c460d57ba>>
-
reporter References
#482: Disables message creation from outside an operand to any life line created within this operand→ <<cset 0807755a85aa>>
-
reporter References
#482: Modifies the name field view of the life line viewsThe life line views now use a RamRectangleComponent with on text view for the object name, one for the object type, and a RamTextComponent for the colon to represent their name fields.
→ <<cset 5ffbdf611bc3>>
-
reporter References
#482: Adds the possibility to change the represented element of a life line view→ <<cset 847c1915e8a5>>
-
reporter References
#482: Adds a method to get the map from parameters to their actual parameter value mappings→ <<cset fc03b469d2f7>>
-
reporter References
#482: Adds life line mappings for parameters→ <<cset 4e6090c815df>>
-
reporter References
#482: Adds argument viewsArgument views are special text views that display the right placeholder and variable name in the current context.
→ <<cset b0e54b627720>>
-
reporter References
#482: Adds message refresh when an argument is modified→ <<cset ae56d31030a3>>
-
reporter References
#482: Reduces the spacing between the expanded life lines→ <<cset 138b1c790298>>
-
reporter References
#482: Adds a condition in removeLifelineView→ <<cset ed4674e29762>>
-
reporter References
#482: Moves the call to refresh to a new updateTextView methodThis method is only called when the received notification actually modifies the TextView. It is overridden by the ArgumentView in oder to refresh the message only when it is needed.
→ <<cset 938f859bf784>>
-
reporter References
#482: Removes deprecated code in LifelineView→ <<cset 3a940b62df2c>>
-
reporter References
#482: Fixes message expansion in operands for created lifelines→ <<cset 648b8da21e7c>>
-
reporter References
#482: Fixes the life line positioning→ <<cset bd50e606c297>>
-
reporter References
#482: Adds a check to avoid expanding a message twice→ <<cset 34031cfe2efd>>
-
reporter References
#482: Fixes the life line highlighting in operandsThere was a bug where some life lines were not highlighted although they were in theory accessible. This used to happen if a message was expanded in an operand. This was because the direct container was used instead of the actual one.
→ <<cset f1b98493ac2f>>
-
reporter References
#482: Fixes a mistake from previous commitAdds the case where the container is the parent container in isAccessibleFromContainer()
→ <<cset 4655f268b970>>
-
reporter References
#482: Adds a null value check→ <<cset 0e36d22c7f5a>>
-
reporter References
#482: Adds event containers on life line views when they are used in operands→ <<cset 4a78a62153d4>>
-
reporter References
#482: Fixes the layout for combined fragmentsThe layouting algorithm now also considers the expanded life lines
→ <<cset d793743c65d4>>
-
reporter References
#482: Adds handling for operand removal/additionUpdates the expanded life line views when an operand is added or removed by the covering combined fragment.
→ <<cset 58c1bfbce667>>
-
reporter References
#482: Fixes an undo layout issue for combined fragmentsBefore this commit deleting a combined fragment and clicking undo was causing some layout issues.
→ <<cset eba32dd73efc>>
-
reporter References
#482: Fixes layout for expanded created life lines in operands→ <<cset 084324b1dbe4>>
-
reporter References
#482: Fixes the 'delete keep contents' functionalityMessages are now automatically collapsed when this feature is used.
→ <<cset 8c638c2408cd>>
-
reporter References
#482: Fixes issues related to 'delete keep contents'Improves handling for nested combined fragments, undo/redo, etc.
→ <<cset 48431f043621>>
-
reporter References
#482: Makes sure that setupCombinedFragment and clearCombinedFragment are only executed for expanded life lines→ <<cset f490290acdfc>>
-
reporter References
#482: Fixes the over sized operandViews issue in nested combined fragments→ <<cset 9792e69143e0>>
-
reporter References
#482: Fixes synchronization bug in the argument viewRemoves the caching of the actual argument
→ <<cset ac7517ad9d82>>
-
reporter References
#482: Visually includes the fragments in nested combined fragments→ <<cset b6c331f2bb21>>
-
reporter References
#482: Fixes the operand views in nested combined fragments→ <<cset e809209c76b7>>
-
reporter References
#482: Improves the message expansion in nested combined fragments→ <<cset 49c4c800d84a>>
-
References
#482: Ensures that created lifelines are only accessible from within the operand it is created in for non-expanded message views.→ <<cset 6d579afb3889>>
-
reporter References
#482: Updates the arguments place holders as well→ <<cset bd0003b30a97>>
-
reporter References
#482: Improves the message collapsing in nested combined fragments→ <<cset 2017f4449ab2>>
-
reporter References
#482: Fixes collapsing of nested combined fragments, corrects some mistakes→ <<cset df154e810999>>
-
reporter References
#482: Fixes a condition in LifelineView.canAddOperandViewFor→ <<cset 3eda33383d58>>
-
reporter References
#482: Moved the combined fragment cleanup in collapse→ <<cset c47292140681>>
-
reporter References
#482: Puts back the condition in removeFragment.This is unfortunately needed, as it happens many times. The previous commit did not fix it for all cases.
→ <<cset 003afe926b26>>
-
References
#482: Fixes small issues for static references (metaclass lifelines).→ <<cset 3615a65dc1f8>>
-
References
#482: Fixes small issues to prevent crashes.- fixes localSignature constraint to ensure the message signature (or its container) exists
- prevents NPE when determining that a message can be expanded
- fixes building of Lifeline name field
→ <<cset a6b1a51b2de0>>
-
- changed status to resolved
Merged in pull request #112.
- Log in to comment
References
#482: Adds the composit interaction class→ <<cset 6e8b5011c1b2>>