3
3
import dk.aau.cs.debug.Logger;
4
4
import dk.aau.cs.gui.Context;
5
import dk.aau.cs.model.tapn.Colored.ColoredTransition;
5
import dk.aau.cs.model.tapn.Colored.*;
6
import dk.aau.cs.model.tapn.Colored.Color;
6
7
import dk.aau.cs.model.tapn.Colored.ExpressionSupport.ExprStringPosition;
7
8
import dk.aau.cs.model.tapn.Colored.Expressions.*;
8
import dk.aau.cs.model.tapn.Colored.Variable;
9
import dk.aau.cs.model.tapn.TimedInputArc;
10
import dk.aau.cs.model.tapn.TransportArc;
9
11
import pipe.gui.CreateGui;
10
12
import pipe.gui.graphicElements.tapn.TimedTransitionComponent;
15
17
import javax.swing.text.*;
17
19
import java.awt.event.*;
20
import java.util.ArrayList;
18
21
import java.util.List;
20
import dk.aau.cs.model.tapn.Colored.Color;
21
23
import pipe.gui.widgets.EscapableDialog;
22
24
import pipe.gui.widgets.TAPNTransitionEditor;
971
973
private boolean onOK() {
972
974
if (newProperty instanceof PlaceHolderGuardExpression) {
973
975
((ColoredTransition)transition.underlyingTransition()).setGuard(null);
976
977
((ColoredTransition)transition.underlyingTransition()).setGuard(newProperty);
979
if (urgentCheckBox.isSelected()) {
980
List<TimedInputArc> oldInputArcs = transition.underlyingTransition().getInputArcs();
981
List<TimedInputArc> newInputArcs = new ArrayList<TimedInputArc>();
982
List<TransportArc> oldTransportArcs = transition.underlyingTransition().getTransportArcsGoingThrough();
983
List<TransportArc> newTransportArcs = new ArrayList<TransportArc>();
985
for (TransportArc transportArc : oldTransportArcs) {
986
ColoredTransportArc coloredTransportArc = (ColoredTransportArc) transportArc;
987
coloredTransportArc.setCtiList(new ArrayList<ColoredTimeInterval>(){{add(ColoredTimeInterval.ZERO_INF_DYN_COLOR(Color.STAR_COLOR));}});
988
newTransportArcs.add(coloredTransportArc);
991
for (TimedInputArc oldInputArc : oldInputArcs) {
992
ColoredInputArc coloredInputArc = (ColoredInputArc) oldInputArc;
993
List<ColoredTimeInterval> ctiList = new ArrayList<ColoredTimeInterval>() {{add(ColoredTimeInterval.ZERO_INF_DYN_COLOR(Color.STAR_COLOR));}};
994
coloredInputArc.setColorTimeIntervals(ctiList);
995
newInputArcs.add(coloredInputArc);
998
for (int i = 0; i < newTransportArcs.size(); i++) {
999
transition.underlyingTransition().removeTransportArcGoingThrough(oldTransportArcs.get(i));
1000
transition.underlyingTransition().addTransportArcGoingThrough(newTransportArcs.get(i));
1003
for (int i = 0; i < newInputArcs.size(); i++) {
1004
transition.underlyingTransition().removeFromPreset(oldInputArcs.get(i));
1005
transition.underlyingTransition().addToPreset(newInputArcs.get(i));
1008
context.tabContent().network().paintNet();
982
1012
private void parseExpression(GuardExpression expression) {