diff --git a/src/main/java/ui/AvatarPanelDrawer.java b/src/main/java/ui/AvatarPanelDrawer.java index f3953695577abb45ecf6cd9bcf51f368efcf6e69..da3517b76a94354629f173c06d13f0d19293846b 100644 --- a/src/main/java/ui/AvatarPanelDrawer.java +++ b/src/main/java/ui/AvatarPanelDrawer.java @@ -66,10 +66,9 @@ public class AvatarPanelDrawer { private boolean hasCrypto = false; public AvatarPanelDrawer() { - } - - public void drawPanel(AvatarSpecification avspec, AvatarDesignPanel adp, boolean useOriginalValuesFirst) { + + public void drawPanel(AvatarSpecification avspec, AvatarDesignPanel adp, boolean useOriginalValuesFirst, boolean useOriginalPositionSMD) { // // Check Errors in AVSPEC avspec.removeAnomalies(); @@ -149,7 +148,7 @@ public class AvatarPanelDrawer { AvatarSMDPanel smp = adp.getAvatarSMDPanel(bl.getValue()); //TraceManager.addDev("\nBuilding state machine of block " + ab.getName() + " smd:" + ab.getStateMachine().toString() + "\n" + // "\n"); - buildStateMachine(ab, bl, smp, useOriginalValuesFirst); + buildStateMachine(ab, bl, smp, useOriginalValuesFirst, useOriginalPositionSMD); //TraceManager.addDev("Putting in block") blockMap.put(bl.getValue().split("__")[bl.getValue().split("__").length - 1], bl); xpos += 100 * blockSizeMap.get(ab) + 200; @@ -187,7 +186,7 @@ public class AvatarPanelDrawer { drawBlockProperties(avspec, ab, bl, useOriginalValuesFirst); abd.attach(bl); AvatarSMDPanel smp = adp.getAvatarSMDPanel(bl.getValue()); - buildStateMachine(ab, bl, smp, useOriginalValuesFirst); + buildStateMachine(ab, bl, smp, useOriginalValuesFirst, useOriginalPositionSMD); blockMap.put(bl.getValue().split("__")[bl.getValue().split("__").length - 1], bl); size = bl.getWidth(); blockIncMap.put(ab.getFather(), blockIncMap.get(ab.getFather()) + size + 10); @@ -405,7 +404,8 @@ public class AvatarPanelDrawer { } - public void buildStateMachine(AvatarBlock ab, AvatarBDBlock bl, AvatarSMDPanel smp, boolean useOriginalValuesFirst) { + public void buildStateMachine(AvatarBlock ab, AvatarBDBlock bl, AvatarSMDPanel smp, boolean useOriginalValuesFirst, + boolean useOriginalPositionSMD) { //TraceManager.addDev("Building state machine of " + ab.getName()); @@ -434,7 +434,7 @@ public class AvatarPanelDrawer { AvatarStartState start = asm.getStartState(); - addStates(start, smx, smy, smp, bl, SMDMap, locMap, tranDestMap, tranSourceMap, refMap, useOriginalValuesFirst); + addStates(start, smx, smy, smp, bl, SMDMap, locMap, tranDestMap, tranSourceMap, refMap, useOriginalValuesFirst, useOriginalPositionSMD); //TraceManager.addDev("\nState machine: " + asm.toString() + "\n\n"); @@ -474,56 +474,7 @@ public class AvatarPanelDrawer { } - /*if ((t.getReferenceObject() instanceof TGConnector) && (t.getOtherReferenceObjects().size() > 1)) { - TraceManager.addDev("Found reference objects before / after avatar transition"); - TGConnector tgcon = (TGConnector) (t.getReferenceObject()); - if ((t.getOtherReferenceObjects().get(0) instanceof TGComponent) && (t.getOtherReferenceObjects().get(1) instanceof TGComponent)) { - // Find the first two components which are not TGCPointOfConnector - TGComponent tgc1 = findTGComponentNoPoint(t.getOtherReferenceObjects(), 0); - TGComponent tgc2 = findTGComponentNoPoint(t.getOtherReferenceObjects(), 1); - - // Find if there are other TGComponents which are not points - TraceManager.addDev("\t source: " + tgc1 + "x=" + tgc1.getX() + " y=" + tgc1.getY()); - TraceManager.addDev("\t dest: " + tgc2 + "x=" + tgc2.getX() + " y=" + tgc2.getY()); - - int index1 = tgc1.getIndexOfTGConnectingPoint(tgcon.getTGConnectingPointP1()); - int index2 = tgc2.getIndexOfTGConnectingPoint(tgcon.getTGConnectingPointP2()); - - - if ((index1 != -1) && (index2 != -1)) { - TraceManager.addDev("Computing p1 and p2"); - p1 = tranSourceMap.get(t).getFreeTGConnectingPoint(index1); - p2 = locMap.get(tranDestMap.get(t)).getFreeTGConnectingPoint(index2); - } else if (tgcon.getTDiagramPanel() != null) { - TraceManager.addDev("Index of points is not valid"); - TGComponent tgc3 = null; - TGComponent tgc4 = null; - - // look for the connecting point in the panel - tgc3 = tgcon.getTDiagramPanel().getComponentToWhichBelongs(tgcon.getTGConnectingPointP1()); - if ((tgc3 != null) && (tgc3.getClass() == tgc1.getClass())) { - // Get equivalent tgc in new tdp - tgc3 = smp.getEquivalentComponent(tgc3); - } - - // look for the connecting point in the panel - tgc4 = tgcon.getTDiagramPanel().getComponentToWhichBelongs(tgcon.getTGConnectingPointP2()); - if ((tgc4 != null) && (tgc4.getClass() == tgc2.getClass())) { - // Get equivalent tgc in new tdp - tgc4 = smp.getEquivalentComponent(tgc4); - } - if ((tgc3 != null) && (tgc4 != null)) { - index1 = tgc3.getIndexOfTGConnectingPoint(tgcon.getTGConnectingPointP1()); - index2 = tgc4.getIndexOfTGConnectingPoint(tgcon.getTGConnectingPointP2()); - if ((index1 != -1) && (index2 != -1)) { - p1 = tgc3.getFreeTGConnectingPoint(index1); - p2 = tgc4.getFreeTGConnectingPoint(index2); - } - } - } - } - }*/ if ((p1 == null) || (p2 == null)) { if (p1 == null) { p1 = tranSourceMap.get(t).closerFreeTGConnectingPoint(x, y, false, true); @@ -614,7 +565,7 @@ public class AvatarPanelDrawer { Map<AvatarStateMachineElement, TGComponent> SMDMap, Map<AvatarStateMachineElement, TGComponent> locMap, Map<AvatarTransition, AvatarStateMachineElement> tranDestMap, Map<AvatarTransition, TGComponent> tranSourceMap, Map<Object, TGComponent> refMap, - boolean useOriginalValuesFirst) { + boolean useOriginalValuesFirst, boolean useOriginalPositionSMD) { // TGConnectingPoint tp = new TGConnectingPoint(null, x, y, false, false); //Create dummy tgcomponent @@ -632,7 +583,7 @@ public class AvatarPanelDrawer { TGComponent tgc = null; - if (asme.getReferenceObject() instanceof TGComponent) { + if ((asme.getReferenceObject() instanceof TGComponent) && useOriginalPositionSMD) { tgc = (TGComponent) (asme.getReferenceObject()); newX = tgc.getX(); newY = tgc.getY(); @@ -920,7 +871,8 @@ public class AvatarPanelDrawer { if (!SMDMap.containsKey(el)) { /*TraceManager.addDev("not in map: Block " + bl.getName() + " / " + bl.getValue() + " Handling next of " + asme.getExtendedName() + ": " + el.getExtendedName());*/ - addStates(el, x + diff * i, y + ydiff, smp, bl, SMDMap, locMap, tranDestMap, tranSourceMap, refMap, useOriginalValuesFirst); + addStates(el, x + diff * i, y + ydiff, smp, bl, SMDMap, locMap, tranDestMap, tranSourceMap, refMap, + useOriginalValuesFirst, useOriginalPositionSMD); } i++; } diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java index 5ee02cfa0d58bb8948c0ab1a4afd5aa4d2c558a4..8eaefff1825c998b203e0c9ed4d60b158aac8441 100644 --- a/src/main/java/ui/GTURTLEModeling.java +++ b/src/main/java/ui/GTURTLEModeling.java @@ -9379,9 +9379,9 @@ public class GTURTLEModeling { - public void drawPanel(AvatarSpecification avspec, AvatarDesignPanel adp, boolean useOriginalValuesFirst) { + public void drawPanel(AvatarSpecification avspec, AvatarDesignPanel adp, boolean useOriginalValuesFirst, boolean useOriginalPositionSMD) { AvatarPanelDrawer apd = new AvatarPanelDrawer(); - apd.drawPanel(avspec, adp, useOriginalValuesFirst); + apd.drawPanel(avspec, adp, useOriginalValuesFirst, useOriginalPositionSMD); } diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java index 5abbd51d55a42e0939c24d4571a88abb27d54939..867acb410d5d90250b2086c2d23b16bf14074ee1 100644 --- a/src/main/java/ui/MainGUI.java +++ b/src/main/java/ui/MainGUI.java @@ -1913,10 +1913,14 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per public void actionDrawAvatar(boolean useOriginalValuesFirst) { AvatarSpecification as = gtm.getAvatarSpecification(); if (as != null) { - drawAvatarSpecification(as, useOriginalValuesFirst); + drawAvatarSpecification(as, useOriginalValuesFirst, true); } } + public void drawAvatarSpecification(AvatarSpecification av, boolean useOriginalValuesFirst) { + drawAvatarSpecification(av, useOriginalValuesFirst, true); + } + public void drawAvatarSpecification(AvatarSpecification av, boolean useOriginalValuesFirst, boolean useOriginalPositionSMD) { DateFormat dateFormat = new SimpleDateFormat("_yyyyMMdd_HHmmss"); Date date = new Date(); String dateAndTime = dateFormat.format(date); @@ -1931,7 +1935,7 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per AvatarDesignPanel adp = (AvatarDesignPanel) (tabs.elementAt(index)); TraceManager.addDev("Draw Spec 3"); adp.abdp.drawable = false; - gtm.drawPanel(av, adp, useOriginalValuesFirst); + gtm.drawPanel(av, adp, useOriginalValuesFirst, useOriginalPositionSMD); adp.abdp.drawable = true; adp.abdp.repaint(); TraceManager.addDev("Draw Spec 4"); diff --git a/src/main/java/ui/window/JDialogProverifVerification.java b/src/main/java/ui/window/JDialogProverifVerification.java index 5a0b16ad6c8739fe7ef688f8672eef1e18b55b37..1dce659f706f96f9c506c836b175ce252a916d81 100644 --- a/src/main/java/ui/window/JDialogProverifVerification.java +++ b/src/main/java/ui/window/JDialogProverifVerification.java @@ -1776,7 +1776,7 @@ public class JDialogProverifVerification extends JDialog implements ActionListen if (drawAvatarDesign != null) { if (drawAvatarDesign.isSelected()) { - mgui.drawAvatarSpecification(mgui.gtm.getAvatarSpecification(), false); + mgui.drawAvatarSpecification(mgui.gtm.getAvatarSpecification(), false, false); } }