8
8
import java.util.Set;
10
10
import pipe.gui.MessengerImpl;
11
import pipe.gui.widgets.PlaceEditorPanel;
11
12
import dk.aau.cs.gui.undo.Command;
12
13
import dk.aau.cs.model.tapn.event.ConstantChangedEvent;
13
14
import dk.aau.cs.model.tapn.event.ConstantEvent;
60
61
currentMarking.addMarking(tapn, marking);
61
62
tapn.setMarking(currentMarking);
64
64
public void add(SharedTransition sharedTransition){
65
add(sharedTransition, false);
69
public void add(SharedTransition sharedTransition, boolean multiAdd){
65
70
Require.that(sharedTransition != null, "sharedTransition must not be null");
66
Require.that(!isNameUsed(sharedTransition.name()), "There is already a transition or place with that name");
72
Require.that(!isNameUsed(sharedTransition.name()), "There is already a transition or place with that name");
68
75
sharedTransition.setNetwork(this);
69
sharedTransitions.add(sharedTransition);
76
if(!(sharedTransitions.contains(sharedTransition)))
77
sharedTransitions.add(sharedTransition);
72
80
public void add(SharedPlace sharedPlace) {
81
add(sharedPlace, false);
84
public void add(SharedPlace sharedPlace, boolean multiremove) {
73
85
Require.that(sharedPlace != null, "sharedPlace must not be null");
74
Require.that(!isNameUsed(sharedPlace.name()), "There is already a transition or place with that name");
86
if(multiremove == false) {
87
Require.that(!isNameUsed(sharedPlace.name()), "There is already a transition or place with that name");
76
89
sharedPlace.setNetwork(this);
77
90
sharedPlace.setCurrentMarking(currentMarking);
78
sharedPlaces.add(sharedPlace);
91
if(!(sharedPlaces.contains(sharedPlace)))
92
sharedPlaces.add(sharedPlace);
81
95
public boolean isNameUsedForShared(String name){
118
public boolean isNameUsedForPlacesOnly(String name) {
119
for(TimedArcPetriNet net : tapns){
120
for(TimedTransition transition : net.transitions()) {
121
if(name.equalsIgnoreCase(transition.name()))
127
public boolean isNameUsedForTransitionsOnly(String name) {
128
for(TimedArcPetriNet net : tapns){
129
for(TimedPlace place : net.places()) {
130
if(name.equalsIgnoreCase(place.name()))
104
137
public boolean isNameUsed(String name) {
105
138
return isNameUsedForShared(name) || isNameUsedInTemplates(name);