91
91
messageShown = false;
92
92
if(list.getSelectedValuesList() != null){
93
93
ArrayList<String> affectedComponents = new ArrayList<String>();
94
ArrayList<String> affectedComponentsWithDupes = new ArrayList<String>();
94
95
if(sharedPlacesAndTransitionsPanel.isDisplayingTransitions()){
95
96
for(Object transition : list.getSelectedValuesList()) {
96
for(TimedTransition t : ((SharedTransition)transition).transitions()){
97
if(!(affectedComponents.contains(t.model().name())))
98
affectedComponents.add(t.model().name());
97
affectedComponentsWithDupes.addAll(((SharedTransition)transition).getComponentsUsingThisTransition());
99
for(String component : affectedComponentsWithDupes) {
100
if(!(affectedComponents.contains(component))) {
101
affectedComponents.add(component);
102
ArrayList<String> affectedComponentsWithDupes = new ArrayList<String>();
103
105
for(Object place : list.getSelectedValuesList()) {
104
106
affectedComponentsWithDupes.addAll(((SharedPlace)place).getComponentsUsingThisPlace());
296
298
sharedTransitionsListModel.removeElement(sharedTransition);
297
299
undoManager.addEdit(new DeleteSharedTransitionCommand(sharedTransition, sharedTransitionsListModel));
299
Collection<TimedTransition> copy = sharedTransition.transitions();
300
for(TimedTransition transition : copy){
302
ArrayList<TimedTransition> transitions = new ArrayList<TimedTransition> ();
303
for(Template template : tab.allTemplates()) {
304
TimedTransition timedTransition = template.model().getTransitionByName(sharedTransition.name());
305
if(timedTransition != null)
306
transitions.add(timedTransition);
308
for(TimedTransition transition : transitions){
301
309
transition.unshare();
302
310
undoManager.addEdit(new UnshareTransitionCommand(sharedTransition, transition));
304
312
sharedTransitionsListModel.removeElement(sharedTransition);
305
313
undoManager.addEdit(new DeleteSharedTransitionCommand(sharedTransition, sharedTransitionsListModel));
306
for(TimedTransition transition : copy){
314
for(TimedTransition transition : transitions){
307
315
String name = nameGenerator.getNewTransitionName(transition.model());
308
316
// We add this invisible transition renaming to avoid problems with undo
309
undoManager.addEdit(new RenameTimedTransitionCommand(tab, transition, name, transition.name()));
317
Command renameCommand = new RenameTimedTransitionCommand(tab, transition, name, transition.name());
318
renameCommand.redo();
319
undoManager.addEdit(renameCommand);