How to unlink elements


#1

New user here. I’m creating a sequence diagram, but for some reason one of the lifelines has been created as child of the yellow ‘Appliance’ box. I want to delete the yellow box, but that also deletes my lifeline and its messages. How can I solve this? I could not find an answer in the forum and tried all kind of things.

Thanks!


#2

Hi Filip,

You can try the Delete (Not Delete Child) command as screenshot.
Screenshot_2017-11-20_08-46-50
Antony.


#3

When I right-click the frame I only get the options ‘Delete’ and ‘Delete View Only’, both of which delete the lifeline too.

I’m running the latest version of Visual Paradigm.


#4

Sorry I misunderstood your problem. I thought LC is the model element child of Appliance, but in fact LC is only contained by Appliance in view and they have no real parent-child relationship, and thus you won’t see the Delete (Not Delete Child) menu item.

And unfortunately no matter you choose delete or delete view only, the contained diagram elements must also get deleted altogether even they are not parent and children.

So, what you need to do is to break the view containment relationship of LC from Appliance. But in VP’s sequence diagram, a lifeline cannot leave its frame if it has any messages connecting to other lifelines that are not in the same frame. That means you must first make LC free of those messages before you can move it out. You can either:

  1. Delete all LC’s messages, move LC out of Appliance, and then recreate them afterwards.
  2. Temporarily move the messages to another lifeline, and move them back after you moved LC out of Appliance. You can drag the end point of a message to attach it to another lifeline.

Hope this could help to solve your problem.


#5

I’ve found an easier solution. You can select Selection -> Set as Master View on LC to make it the master view. You’ll notice the ‘a’ (auxiliary view) indicator disappears. When you make LC the master view, it’s view parent will become its model element parent, and so you make LC a real child of Appliance.

Then you can follow my first proposed solution, use the delete and not delete child command to delete Appliance and leave LC intact.


#6

Thanks, Anthony. That works!