Merge lp:~tapaal-contributor/tapaal/fix-product-display-1971421 into lp:~tapaal-contributor/tapaal/cpn-gui-dev

Proposed by Lena Ernstsen
Status: Merged
Approved by: Jiri Srba
Approved revision: 1641
Merged at revision: 1642
Proposed branch: lp:~tapaal-contributor/tapaal/fix-product-display-1971421
Merge into: lp:~tapaal-contributor/tapaal/cpn-gui-dev
Diff against target: 130 lines (+29/-16)
4 files modified
src/main/java/dk/aau/cs/approximation/ApproximationWorker.java (+0/-2)
src/main/java/dk/aau/cs/model/CPN/Expressions/GreaterThanEqExpression.java (+1/-1)
src/main/java/dk/aau/cs/model/CPN/Expressions/GreaterThanExpression.java (+1/-1)
src/main/java/net/tapaal/gui/petrinet/editor/ColoredTransitionGuardPanel.java (+27/-12)
To merge this branch: bzr merge lp:~tapaal-contributor/tapaal/fix-product-display-1971421
Reviewer Review Type Date Requested Status
Jiri Srba Approve
Review via email: mp+422811@code.launchpad.net

This proposal supersedes a proposal from 2022-05-18.

Commit message

Product colours are updated correctly when using product colours in guard expressions.

Description of the change

Also, fixed null exception when trying to switch between color types while currently selecting a > or >= expression.

To post a comment you must log in.
Revision history for this message
Jiri Srba (srba) wrote :

