~cpn-gui/tapaal/transportArc

« back to all changes in this revision

Viewing changes to src/pipe/gui/widgets/cpn/ColoredTransitionEditorPanel.java

  • Committer: Mark Glavind
  • Date: 2019-03-13 15:04:59 UTC
  • Revision ID: mglavi14@student.aau.dk-20190313150459-cxi0db6wad0dedev
Urgent transitions now work with TACPN. input arcs and transport arcs adjusts their time intervals accordingly

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
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;
11
13
 
15
17
import javax.swing.text.*;
16
18
import java.awt.*;
17
19
import java.awt.event.*;
 
20
import java.util.ArrayList;
18
21
import java.util.List;
19
22
 
20
 
import dk.aau.cs.model.tapn.Colored.Color;
21
23
import pipe.gui.widgets.EscapableDialog;
22
24
import pipe.gui.widgets.TAPNTransitionEditor;
23
25
 
971
973
    private boolean onOK() {
972
974
        if (newProperty instanceof PlaceHolderGuardExpression) {
973
975
            ((ColoredTransition)transition.underlyingTransition()).setGuard(null);
974
 
            return true;
975
976
        } else {
976
977
            ((ColoredTransition)transition.underlyingTransition()).setGuard(newProperty);
977
 
            return true;
978
 
        }
979
 
 
 
978
        }
 
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>();
 
984
 
 
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);
 
989
            }
 
990
 
 
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);
 
996
            }
 
997
 
 
998
            for (int i = 0; i < newTransportArcs.size(); i++) {
 
999
                transition.underlyingTransition().removeTransportArcGoingThrough(oldTransportArcs.get(i));
 
1000
                transition.underlyingTransition().addTransportArcGoingThrough(newTransportArcs.get(i));
 
1001
            }
 
1002
 
 
1003
            for (int i = 0; i <  newInputArcs.size(); i++) {
 
1004
                transition.underlyingTransition().removeFromPreset(oldInputArcs.get(i));
 
1005
                transition.underlyingTransition().addToPreset(newInputArcs.get(i));
 
1006
            }
 
1007
        }
 
1008
        context.tabContent().network().paintNet();
 
1009
        return true;
980
1010
    }
981
1011
 
982
1012
    private void parseExpression(GuardExpression expression) {