Index: /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/dialogs/TableLabelProvider.java
===================================================================
--- /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/dialogs/TableLabelProvider.java	(revision 7910)
+++ /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/dialogs/TableLabelProvider.java	(revision 7926)
@@ -9,4 +9,6 @@
 
 /**
+ * Custom Label provider for the properties table
+ * 
  * @author $Author: Snyder.Jason &
  * @version $ID: &
Index: /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/dialogs/PropertiesDialog.java
===================================================================
--- /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/dialogs/PropertiesDialog.java	(revision 7910)
+++ /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/dialogs/PropertiesDialog.java	(revision 7926)
@@ -36,7 +36,4 @@
 public class PropertiesDialog extends Dialog
 {
-    
-
-
 
     // ----------------------------------------------------------
@@ -230,71 +227,69 @@
 
    // ----------------------------------------------------------
-/* (non-Javadoc)
- * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
- */
-@Override
-protected void createButtonsForButtonBar(Composite parent)
-{
-    createButton(parent, IDialogConstants.CANCEL_ID, "Cancel", false);
-    addPropertyButton = createButton(parent, ADD_PROPERTY_ID, "Add Property", true);
-    addPropertyButton.addSelectionListener(new SelectionListener()
+    /* (non-Javadoc)
+     * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
+     */
+    @Override
+    protected void createButtonsForButtonBar(Composite parent)
     {
-
-        public void widgetDefaultSelected(SelectionEvent e)
-        {
-          // not used
-
-        }
-
-        public void widgetSelected(SelectionEvent e)
-        {
-            Property tmp = null;
-            String name = nameText.getText();
-            String mode = modeCombo.getText();
-            String type = typeCombo.getText();
-            String description = descriptionTextArea.getText();
-            if(elementCombo.getText().equals(elementChoices[0]))
+        createButton(parent, IDialogConstants.CANCEL_ID, "Cancel", false);
+        addPropertyButton = createButton(parent, ADD_PROPERTY_ID, "Add Property", true);
+        addPropertyButton.addSelectionListener(new SelectionListener()
+        {
+    
+            public void widgetDefaultSelected(SelectionEvent e)
             {
-                tmp = (SimpleProperty) editor.getComponent().factory().create(SimpleProperty.PYTHON_CLASS,
-                    name, mode, type, description);
-                ((SimpleProperty)tmp).setDefaultValue(valueText.getText());
-                ((SimpleProperty)tmp).setValue(valueText.getText());
+              // not used
+    
             }
-
-            if(elementCombo.getText().equals(elementChoices[1]))
+    
+            public void widgetSelected(SelectionEvent e)
             {
-                tmp = (SimpleSequenceProperty) editor.getComponent().factory().create(SimpleSequenceProperty.PYTHON_CLASS,
-                    name, mode, type, description);
-                ((SimpleSequenceProperty)tmp).setDefaultValues(valueText.getText());
-                ((SimpleSequenceProperty)tmp).setValues(valueText.getText());
+                Property tmp = null;
+                String name = nameText.getText();
+                String mode = modeCombo.getText();
+                String type = typeCombo.getText();
+                String description = descriptionTextArea.getText();
+                if(elementCombo.getText().equals(elementChoices[0]))
+                {
+                    tmp = (SimpleProperty) editor.getComponent().factory().create(SimpleProperty.PYTHON_CLASS,
+                        name, mode, type, description);
+                    ((SimpleProperty)tmp).setDefaultValue(valueText.getText());
+                    ((SimpleProperty)tmp).setValue(valueText.getText());
+                }
+    
+                if(elementCombo.getText().equals(elementChoices[1]))
+                {
+                    tmp = (SimpleSequenceProperty) editor.getComponent().factory().create(SimpleSequenceProperty.PYTHON_CLASS,
+                        name, mode, type, description);
+                    ((SimpleSequenceProperty)tmp).setDefaultValues(valueText.getText());
+                    ((SimpleSequenceProperty)tmp).setValues(valueText.getText());
+                }
+    
+                if(tmp != null)
+                {
+                    tmp.setEnum(enumerationText.getText());
+                    tmp.setKind(kindCombo.getText());
+                    tmp.setAction(actionCombo.getText());
+                    tmp.setID(idText.getText());
+                    PyInteger pyMin = new PyInteger(Integer.parseInt(minText.getText()));
+                    PyInteger pyMax = new PyInteger(Integer.parseInt(maxText.getText()));
+                    PyObject[] rangeArray = new PyObject[2];
+                    rangeArray[0] = pyMin;
+                    rangeArray[1] = pyMax;
+                    PyTuple rangeTuple = new PyTuple(rangeArray);
+                    tmp.setRange(rangeTuple);
+    
+                    editor.getComponent().addProperty(tmp);
+                }
+                buttonPressed(IDialogConstants.OK_ID);
             }
-
-
-            if(tmp != null)
-            {
-                tmp.setEnum(enumerationText.getText());
-                tmp.setKind(kindCombo.getText());
-                tmp.setAction(actionCombo.getText());
-                PyInteger pyMin = new PyInteger(Integer.parseInt(minText.getText()));
-                PyInteger pyMax = new PyInteger(Integer.parseInt(maxText.getText()));
-                PyObject[] rangeArray = new PyObject[2];
-                rangeArray[0] = pyMin;
-                rangeArray[1] = pyMax;
-                PyTuple rangeTuple = new PyTuple(rangeArray);
-                tmp.setRange(rangeTuple);
-
-                editor.getComponent().addProperty(tmp);
-            }
-            buttonPressed(IDialogConstants.OK_ID);
-
-        }
-
-    });
-}
-
-
-
-
- // ----------------------------------------------------------
+        });
+    }
+
+
+
+
+    // ----------------------------------------------------------
     /**
      * Returns a MainFrame object
@@ -313,4 +308,5 @@
     //~ Instance/static variables .............................................
     
+    //interface elements
     private Text enumerationText;
     private Text maxText;
@@ -328,4 +324,6 @@
     private ComponentEditor editor;
     private MainFrame mainFrame;
+    
+    //string arrays to hold combo box choices
     private String[] typeChoices = {"boolean", "char", "double",
         "float", "short", "long", "objref", "octet", "string", "ulong",
Index: /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/wavedev/Property.java
===================================================================
--- /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/wavedev/Property.java	(revision 7889)
+++ /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/wavedev/Property.java	(revision 7926)
@@ -14,4 +14,11 @@
 {
 
+	// ----------------------------------------------------------
+	/**
+	 * Constructor
+	 * 
+	 * @param original 
+	 * @param factory
+	 */
 	public Property(PyObject original, Factory factory)
 	{
@@ -24,6 +31,8 @@
 
 
+
+	// ----------------------------------------------------------
 	/**
-	 * @return
+	 * @return the property's ID
 	 */
 	public String getID()
@@ -32,6 +41,8 @@
 	}
 
