Bug 511925 - [Tooling] Ports confusingly indicated as follow superclass view on resized capsule frame
Summary: [Tooling] Ports confusingly indicated as follow superclass view on resized ca...
Status: NEW
Alias: None
Product: Papyrus-rt
Classification: Modeling
Component: tool (show other bugs)
Version: 0.8.0   Edit
Hardware: PC Windows 7
: P3 normal
Target Milestone: Future   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-02-08 10:22 EST by Peter Cigehn CLA
Modified: 2017-02-09 15:05 EST (History)
3 users (show)

See Also:


Attachments
Example model with inherited port and resized capsule frame (3.81 KB, application/x-zip-compressed)
2017-02-08 10:22 EST, Peter Cigehn CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Cigehn CLA 2017-02-08 10:22:45 EST
Created attachment 266734 [details]
Example model with inherited port and resized capsule frame

If you have a capsule inheriting ports on the border of a superclass capsule, and then resize the subclass capsule frame, then the ports are still indicated as following the superclass view, even if they are not (and probably cannot either).

Steps to reproduce:

1) Import the attached example model
2) Open the structure diagram of the Subclass capsule
3) Observe how the capsule frame has been resized (for the sake of argument it was made smaller than in the superclass, but normally it would probably be the opposite where you probably make the frame bigger, for example to make room for additional decomposed capsule parts)
4) Selecting the capsule frame and checking the state of the blue "Follow the superclass view"-button indicates correctly that the capsule frame no longer follows the size and position from the superclass view.
5) Select the inherited port
6) Observer how the blue "Follow the superclass view"-button indicates that the port follows the position from the superclass view, even though it actually doesn't
7) Try moving the port in the superclass view, and (as one might logically expect), the port does not follow along (since it will be imposisble to follow the position, since the size of the frame is different and you can't really follow the position)

I discovered this issue when importing a legacy model, where I could not understand why the inherited ports did not move along as I changed superclass. The blue "Follow the superclass view"-button indicated that they should, but they didn't. I first though that it had to do with something going wrong during import (which maybe there still could), but after a while I realized that the issue was related to the capsule frame being resized in the subclass capsule. In the legacy tooling, the menu choice "Position from Superclass view" actually becomes disabled for the ports on a capsule frame that has been resized. It is not until the capsule frame itself follows the superclass view, that the ports on the border also can follow the superclass view. I guess something similar should be done here as well, to avoid the confusion that ports that does not, and cannot, follow the position from the superclass view, still indicates so with the blue "Follow the superclass view"-button (and menu choice).
Comment 1 Peter Cigehn CLA 2017-02-08 10:27:50 EST
Christian, maybe this is something that should be looked into in general, also with respect to state-machines that you are working, since I assume that we will have similar issues with following the position of entry/exit points on resized composite states for examples.
Comment 2 Peter Cigehn CLA 2017-02-09 15:05:28 EST
I really want Christian to take a look at this for 0.9 since it is such a core functionality of the layout inheritance, including the ongoing work with state machines. Please plan for 0.9.