diff --git a/src/ui/tmlad/TMLADReadChannel.java b/src/ui/tmlad/TMLADReadChannel.java
index 7dff19298ad2326f4d4939d12da4ded24340498b..63674bb12295b382c30dba849024ee56222e4c54 100755
--- a/src/ui/tmlad/TMLADReadChannel.java
+++ b/src/ui/tmlad/TMLADReadChannel.java
@@ -49,6 +49,7 @@ package ui.tmlad;
 import java.awt.*;
 import java.awt.geom.*;
 import javax.swing.*;
+import java.util.*;
 
 import org.w3c.dom.*;
 
diff --git a/src/ui/tmlad/TMLADWaitEvent.java b/src/ui/tmlad/TMLADWaitEvent.java
index 2f26fe0a6356080e53992f0b9682d840ebf2f135..033ec4a7c292d7dbea35aa4b7f444fb31e5dc722 100755
--- a/src/ui/tmlad/TMLADWaitEvent.java
+++ b/src/ui/tmlad/TMLADWaitEvent.java
@@ -1,54 +1,55 @@
 /**Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
 
-ludovic.apvrille AT enst.fr
-
-This software is a computer program whose purpose is to allow the 
-edition of TURTLE analysis, design and deployment diagrams, to 
-allow the generation of RT-LOTOS or Java code from this diagram, 
-and at last to allow the analysis of formal validation traces 
-obtained from external tools, e.g. RTL from LAAS-CNRS and CADP 
-from INRIA Rhone-Alpes.
-
-This software is governed by the CeCILL  license under French law and
-abiding by the rules of distribution of free software.  You can  use, 
-modify and/ or redistribute the software under the terms of the CeCILL
-license as circulated by CEA, CNRS and INRIA at the following URL
-"http://www.cecill.info". 
-
-As a counterpart to the access to the source code and  rights to copy,
-modify and redistribute granted by the license, users are provided only
-with a limited warranty  and the software's author,  the holder of the
-economic rights,  and the successive licensors  have only  limited
-liability. 
-
-In this respect, the user's attention is drawn to the risks associated
-with loading,  using,  modifying and/or developing or reproducing the
-software by the user in light of its specific status of free software,
-that may mean  that it is complicated to manipulate,  and  that  also
-therefore means  that it is reserved for developers  and  experienced
-professionals having in-depth computer knowledge. Users are therefore
-encouraged to load and test the software's suitability as regards their
-requirements in conditions enabling the security of their systems and/or 
-data to be ensured and,  more generally, to use and operate it in the 
-same conditions as regards security. 
-
-The fact that you are presently reading this means that you have had
-knowledge of the CeCILL license and that you accept its terms.
-
-/**
- * Class TMLADWaitEvent
- * Action of waiting for an event
- * Creation: 21/11/2005
- * @version 1.0 21/11/2005
- * @author Ludovic APVRILLE
- * @see
- */
+   ludovic.apvrille AT enst.fr
+
+   This software is a computer program whose purpose is to allow the
+   edition of TURTLE analysis, design and deployment diagrams, to
+   allow the generation of RT-LOTOS or Java code from this diagram,
+   and at last to allow the analysis of formal validation traces
+   obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+   from INRIA Rhone-Alpes.
+
+   This software is governed by the CeCILL  license under French law and
+   abiding by the rules of distribution of free software.  You can  use,
+   modify and/ or redistribute the software under the terms of the CeCILL
+   license as circulated by CEA, CNRS and INRIA at the following URL
+   "http://www.cecill.info".
+
+   As a counterpart to the access to the source code and  rights to copy,
+   modify and redistribute granted by the license, users are provided only
+   with a limited warranty  and the software's author,  the holder of the
+   economic rights,  and the successive licensors  have only  limited
+   liability.
+
+   In this respect, the user's attention is drawn to the risks associated
+   with loading,  using,  modifying and/or developing or reproducing the
+   software by the user in light of its specific status of free software,
+   that may mean  that it is complicated to manipulate,  and  that  also
+   therefore means  that it is reserved for developers  and  experienced
+   professionals having in-depth computer knowledge. Users are therefore
+   encouraged to load and test the software's suitability as regards their
+   requirements in conditions enabling the security of their systems and/or
+   data to be ensured and,  more generally, to use and operate it in the
+   same conditions as regards security.
+
+   The fact that you are presently reading this means that you have had
+   knowledge of the CeCILL license and that you accept its terms.
+
+   /**
+   * Class TMLADWaitEvent
+   * Action of waiting for an event
+   * Creation: 21/11/2005
+   * @version 1.0 21/11/2005
+   * @author Ludovic APVRILLE
+   * @see
+   */
 
 package ui.tmlad;
 
 import java.awt.*;
 import java.awt.geom.*;
 import javax.swing.*;
+import java.util.*;
 
 import org.w3c.dom.*;
 
@@ -62,40 +63,40 @@ public class TMLADWaitEvent extends TGCWithoutInternalComponent implements Check
     protected int textY =  15;
     protected int linebreak = 10;
     protected int textX1 = 2;
-    
+
     protected String eventName = "evt";
     int nParam = 5;
     protected String [] params = new String[nParam];
-	
-	protected int stateOfError = 0; // Not yet checked
-    
+
+    protected int stateOfError = 0; // Not yet checked
+
     public TMLADWaitEvent(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp)  {
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
-        
+
         width = 30;
         height = 20;
         minWidth = 30;
-        
+
         nbConnectingPoint = 2;
         connectingPoint = new TGConnectingPoint[2];
         connectingPoint[0] = new TGConnectingPointTMLAD(this, 0, -lineLength, true, false, 0.5, 0.0);
         connectingPoint[1] = new TGConnectingPointTMLAD(this, 0, lineLength, false, true, 0.5, 1.0);
-        
+
         for(int i=0; i<nParam; i++) {
-            params[i] = "";   
+            params[i] = "";
         }
         //params[0] = "1";
-        
+
         moveable = true;
         editable = true;
         removable = true;
-        
+
         name = "wait event";
         makeValue();
-        
+
         myImageIcon = IconManager.imgic904;
     }
-    
+
     public void internalDrawing(Graphics g) {
         int w  = g.getFontMetrics().stringWidth(value);
         int w1 = Math.max(minWidth, w + 2 * textX);
@@ -104,63 +105,63 @@ public class TMLADWaitEvent extends TGCWithoutInternalComponent implements Check
             width = w1;
             //updateConnectingPoints();
         }
-		
-		if (stateOfError > 0)  {
-			Color c = g.getColor();
-			switch(stateOfError) {
-			case ErrorHighlight.OK:
-				g.setColor(ColorManager.TML_PORT_EVENT);
-				break;
-			default:
-				g.setColor(ColorManager.UNKNOWN_BOX_ACTION);
-			}
-			// Making the polygon
-			int [] px1 = {x, x+width, x+width, x, x+linebreak};
-			int [] py1 = {y, y, y+height, y+height, y+(height/2)};
-			g.fillPolygon(px1, py1, 5);
-			g.setColor(c);
-		}
-		
+
+        if (stateOfError > 0)  {
+            Color c = g.getColor();
+            switch(stateOfError) {
+            case ErrorHighlight.OK:
+                g.setColor(ColorManager.TML_PORT_EVENT);
+                break;
+            default:
+                g.setColor(ColorManager.UNKNOWN_BOX_ACTION);
+            }
+            // Making the polygon
+            int [] px1 = {x, x+width, x+width, x, x+linebreak};
+            int [] py1 = {y, y, y+height, y+height, y+(height/2)};
+            g.fillPolygon(px1, py1, 5);
+            g.setColor(c);
+        }
+
         //g.drawRoundRect(x, y, width, height, arc, arc);
         g.drawLine(x+(width/2), y, x+(width/2), y - lineLength);
         g.drawLine(x+(width/2), y+height, x+(width/2), y + lineLength + height);
-        
-		Color c = g.getColor();
-		int x1 = x + 1;
-		int y1 = y + 1;
-		int height1 = height;
-		int width1 = width;
-		g.setColor(ColorManager.TML_PORT_EVENT);
-		g.drawLine(x1, y1, x1+width1, y1);
+
+        Color c = g.getColor();
+        int x1 = x + 1;
+        int y1 = y + 1;
+        int height1 = height;
+        int width1 = width;
+        g.setColor(ColorManager.TML_PORT_EVENT);
+        g.drawLine(x1, y1, x1+width1, y1);
         g.drawLine(x1+width1, y1, x1+width1, y1+height1);
         g.drawLine(x1, y1+height1, x1+width1, y1+height1);
         g.drawLine(x1, y1, x1+linebreak, y1+height1/2);
         g.drawLine(x1, y1+height1, x1+linebreak, y1+height1/2);
-		g.setColor(c);
-		
+        g.setColor(c);
+
         g.drawLine(x, y, x+width, y);
         g.drawLine(x+width, y, x+width, y+height);
         g.drawLine(x, y+height, x+width, y+height);
         g.drawLine(x, y, x+linebreak, y+height/2);
         g.drawLine(x, y+height, x+linebreak, y+height/2);
-        
+
         g.drawString("evt", x+(width-w) / 2, y);
         g.drawString(value, x + linebreak + textX1, y + textY);
-		
+
     }
-    
+
     public TGComponent isOnMe(int _x, int _y) {
         if (GraphicLib.isInRectangle(_x, _y, x, y, width, height)) {
             return this;
         }
-        
+
         if ((int)(Line2D.ptSegDistSq(x+(width/2), y-lineLength, x+(width/2), y + lineLength + height, _x, _y)) < distanceSelected) {
-			return this;	
-		}
-        
+            return this;
+        }
+
         return null;
     }
-    
+
     public void makeValue() {
         boolean first = true;
         value = eventName + "(";
@@ -172,52 +173,52 @@ public class TMLADWaitEvent extends TGCWithoutInternalComponent implements Check
                     first = false;
                     value += params[i];
                 }