+	
+	// ----------------------------------------------------------
 	/**
-	 * @return
+	 * @return the property's type
 	 */
 	public String getElementType()
@@ -40,6 +51,8 @@
 	}
 
+	
+	// ----------------------------------------------------------
 	/**
-	 * @return
+	 * @return the property's mode
 	 */
 	public String getMode()
@@ -48,4 +61,5 @@
 	}
 
+	// ----------------------------------------------------------
 	public String toString()
 	{
@@ -53,4 +67,8 @@
 	}
 
+	// ----------------------------------------------------------
+	/**
+	 * @param enumeration the enumeration for the property
+	 */
 	public void setEnum(String enumeration)
 	{
@@ -58,4 +76,8 @@
 	}
 
+	// ----------------------------------------------------------
+	/**
+	 * @param kind the kind for the property
+	 */
 	public void setKind(String kind)
 	{
@@ -63,4 +85,8 @@
 	}
 
+	// ----------------------------------------------------------
+	/**
+	 * @param action the actions for the property
+	 */
 	public void setAction(String action)
 	{
@@ -68,4 +94,8 @@
 	}
 
+	// ----------------------------------------------------------
+	/**
+	 * @param range the range for the property
+	 */
 	public void setRange(PyTuple range)
 	{
@@ -73,4 +103,14 @@
 
 	}
