diff --git a/src/tmltranslator/SecurityPattern.java b/src/tmltranslator/SecurityPattern.java
index 389203f32ac1cb34987a8ffe4507fb0183e7fb8c..bad485c3056db2e6847922f1527ca748cac3b685 100644
--- a/src/tmltranslator/SecurityPattern.java
+++ b/src/tmltranslator/SecurityPattern.java
@@ -11,10 +11,11 @@ public int time=0;
 public String originTask;
 public AvatarState state1;
 public AvatarState state2;
-
-public SecurityPattern(String _name, String _type, String _overhead, String _size, String _time){
+public String nonce;
+public SecurityPattern(String _name, String _type, String _overhead, String _size, String _time, String _nonce){
     this.name=_name; 
     this.type=_type;
+    this.nonce=_nonce;
     if (!_overhead.equals("")){
 	this.overhead = Integer.valueOf(_overhead);
     }
diff --git a/src/tmltranslator/toavatar/TML2Avatar.java b/src/tmltranslator/toavatar/TML2Avatar.java
index 0d564f78c212b41417cf8b1d0c4a3055c8b82dff..deb03439e146c9e8c3987c7a30e723cdcd8f07cf 100644
--- a/src/tmltranslator/toavatar/TML2Avatar.java
+++ b/src/tmltranslator/toavatar/TML2Avatar.java
@@ -707,6 +707,8 @@ public class TML2Avatar {
 		    AvatarAttributeState authDest = new AvatarAttributeState(ae.securityPattern.name+"2",ae.getReferenceObject(),block.getAvatarAttributeWithName(ae.securityPattern.name), dummy);
 		    signalAuthDestMap.put(ae.securityPattern.name, authDest);
 		}
+		else if (ae.securityPattern.type.equals("MAC")){
+		}
 	    }
 	    else {
 	    	as.addNext(tran);
diff --git a/src/ui/GTMLModeling.java b/src/ui/GTMLModeling.java
index 6709bc8db7c97f12ea87c736c2117424ded45878..d72ccb84b6adef529d0110956103e27b46ee354f 100755
--- a/src/ui/GTMLModeling.java
+++ b/src/ui/GTMLModeling.java
@@ -1300,7 +1300,7 @@ public class GTMLModeling  {
 	while(iterator.hasNext()){
 	    tgc = (TGComponent)(iterator.next());
 	    if (tgc instanceof TMLADEncrypt) {
-		SecurityPattern securityPattern = new SecurityPattern(((TMLADEncrypt)tgc).securityContext, ((TMLADEncrypt)tgc).type, ((TMLADEncrypt)tgc).message_overhead, ((TMLADEncrypt)tgc).size, ((TMLADEncrypt)tgc).calculationTime);
+		SecurityPattern securityPattern = new SecurityPattern(((TMLADEncrypt)tgc).securityContext, ((TMLADEncrypt)tgc).type, ((TMLADEncrypt)tgc).message_overhead, ((TMLADEncrypt)tgc).size, ((TMLADEncrypt)tgc).calculationTime, ((TMLADEncrypt)tgc).nonce);
 		securityPatterns.put(securityPattern.name, securityPattern);
 	    }
 	}
diff --git a/src/ui/MainGUI.java b/src/ui/MainGUI.java
index 212909cd272e42053720763b4d9b76be3c508a9a..8a5d83e741530ab934524d4909d854c110699f4f 100755
--- a/src/ui/MainGUI.java
+++ b/src/ui/MainGUI.java
@@ -306,7 +306,7 @@ public  class MainGUI implements ActionListener, WindowListener, KeyListener, Pe
     private Map<String, String> statusMap = new HashMap<String, String>();
     private JFrameInteractiveSimulation jfis;
     private JFrameAvatarInteractiveSimulation jfais;
-
+   
     // Invariants
     Invariant currentInvariant;
 
@@ -3773,6 +3773,26 @@ public  class MainGUI implements ActionListener, WindowListener, KeyListener, Pe
         return tmlcomp.getAllInChannels(name);
     }
 
+    public String[] getAllCryptoConfig() {
+        TURTLEPanel tp = getCurrentTURTLEPanel();
+        if (tp == null) {return null;}
+        if (!(tp instanceof TMLComponentDesignPanel)) {return null;}
+        TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp;
+        ArrayList<String> strlist = tmlcomp.getAllCryptoConfig();
+        String[] strarray = new String[strlist.size()];
+	strlist.toArray(strarray); 
+	return strarray;
+    }
+    public String[] getAllNonce(){
+        TURTLEPanel tp = getCurrentTURTLEPanel();
+        if (tp == null) {return null;}
+        if (!(tp instanceof TMLComponentDesignPanel)) {return null;}
+        TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp;
+        ArrayList<String> strlist = tmlcomp.getAllNonce();
+        String[] strarray = new String[strlist.size()];
+	strlist.toArray(strarray); 
+	return strarray;
+    }
     public String[] getAllOutRequests() {
         TURTLEPanel tp = getCurrentTURTLEPanel();
         if (tp == null) {return null;}
diff --git a/src/ui/TMLComponentDesignPanel.java b/src/ui/TMLComponentDesignPanel.java
index 6adbf3327553aa1ac44fdbf5bc8fff5c943692b5..936f03648f45f2ac60da51aeaac75109629d710c 100755
--- a/src/ui/TMLComponentDesignPanel.java
+++ b/src/ui/TMLComponentDesignPanel.java
@@ -210,6 +210,25 @@ public class TMLComponentDesignPanel extends TURTLEPanel {
             }
         }
     }
+    public ArrayList<String> getAllCryptoConfig(){
+	ArrayList<String> cryptoConfigs=new ArrayList<String>();
+	TMLActivityDiagramPanel tmladp;
+        for(int i=1; i<panels.size(); i++) {
+            tmladp = (TMLActivityDiagramPanel)(panels.elementAt(i));
+            cryptoConfigs.addAll(tmladp.getAllCryptoConfig());
+        }
+	return cryptoConfigs;
+    }
+    public ArrayList<String> getAllNonce(){
+	ArrayList<String> ns=new ArrayList<String>();
+	TMLActivityDiagramPanel tmladp;
+        for(int i=1; i<panels.size(); i++) {
+            tmladp = (TMLActivityDiagramPanel)(panels.elementAt(i));
+            ns.addAll(tmladp.getAllNonce());
+        }
+	return ns;
+    }
+
 
     public String[] getAllOutEvents(String nameOfComponent) {
 	return tmlctdp.getAllOutEvents(nameOfComponent);
diff --git a/src/ui/tmlad/TMLADDecrypt.java b/src/ui/tmlad/TMLADDecrypt.java
index 7e58bf99df2741aa6843fed02c7e12060f537c23..ae1e775f6fa3b924f5f4a67f5f335e9ba8ed9b2e 100755
--- a/src/ui/tmlad/TMLADDecrypt.java
+++ b/src/ui/tmlad/TMLADDecrypt.java
@@ -118,9 +118,10 @@ public boolean editOndoubleClick(JFrame frame) {
 	labels[0] = "Security Pattern";
 	values[0] = securityContext;
 	
-
+	ArrayList<String []> help = new ArrayList<String []>();
+	help.add(tdp.getMGUI().getAllCryptoConfig());
         //JDialogTwoString jdts = new JDialogTwoString(frame, "Setting channel's properties", "Channel name", channelName, "Nb of samples", nbOfSamples);
-	JDialogMultiString jdms = new JDialogMultiString(frame, "Setting channel's properties", 1, labels, values);
+	JDialogMultiString jdms = new JDialogMultiString(frame, "Setting channel's properties", 1, labels, values,help);
         jdms.setSize(450, 300);
         GraphicLib.centerOnParent(jdms);
         jdms.show(); // blocked until dialog has been closed
diff --git a/src/ui/tmlad/TMLADEncrypt.java b/src/ui/tmlad/TMLADEncrypt.java
index e824c0781b9a2d2fd7319b454a48624f744bbdf0..870f24a0016ddd7281265e6798d604de303cd595 100755
--- a/src/ui/tmlad/TMLADEncrypt.java
+++ b/src/ui/tmlad/TMLADEncrypt.java
@@ -67,6 +67,7 @@ public class TMLADEncrypt extends TGCWithoutInternalComponent implements Embedde
     public String size="";
     public String securityContext="";
     public String calculationTime="100";
+    public String nonce="";
 	
 	protected int stateOfError = 0; // Not yet checked
     
@@ -119,8 +120,9 @@ public class TMLADEncrypt extends TGCWithoutInternalComponent implements Embedde
 public boolean editOndoubleClick(JFrame frame) {
 
         //JDialogTwoString jdts = new JDialogTwoString(frame, "Setting channel's properties", "Channel name", channelName, "Nb of samples", nbOfSamples);]
-	String[] values=new String[]{securityContext, type, message_overhead, size, calculationTime};
-	JDialogCryptographicConfiguration jdms = new JDialogCryptographicConfiguration(frame, "Setting Cryptographic Configuration properties", values);
+	String[] values=new String[]{securityContext, type, message_overhead, size, calculationTime, nonce};
+	String[] nonces=tdp.getMGUI().getAllNonce();
+	JDialogCryptographicConfiguration jdms = new JDialogCryptographicConfiguration(frame, "Setting Cryptographic Configuration properties", values, nonces);
         jdms.setSize(650, 300);
         GraphicLib.centerOnParent(jdms);
         jdms.show(); // blocked until dialog has been closed
@@ -131,6 +133,7 @@ public boolean editOndoubleClick(JFrame frame) {
 	    message_overhead=jdms.getString(2);
 	    calculationTime=jdms.getString(3);
 	    size=jdms.getString(4);
+	    nonce=jdms.getString(5);
             return true;
         }
 
diff --git a/src/ui/tmlad/TMLADReadChannel.java b/src/ui/tmlad/TMLADReadChannel.java
index 24b4b6fb201db40f0e7423faf206c5711d71e0fd..af2231740afba7966fbe8e2b365aefe0497d2383 100755
--- a/src/ui/tmlad/TMLADReadChannel.java
+++ b/src/ui/tmlad/TMLADReadChannel.java
@@ -225,6 +225,9 @@ public class TMLADReadChannel extends TGCWithoutInternalComponent implements Che
         ArrayList<String []> help = new ArrayList<String []>();
 	String[] allInChannels = tdp.getMGUI().getAllInChannels();
 	help.add(allInChannels);
+	help.add(null);
+	help.add(tdp.getMGUI().getAllCryptoConfig());
+
 
        // JDialogTwoString jdts = new JDialogTwoString(frame, "Setting channel's properties", "Channel name", channelName, "Nb of samples", nbOfSamples);
 
diff --git a/src/ui/tmlad/TMLADWriteChannel.java b/src/ui/tmlad/TMLADWriteChannel.java
index 12a637aa861a17c31b0fec1b7014eb155a0656ac..9a4dfae84a78c7c2a7910f2faa36b0ebc2915ea4 100755
--- a/src/ui/tmlad/TMLADWriteChannel.java
+++ b/src/ui/tmlad/TMLADWriteChannel.java
@@ -231,7 +231,8 @@ public class TMLADWriteChannel extends TGCWithoutInternalComponent implements Ch
         ArrayList<String []> help = new ArrayList<String []>();
 	String[] allOutChannels = tdp.getMGUI().getAllOutChannels();
 	help.add(allOutChannels);
-	
+	help.add(null);
+	help.add(tdp.getMGUI().getAllCryptoConfig());
 
         //JDialogTwoString jdts = new JDialogTwoString(frame, "Setting channel's properties", "Channel name", channelName, "Nb of samples", nbOfSamples);
 	JDialogMultiString jdms = new JDialogMultiString(frame, "Setting channel's properties", 3, labels, values, help);
diff --git a/src/ui/tmlad/TMLActivityDiagramPanel.java b/src/ui/tmlad/TMLActivityDiagramPanel.java
index 3f6293a48a7cbc773090f6c7a31bcd19fc90d623..78d1b0d38bbf685c166dc958123b9f44e39a7b69 100755
--- a/src/ui/tmlad/TMLActivityDiagramPanel.java
+++ b/src/ui/tmlad/TMLActivityDiagramPanel.java
@@ -169,5 +169,31 @@ public class TMLActivityDiagramPanel extends TDiagramPanel {
 	public boolean hasAutoConnect() {
 		return true;
 	}
-    
+    public ArrayList<String> getAllCryptoConfig(){
+	ArrayList<String> cc=new ArrayList<String>();
+	LinkedList<TGComponent> comps= getAllComponentList();
+	for (TGComponent c: comps){
+	    if (c instanceof TMLADEncrypt){
+		TMLADEncrypt en= (TMLADEncrypt) c;
+		if (!en.securityContext.isEmpty()){
+		    cc.add(en.securityContext);
+		}
+	    }
+	}
+	return cc;
+    }
+
+    public ArrayList<String> getAllNonce(){
+	ArrayList<String> ns=new ArrayList<String>();
+	LinkedList<TGComponent> comps= getAllComponentList();
+	for (TGComponent c: comps){
+	    if (c instanceof TMLADEncrypt){
+		TMLADEncrypt en= (TMLADEncrypt) c;
+		if (!en.securityContext.isEmpty() && en.type.equals("Nonce")){
+		     ns.add(en.securityContext);
+		}
+	    }
+	}
+	return ns;
+    }
 }
diff --git a/src/ui/window/JDialogCryptographicConfiguration.java b/src/ui/window/JDialogCryptographicConfiguration.java
index 39422ceccdfae5214dca35dc45daf2ed5378bd20..e91c2a33785b80ab195ee88ba0be2093f66f5757 100644
--- a/src/ui/window/JDialogCryptographicConfiguration.java
+++ b/src/ui/window/JDialogCryptographicConfiguration.java
@@ -72,19 +72,21 @@ public class JDialogCryptographicConfiguration extends javax.swing.JDialog imple
     // Main Panel
     private JButton closeButton;
     private JButton cancelButton;
-
+    String[] nonces;
     private ArrayList<String[]> possibleValues = null;
 
-
+    GridBagConstraints c0 = new GridBagConstraints();
+    Container c;
     /** Creates new form  */
     // arrayDelay: [0] -> minDelay ; [1] -> maxDelay
-    public JDialogCryptographicConfiguration(Frame f, String title, String[] _values) {
+    public JDialogCryptographicConfiguration(Frame f, String title, String[] _values, String[] _nonces) {
 
         super(f, title, true);
 
-        nbString = 5;
+        nbString = 6;
 
 	values=_values;
+	nonces=_nonces;
         texts = new JTextField[nbString];
 
         initComponents();
@@ -100,33 +102,126 @@ public class JDialogCryptographicConfiguration extends javax.swing.JDialog imple
 	inserts = new JButton[nbString];
 	helps = new JComboBox[nbString];
 
-        Container c = getContentPane();
+        c = getContentPane();
         GridBagLayout gridbag0 = new GridBagLayout();
-        GridBagLayout gridbag1 = new GridBagLayout();
-        GridBagConstraints c0 = new GridBagConstraints();
-        GridBagConstraints c1 = new GridBagConstraints();
+
+
 
         setFont(new Font("Helvetica", Font.PLAIN, 14));
         c.setLayout(gridbag0);
 
         setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
 
-        panel1 = new JPanel();
-        panel1.setLayout(gridbag1);
+  
+	panel1= new EncryptPanel(this);
+	c0.gridwidth = 1;
+        c0.gridheight = 10;
+        c0.weighty = 1.0;
+        c0.weightx = 1.0;
+        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
+        c.add(panel1, c0);
+
+
+
+
+        // main panel;
+        c0.gridwidth = 1;
+        c0.gridheight = 1;
+        c0.fill = GridBagConstraints.HORIZONTAL;
+        closeButton = new JButton("Save and Close", IconManager.imgic25);
+        //closeButton.setPreferredSize(new Dimension(600, 50));
+        closeButton.addActionListener(this);
+        c.add(closeButton, c0);
+        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
+        cancelButton = new JButton("Cancel", IconManager.imgic27);
+        cancelButton.addActionListener(this);
+        c.add(cancelButton, c0);
+    }
+
+    public void actionPerformed(ActionEvent evt)  {
+        String command = evt.getActionCommand();
+
+        // Compare the action command to the known actions.
+        if (command.equals("Save and Close"))  {
+            closeDialog();
+        } else if (command.equals("Cancel")) {
+            cancelDialog();
+        } else if (inserts[0] != null) {
+	    if (evt.getSource() == inserts[0]) {
+		texts[1].setText(helps[1].getSelectedItem().toString());
+		boolean repanel = false;
+		if ((helps[1].getSelectedIndex() >1) && !(panel1 instanceof funcPanel)){
+		    values[1]=helps[1].getSelectedItem().toString();
+		    values[0]=texts[0].getText();
+		    values[3]=texts[3].getText();
+		    values[2]="";
+		    values[5]="";
+		    repanel=true;
+		    c.removeAll();
+		    panel1= new funcPanel(this);
+		}
+		else if ((helps[1].getSelectedIndex() <2) && !(panel1 instanceof EncryptPanel)){
+		    values[1]=helps[1].getSelectedItem().toString();
+		    values[0]=texts[0].getText();
+		    values[3]=texts[3].getText();
+		    values[4]="";
+		    c.removeAll();
+		    repanel=true;
+		    panel1= new EncryptPanel(this);
+
+		}
+		
+		if (repanel){
+		    c0.gridwidth = 1;
+        	    c0.gridheight = 10;
+        	    c0.weighty = 1.0;
+    		    c0.weightx = 1.0;
+    		    c0.gridwidth = GridBagConstraints.REMAINDER; //end row
+
+		    c.add(panel1,c0);
+		    // main panel;
+  		    c0.gridwidth = 1;
+  		    c0.gridheight = 1;
+  		    c0.fill = GridBagConstraints.HORIZONTAL;
+ 		    closeButton = new JButton("Save and Close", IconManager.imgic25);
+ 		    //closeButton.setPreferredSize(new Dimension(600, 50));
+        	    closeButton.addActionListener(this);
+        	    c.add(closeButton, c0);
+        	    c0.gridwidth = GridBagConstraints.REMAINDER; //end row
+        	    cancelButton = new JButton("Cancel", IconManager.imgic27);
+    		    cancelButton.addActionListener(this);
+   		    c.add(cancelButton, c0);
+		    this.invalidate();	   
+		    this.validate();
+		    this.repaint();
+		}
+	    }
+	    if (evt.getSource() == inserts[5]) {
+		texts[5].setText(helps[5].getSelectedItem().toString());
+	    }
+	}
+    }
+
 
-        panel1.setBorder(new javax.swing.border.TitledBorder("Properties"));
 
-        panel1.setPreferredSize(new Dimension(600, 200));
+    public class EncryptPanel extends JPanel {
+	public EncryptPanel(JDialogCryptographicConfiguration j){
+        GridBagConstraints c1 = new GridBagConstraints();
+        GridBagLayout gridbag1 = new GridBagLayout();
+
+        this.setLayout(gridbag1);
+
+        this.setBorder(new javax.swing.border.TitledBorder("Properties"));
+
+        this.setPreferredSize(new Dimension(600, 200));
 
-        // first line panel1
         c1.weighty = 1.0;
         c1.weightx = 1.0;
         c1.gridwidth = GridBagConstraints.REMAINDER; //end row
         c1.fill = GridBagConstraints.BOTH;
         c1.gridheight = 1;
-        panel1.add(new JLabel(" "), c1);
+        add(new JLabel(" "), c1);
 
-        // second line panel1
         c1.gridwidth = 1;
         c1.gridheight = 1;
         c1.weighty = 1.0;
@@ -134,84 +229,114 @@ public class JDialogCryptographicConfiguration extends javax.swing.JDialog imple
         c1.anchor = GridBagConstraints.CENTER;
         c1.fill = GridBagConstraints.HORIZONTAL;
         c1.anchor = GridBagConstraints.CENTER;
-	String[] vals = new String[]{"Symmetric Encryption", "Asymmetric Encryption","MAC", "Hash", "Message id"}; 
+	String[] vals = new String[]{"Symmetric Encryption", "Asymmetric Encryption","MAC", "Hash", "Nonce"}; 
         // String1
       	c1.gridwidth = 1;
-	panel1.add(new JLabel("Cryptographic Configuration"),c1);
+	add(new JLabel("Cryptographic Configuration"),c1);
 	texts[0]=new JTextField(values[0],15);
 	c1.gridwidth = GridBagConstraints.REMAINDER; //end row
-	panel1.add(texts[0],c1);
+	add(texts[0],c1);
 
 	c1.gridwidth=1;
-	panel1.add(new JLabel("Security Pattern"), c1);
+	add(new JLabel("Security Pattern"), c1);
 	helps[1]=new JComboBox(vals);
-	panel1.add(helps[1],c1);
+	helps[1].setSelectedItem(values[1]);
+	add(helps[1],c1);
 	c1.gridwidth=GridBagConstraints.REMAINDER;
 	inserts[0] = new JButton("Use");
-	inserts[0].addActionListener(this);
-	panel1.add(inserts[0], c1);
+	inserts[0].addActionListener(j);
+	add(inserts[0], c1);
 	texts[1]=new JTextField(values[1], 15);
-        panel1.add(texts[1], c1);
+        add(texts[1], c1);
 
       	c1.gridwidth = 1;
-	panel1.add(new JLabel("Overhead"),c1);
+	add(new JLabel("Overhead"),c1);
 	texts[2]=new JTextField(values[2],15);
 	c1.gridwidth = GridBagConstraints.REMAINDER; //end row
-	panel1.add(texts[2],c1);
+	add(texts[2],c1);
 
       	c1.gridwidth = 1;
-	panel1.add(new JLabel("Computational Complexity"),c1);
+	add(new JLabel("Computational Complexity"),c1);
 	texts[3]=new JTextField(values[3],15);
 	c1.gridwidth = GridBagConstraints.REMAINDER; //end row
-	panel1.add(texts[3],c1);
+	add(texts[3],c1);
+
 
       	c1.gridwidth = 1;
-	panel1.add(new JLabel("Size"),c1);
-	texts[4]=new JTextField(values[4],15);
-	c1.gridwidth = GridBagConstraints.REMAINDER; //end row
-	panel1.add(texts[4],c1);
+	add(new JLabel("Nonce"),c1);
+	helps[5]=new JComboBox(nonces);
+	helps[5].setSelectedItem(values[5]);
+	add(helps[5],c1);
+	c1.gridwidth=GridBagConstraints.REMAINDER;
+	inserts[5] = new JButton("Use");
+	inserts[5].addActionListener(j);
+	add(inserts[5], c1);
+	texts[5]=new JTextField(values[5], 15);
+        add(texts[5], c1);
+	}
+    }
 
+    public class funcPanel extends JPanel {
+      public funcPanel(JDialogCryptographicConfiguration j){
+        GridBagConstraints c1 = new GridBagConstraints();
+        GridBagLayout gridbag1 = new GridBagLayout();
 
+        setLayout(gridbag1);
 
+        setBorder(new javax.swing.border.TitledBorder("Properties"));
 
+        setPreferredSize(new Dimension(600, 200));
 
-        // main panel;
-        c0.gridwidth = 1;
-        c0.gridheight = 10;
-        c0.weighty = 1.0;
-        c0.weightx = 1.0;
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
+        c1.weighty = 1.0;
+        c1.weightx = 1.0;
+        c1.gridwidth = GridBagConstraints.REMAINDER; //end row
+        c1.fill = GridBagConstraints.BOTH;
+        c1.gridheight = 1;
+        add(new JLabel(" "), c1);
 
-        c.add(panel1, c0);
+        // second line panel1
+        c1.gridwidth = 1;
+        c1.gridheight = 1;
+        c1.weighty = 1.0;
+        c1.weightx = 1.0;
+        c1.anchor = GridBagConstraints.CENTER;
+        c1.fill = GridBagConstraints.HORIZONTAL;
+        c1.anchor = GridBagConstraints.CENTER;
+	String[] vals = new String[]{"Symmetric Encryption", "Asymmetric Encryption","MAC", "Hash", "Nonce"}; 
+        // String1
+      	c1.gridwidth = 1;
+	add(new JLabel("Cryptographic Configuration"),c1);
+	texts[0]=new JTextField(values[0],15);
+	c1.gridwidth = GridBagConstraints.REMAINDER; //end row
+	add(texts[0],c1);
 
-        c0.gridwidth = 1;
-        c0.gridheight = 1;
-        c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
-    }
+	c1.gridwidth=1;
+	add(new JLabel("Security Pattern"), c1);
+	helps[1]=new JComboBox(vals);
+	helps[1].setSelectedItem(values[1]);
+	add(helps[1],c1);
 
-    public void actionPerformed(ActionEvent evt)  {
-        String command = evt.getActionCommand();
+	c1.gridwidth=GridBagConstraints.REMAINDER;
+	inserts[0] = new JButton("Use");
+	inserts[0].addActionListener(j);
+	add(inserts[0], c1);
+	texts[1]=new JTextField(values[1], 15);
+        add(texts[1], c1);
 
-        // Compare the action command to the known actions.
-        if (command.equals("Save and Close"))  {
-            closeDialog();
-        } else if (command.equals("Cancel")) {
-            cancelDialog();
-        } else if (inserts[0] != null) {
-	    if (evt.getSource() == inserts[0]) {
-		texts[1].setText(helps[1].getSelectedItem().toString());
-	    }
-	}
-    }
+      	c1.gridwidth = 1;
+	add(new JLabel("Computational Complexity"),c1);
+	texts[3]=new JTextField(values[3],15);
+	c1.gridwidth = GridBagConstraints.REMAINDER; //end row
+	add(texts[3],c1);
 
+      	c1.gridwidth = 1;
+	add(new JLabel("Size"),c1);
+	texts[4]=new JTextField(values[4],15);
+	c1.gridwidth = GridBagConstraints.REMAINDER; //end row
+	add(texts[4],c1);
+        
+       }
+    }
 
     public void closeDialog() {
         set = true;