diff --git a/src/main/java/ui/DrawerTMLModeling.java b/src/main/java/ui/DrawerTMLModeling.java index fe46188887b92e3e9bdfe6073a342ebda68e67a5..31a5ec64d47d1cfd2ea2bdfc160f6f5e81157148 100644 --- a/src/main/java/ui/DrawerTMLModeling.java +++ b/src/main/java/ui/DrawerTMLModeling.java @@ -479,8 +479,10 @@ public class DrawerTMLModeling { TGComponent newOne = createGUIComponentFromTMLComponent(nextTML, firstGUI, comp, activityPanel); if (newOne != null) { // Add component to panel, and then connect it to the previous component if possible - activityPanel.addBuiltComponent(newOne); - connectComponents(firstGUI, newOne, activityPanel); + if (newOne != firstGUI) { + activityPanel.addBuiltComponent(newOne); + connectComponents(firstGUI, newOne, activityPanel); + } drawRecursiveBehaviour(t, activity, nextTML, comp, newOne, activityPanel); } } @@ -493,6 +495,29 @@ public class DrawerTMLModeling { //TraceManager.addDev("Current first elt:" + elt); if (elt instanceof TMLActionState) { + + String action = ((TMLActionState)elt).getAction(); + + if (action.contains("__req")) { + // Reading arguments? + int index = action.indexOf("="); + if (index > -1) { + String var = action.substring(0, index).trim(); + if (var.length() > 0) { + TMLADReadRequestArg readReq; + if (firstGUI instanceof TMLADReadRequestArg) { + readReq = ((TMLADReadRequestArg)firstGUI); + } else { + readReq = new TMLADReadRequestArg(firstGUI.getX(), firstGUI.getY()+getYDep(), activityPanel.getMinX(), + activityPanel.getMaxX(), activityPanel.getMinY(), activityPanel.getMaxY(), true, null, activityPanel); + } + readReq.setParam(readReq.realNbOfParams(), var); + readReq.makeValue(); + return readReq; + } + } + } + TMLADActionState actionState = new TMLADActionState(firstGUI.getX(), firstGUI.getY()+getYDep(), activityPanel.getMinX(), activityPanel.getMaxX(), activityPanel.getMinY(), activityPanel.getMaxY(), true, null, activityPanel); actionState.setValue( ((TMLActionState)elt).getAction());