+	
+	// ----------------------------------------------------------
+    /**
+     * @param newID the new ID for the property
+     */
+	public void setID(String newID)
+    {
+        put(ID, newID);
+        
+    }
 
 
@@ -93,5 +133,4 @@
 
 
-
 }
 
Index: /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/wavedev/Waveform.java
===================================================================
--- /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/wavedev/Waveform.java	(revision 7925)
+++ /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/wavedev/Waveform.java	(revision 7926)
@@ -51,5 +51,4 @@
     public void removeComponent(Component c)
     {
-        usedNames.remove(c.getName());
         c.removeFromAssignedDevice();
         getComponents().remove(c.pyObject());
@@ -158,5 +157,4 @@
 
     //~ Instance/static variables .............................................
-    private ArrayList<String> usedNames = new ArrayList<String>();
     private static final Logger log =
         OWDPlugin.getLogManager().getLogger(Waveform.class);
Index: /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/wavedev/PyWrapper.java
===================================================================
--- /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/wavedev/PyWrapper.java	(revision 7925)
+++ /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/wavedev/PyWrapper.java	(revision 7926)
@@ -381,15 +381,28 @@
     // ----------------------------------------------------------
     
+    // ----------------------------------------------------------
+    /**
+     * Ensures that newObject has a name that is not already in list
+     * 
+     * @param list the list of objects (either components, nodes, or devices) 
+     * @param newObject the new object to be placed in the list
+     * @param before the object to place newObject before
+     */
     protected void addBefore(PyList list, NamedObject newObject, PyObject before)
     {
-        PyWrapper[] wrappedList = factory().toArrayOfWrappedElements(list);
+        //convert the list into an array of PyWrappers to make it easier to deal with them
+        NamedObject[] wrappedList = factory().toArrayOfWrappedElements(NamedObject.class, list);
+        
+        //create a new map and fill it with the names of objects in list
         Map namesMap = new HashMap();
-        for (PyWrapper p : wrappedList)
-            namesMap.put(((NamedObject)p).getName(), ((NamedObject)p).getName());
+        for (NamedObject n : wrappedList)
+            namesMap.put(n.getName(), n.getName());
         namesMap.put(newObject.getName(), newObject.getName());
+        
         
         String tmp = newObject.getName();
         String baseName = newObject.getName();
         int i = 1;
+        //append numbers to the end of newObject's name until it is unique in the list
         while(namesMap.containsValue(tmp))
         {
@@ -398,10 +411,10 @@
         }
         
+        //set the new name
         newObject.setName(tmp);
+        
+        //create a new copy to give to addBefore
         PyObject newPyObject = newObject.deepcopy().pyObject();
-        
         addBefore(list, newPyObject, before);
-        
-        
             
     }
@@ -412,4 +425,8 @@
      * the second object is not found in the list, then the new object
      * is added at the <i>beginning</i> of the list.
+     *
+     * @param list list the list of objects (either components, nodes, or devices)
+     * @param newObject newObject the new object to be placed in the list
+     * @param after before the object to place newObject before
      */
     protected void addBefore(PyList list, PyObject newObject, PyObject after)
Index: /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/jyinterface/interfaces/MainFrame.java
===================================================================
--- /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/jyinterface/interfaces/MainFrame.java	(revision 7884)
+++ /ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/jyinterface/interfaces/MainFrame.java	(revision 7926)
@@ -14,5 +14,4 @@
 public interface MainFrame
 {
-	//Calls loadResources from MainFrameGlue.py
 	PyList loadResources();
 	PyObject getActiveWaveform();