fixes the issue

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/main/java/dk/aau/cs/approximation/ApproximationWorker.java'
--- src/main/java/dk/aau/cs/approximation/ApproximationWorker.java 2022-02-20 15:02:33 +0000
+++ src/main/java/dk/aau/cs/approximation/ApproximationWorker.java 2022-05-18 07:39:20 +0000
@@ -106,8 +106,6 @@
106 false,106 false,
107 approxResult.getUnfoldedModel());107 approxResult.getUnfoldedModel());
108 toReturn.setNameMapping(nameMapping);108 toReturn.setNameMapping(nameMapping);
109
110
111 109
112 OverApproximation overaprx = new OverApproximation();110 OverApproximation overaprx = new OverApproximation();
113 111
114112
=== modified file 'src/main/java/dk/aau/cs/model/CPN/Expressions/GreaterThanEqExpression.java'
--- src/main/java/dk/aau/cs/model/CPN/Expressions/GreaterThanEqExpression.java 2021-06-24 10:15:01 +0000
+++ src/main/java/dk/aau/cs/model/CPN/Expressions/GreaterThanEqExpression.java 2022-05-18 07:39:20 +0000
@@ -77,7 +77,7 @@
7777
78 @Override78 @Override
79 public GuardExpression copy() {79 public GuardExpression copy() {
80 return null;80 return new GreaterThanEqExpression(left, right);
81 }81 }
8282
83 @Override83 @Override
8484
=== modified file 'src/main/java/dk/aau/cs/model/CPN/Expressions/GreaterThanExpression.java'
--- src/main/java/dk/aau/cs/model/CPN/Expressions/GreaterThanExpression.java 2021-06-24 10:15:01 +0000
+++ src/main/java/dk/aau/cs/model/CPN/Expressions/GreaterThanExpression.java 2022-05-18 07:39:20 +0000
@@ -84,7 +84,7 @@
8484
85 @Override85 @Override
86 public GuardExpression copy() {86 public GuardExpression copy() {
87 return null;87 return new GreaterThanExpression(left, right);
88 }88 }
8989
90 @Override90 @Override
9191
=== modified file 'src/main/java/net/tapaal/gui/petrinet/editor/ColoredTransitionGuardPanel.java'
--- src/main/java/net/tapaal/gui/petrinet/editor/ColoredTransitionGuardPanel.java 2022-03-23 16:24:25 +0000
+++ src/main/java/net/tapaal/gui/petrinet/editor/ColoredTransitionGuardPanel.java 2022-05-18 07:39:20 +0000
@@ -1,6 +1,5 @@
1package net.tapaal.gui.petrinet.editor;1package net.tapaal.gui.petrinet.editor;
22
3import dk.aau.cs.util.Tuple;
4import net.tapaal.gui.petrinet.Context;3import net.tapaal.gui.petrinet.Context;
5import net.tapaal.gui.petrinet.undo.Colored.SetTransitionExpressionCommand;4import net.tapaal.gui.petrinet.undo.Colored.SetTransitionExpressionCommand;
6import net.tapaal.gui.petrinet.undo.Command;5import net.tapaal.gui.petrinet.undo.Command;
@@ -374,7 +373,7 @@
374 private Pair<ColorExpression, ColorExpression> getLeftRightExpression(Expression currentSelection) {373 private Pair<ColorExpression, ColorExpression> getLeftRightExpression(Expression currentSelection) {
375 if (currentSelection instanceof PlaceHolderGuardExpression) {374 if (currentSelection instanceof PlaceHolderGuardExpression) {
376 if (colorTypeCombobox.getItemAt(colorTypeCombobox.getSelectedIndex()) instanceof ProductType) {375 if (colorTypeCombobox.getItemAt(colorTypeCombobox.getSelectedIndex()) instanceof ProductType) {
377 int size = colorCombobox.getColorType().size();376 int size = ((ProductType) colorTypeCombobox.getItemAt(colorTypeCombobox.getSelectedIndex())).size();
378 Vector<ColorExpression> tempVec1 = createPlaceholderVectors(size);377 Vector<ColorExpression> tempVec1 = createPlaceholderVectors(size);
379 Vector<ColorExpression> tempVec2 = createPlaceholderVectors(size);378 Vector<ColorExpression> tempVec2 = createPlaceholderVectors(size);
380 return new Pair<>(new TupleExpression(tempVec1), new TupleExpression(tempVec2));379 return new Pair<>(new TupleExpression(tempVec1), new TupleExpression(tempVec2));
@@ -666,10 +665,14 @@
666 greaterThanEqButton.setEnabled(true);665 greaterThanEqButton.setEnabled(true);
667 lessThanEqButton.setEnabled(true);666 lessThanEqButton.setEnabled(true);
668 lessThanButton.setEnabled(true);667 lessThanButton.setEnabled(true);
669 colorTypeCombobox.setEnabled(true);
670 succButton.setEnabled(false);668 succButton.setEnabled(false);
671 predButton.setEnabled(false);669 predButton.setEnabled(false);
672 colorCombobox.setEnabled(false);670 colorCombobox.setEnabled(false);
671 if (currentSelection.getObject() instanceof PlaceHolderGuardExpression) {
672 colorTypeCombobox.setEnabled(false);
673 } else {
674 colorTypeCombobox.setEnabled(true);
675 }
673 }676 }
674 if (colorTypeCombobox.getItemAt(colorTypeCombobox.getSelectedIndex()) instanceof ProductType) {677 if (colorTypeCombobox.getItemAt(colorTypeCombobox.getSelectedIndex()) instanceof ProductType) {
675 greaterThanButton.setEnabled(false);678 greaterThanButton.setEnabled(false);
@@ -720,7 +723,12 @@
720 if (currentSelection.getObject() instanceof ColorExpression) {723 if (currentSelection.getObject() instanceof ColorExpression) {
721 ColorType ct = colorTypeCombobox.getItemAt(colorTypeCombobox.getSelectedIndex());724 ColorType ct = colorTypeCombobox.getItemAt(colorTypeCombobox.getSelectedIndex());
722 if (ct instanceof ProductType && !(currentSelection.getObject() instanceof TupleExpression)) {725 if (ct instanceof ProductType && !(currentSelection.getObject() instanceof TupleExpression)) {
723 ColorType newColorType = ((ProductType) ct).getConstituents().get(((ColorExpression) currentSelection.getObject()).getIndex());726 int currentIndex = ((ColorExpression) currentSelection.getObject()).getIndex();
727 ColorType newColorType;
728 if (currentIndex == -1)
729 newColorType = ((ProductType) ct).getConstituents().firstElement();
730 else
731 newColorType = ((ProductType) ct).getConstituents().get(((ColorExpression) currentSelection.getObject()).getIndex());
724 colorCombobox.updateColorType(newColorType, context, true);732 colorCombobox.updateColorType(newColorType, context, true);
725 }733 }
726 ColorExpression exprToCheck = ((ColorExpression) currentSelection.getObject()).getBottomColorExpression();734 ColorExpression exprToCheck = ((ColorExpression) currentSelection.getObject()).getBottomColorExpression();
@@ -876,11 +884,22 @@
876884
877 private void updateExpression() {885 private void updateExpression() {
878 ColorType ct = colorTypeCombobox.getItemAt(colorTypeCombobox.getSelectedIndex());886 ColorType ct = colorTypeCombobox.getItemAt(colorTypeCombobox.getSelectedIndex());
879 ExprStringPosition[] children = newProperty.getChildren();887 ExprStringPosition[] children = currentSelection.getObject().getChildren();
880 GuardExpression oldProperty = newProperty.copy();888 Expression oldProperty = currentSelection.getObject().copy();
881889
882 if (ct == getColorType(newProperty)) return;890 if (ct == getColorType(newProperty)) return;
883891
892 updateChildren(ct, currentSelection.getObject(), children);
893
894 if (doColorTypeUndo) {
895 replaceAndAddToUndo(oldProperty, newProperty);
896 } else {
897 newProperty = newProperty.replace(oldProperty, newProperty);
898 updateSelection(newProperty);
899 }
900 }
901
902 private void updateChildren(ColorType ct, Expression parent, ExprStringPosition[] children) {
884 for (ExprStringPosition child : children) {903 for (ExprStringPosition child : children) {
885 if (child.getObject() instanceof ColorExpression) {904 if (child.getObject() instanceof ColorExpression) {
886 Expression expr;905 Expression expr;
@@ -890,14 +909,10 @@
890 expr = new PlaceHolderColorExpression();909 expr = new PlaceHolderColorExpression();
891 }910 }
892 newProperty = newProperty.replace(child.getObject(), expr);911 newProperty = newProperty.replace(child.getObject(), expr);
912 } else if (parent instanceof NotExpression && child.getObject() instanceof LeftRightGuardExpression) {
913 updateChildren(ct, child.getObject(), child.getObject().getChildren());
893 }914 }
894 }915 }
895 if (doColorTypeUndo) {
896 replaceAndAddToUndo(oldProperty, newProperty);
897 } else {
898 newProperty = newProperty.replace(oldProperty, newProperty);
899 updateSelection(newProperty);
900 }
901 }916 }
902917
903 // /////////////////////////////////////////////////////////////////////918 // /////////////////////////////////////////////////////////////////////

Subscribers

People subscribed via source and target branches

to all changes: