bug[ats_0N0ZS]: AdaName validation XText fix

Change-Id: I8af4044f41f39465a067849be03ac61ecfd45ab4
Signed-off-by: John Szijjarto <john.j.szijjarto@boeing.com>
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XText.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XText.java
index 3127085..2f55856 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XText.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XText.java
@@ -22,6 +22,8 @@
 import org.eclipse.osee.framework.ui.swt.Widgets;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.StyledText;
+import org.eclipse.swt.events.FocusAdapter;
+import org.eclipse.swt.events.FocusListener;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.events.SelectionAdapter;
@@ -117,20 +119,6 @@
          }
 
          this.parent = parent;
-
-         ModifyListener textListener = new ModifyListener() {
-
-            @Override
-            public void modifyText(ModifyEvent e) {
-               if (sText != null) {
-                  debug("modifyText");
-                  text = sText.getText();
-                  validate();
-                  notifyXModifiedListeners();
-               }
-            }
-         };
-
          if (fillVertically) {
             composite = new Composite(parent, SWT.NONE);
             GridLayout layout = ALayout.getZeroMarginLayout(1, false);
@@ -188,7 +176,26 @@
 
          sText.setLayoutData(gd);
          sText.setMenu(getDefaultMenu());
-         sText.addModifyListener(textListener);
+         sText.addModifyListener(new ModifyListener() {
+
+            @Override
+            public void modifyText(ModifyEvent e) {
+               if (Widgets.isAccessible(sText)) {
+                  text = sText.getText();
+                  notifyXModifiedListeners();
+               }
+            }
+         });
+         sText.addFocusListener(new FocusAdapter() {
+
+            @Override
+            public void focusLost(org.eclipse.swt.events.FocusEvent e) {
+               if (Widgets.isAccessible(sText)) {
+                  text = sText.getText();
+                  validate();
+               }
+            }
+         });
          if (text != null) {
             sText.setText(text);
          }
@@ -412,6 +419,12 @@
       }
    }
 
+   public void addFocusListener(FocusListener focusListener) {
+      if (sText != null) {
+         sText.addFocusListener(focusListener);
+      }
+   }
+
    public String get() {
       if (debug) {
          System.err.println("text set *" + text + "*");
@@ -511,12 +524,6 @@
       this.dragableArtifact = dragableArtifact;
    }
 
-   public void debug(String str) {
-      if (debug) {
-         System.err.println("AText :" + str);
-      }
-   }
-
    @Override
    public IStatus isValid() {
       IStatus status = super.isValid();