-                
+
             }
         }
         value += ") ";
-        
+
     }
-    
+
     public String getEventName() {
         return eventName;
     }
-    
+
     public String getParamValue(int i) {
         return params[i];
     }
-    
+
     public int nbOfParams() {
         return nParam;
     }
-	
-	 public String getRealParamValue(int index) {
-		int cpt = 0;
-		for(int i=0; i<nParam; i++) {
-			if (params[i].length() > 0) {
-				if (cpt == index) {
-					return params[i];
-				}
-				cpt ++;
+
+    public String getRealParamValue(int index) {
+        int cpt = 0;
+        for(int i=0; i<nParam; i++) {
+            if (params[i].length() > 0) {
+                if (cpt == index) {
+                    return params[i];
+                }
+                cpt ++;
             }
-		}
+        }
         return "";
     }
-	
-	public int realNbOfParams() {
+
+    public int realNbOfParams() {
         int cpt = 0;
-		for(int i=0; i<nParam; i++) {
+        for(int i=0; i<nParam; i++) {
             if (params[i].length() > 0) {
-				cpt ++;
+                cpt ++;
             }
         }
-		return cpt;
+        return cpt;
     }
-    
+
     public String getAction() {
         return value;
     }
-    
+
     public boolean editOndoubleClick(JFrame frame) {
         String [] labels = new String[nParam + 1];
         String [] values = new String[nParam + 1];
@@ -227,26 +228,30 @@ public class TMLADWaitEvent extends TGCWithoutInternalComponent implements Check
             labels[i+1] = "Param #" + (i+1);
             values[i+1] = params[i];
         }
-         
-        JDialogMultiString jdms = new JDialogMultiString(frame, "Setting event's properties", nParam+1, labels, values);
+
+	ArrayList<String []> help = new ArrayList<String []>();
+	String[] allOutEvents = tdp.getMGUI().getAllInEvents();
+	help.add(allOutEvents);
+
+        JDialogMultiString jdms = new JDialogMultiString(frame, "Setting event's properties", nParam+1, labels, values, help);
         jdms.setSize(350, 300);
         GraphicLib.centerOnParent(jdms);
         jdms.show(); // blocked until dialog has been closed
-        
+
         if (jdms.hasBeenSet() && (jdms.hasValidString(0))) {
-           eventName = jdms.getString(0);
-           for(int i=0; i<nParam; i++) {
+            eventName = jdms.getString(0);
+            for(int i=0; i<nParam; i++) {
                 params[i] = jdms.getString(i+1);
-           }
-           
-           makeValue();
-           return true;
+            }
+
+            makeValue();
+            return true;
         }
-        
+
         return false;
-         
+
     }
-    
+
     protected String translateExtraParam() {
         StringBuffer sb = new StringBuffer("<extraparam>\n");
         sb.append("<Data eventName=\"");
@@ -266,20 +271,20 @@ public class TMLADWaitEvent extends TGCWithoutInternalComponent implements Check
         sb.append("</extraparam>\n");
         return new String(sb);
     }
-    
+
     public void loadExtraParam(NodeList nl, int decX, int decY, int decId) throws MalformedModelingException{
         //System.out.println("*** load extra synchro *** " + getId());
         try {
-            
+
             NodeList nli;
             Node n1, n2;
             Element elt;
             int k;
             String s;
-            
+
             //System.out.println("Loading Synchronization gates");
             //System.out.println(nl.toString());
-            
+
             for(int i=0; i<nl.getLength(); i++) {
                 n1 = nl.item(i);
                 //System.out.println(n1);
@@ -293,34 +298,34 @@ public class TMLADWaitEvent extends TGCWithoutInternalComponent implements Check
                             if (elt.getTagName().equals("Data")) {
                                 eventName = elt.getAttribute("eventName");
                                 nParam = Math.max(nParam, Integer.decode(elt.getAttribute("nbOfParams")).intValue());
-                            }   
-                             if (elt.getTagName().equals("Param")) {
+                            }
+                            if (elt.getTagName().equals("Param")) {
                                 s = elt.getAttribute("value");
                                 k = Integer.decode(elt.getAttribute("index")).intValue();
                                 params[k] = s;
-                             }
+                            }
                         }
                     }
                 }
             }
-            
+
         } catch (Exception e) {
             throw new MalformedModelingException();
         }
         makeValue();
     }
-    
+
 
     public int getType() {
         return TGComponentManager.TMLAD_WAIT_EVENT;
     }
-    
+
     public int getDefaultConnector() {
-      return TGComponentManager.CONNECTOR_TMLAD;
+        return TGComponentManager.CONNECTOR_TMLAD;
     }
-	
-	public void setStateAction(int _stateAction) {
-		stateOfError = _stateAction;
-	}
-    
+
+    public void setStateAction(int _stateAction) {
+        stateOfError = _stateAction;
+    }
+
 }