]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/SourceFilesDlg.java
Adjusted sizes to accommodate Windows, iMac and Linux GUI
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / module / ui / dialog / SourceFilesDlg.java
index 3c868494ef468381338d5624682722ef4ee8886e..81759be67c02943f2a2bf97aa1d6b3b2faebb0f9 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
  \r
 /** @file\r
  \r
- The file is used to create, update SourceFile of MSA/MBD file\r
+ The file is used to create, update SourceFiles section of the MSA file\r
  \r
  Copyright (c) 2006, Intel Corporation\r
  All rights reserved. This program and the accompanying materials\r
  \r
  Copyright (c) 2006, Intel Corporation\r
  All rights reserved. This program and the accompanying materials\r
@@ -15,6 +15,7 @@
 package org.tianocore.frameworkwizard.module.ui.dialog;\r
 \r
 import java.awt.event.ActionEvent;\r
 package org.tianocore.frameworkwizard.module.ui.dialog;\r
 \r
 import java.awt.event.ActionEvent;\r
+import java.io.File;\r
 import java.util.Vector;\r
 \r
 import javax.swing.JButton;\r
 import java.util.Vector;\r
 \r
 import javax.swing.JButton;\r
@@ -26,20 +27,21 @@ import javax.swing.JTextField;
 \r
 import org.tianocore.frameworkwizard.common.DataType;\r
 import org.tianocore.frameworkwizard.common.DataValidation;\r
 \r
 import org.tianocore.frameworkwizard.common.DataType;\r
 import org.tianocore.frameworkwizard.common.DataValidation;\r
+import org.tianocore.frameworkwizard.common.EnumerationData;\r
 import org.tianocore.frameworkwizard.common.Log;\r
 import org.tianocore.frameworkwizard.common.Log;\r
+import org.tianocore.frameworkwizard.common.Tools;\r
 import org.tianocore.frameworkwizard.common.ui.ArchCheckBox;\r
 import org.tianocore.frameworkwizard.common.ui.ArchCheckBox;\r
+import org.tianocore.frameworkwizard.common.ui.IComboBox;\r
 import org.tianocore.frameworkwizard.common.ui.IDialog;\r
 import org.tianocore.frameworkwizard.common.ui.IFrame;\r
 import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
 import org.tianocore.frameworkwizard.module.Identifications.SourceFiles.SourceFilesIdentification;\r
 import org.tianocore.frameworkwizard.common.ui.IDialog;\r
 import org.tianocore.frameworkwizard.common.ui.IFrame;\r
 import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
 import org.tianocore.frameworkwizard.module.Identifications.SourceFiles.SourceFilesIdentification;\r
-import org.tianocore.frameworkwizard.workspace.Workspace;\r
 \r
 /**\r
 \r
 /**\r
- The class is used to create, update SourceFile of MSA/MBD file\r
- It extends IInternalFrame\r
\r
-\r
-\r
+ * The class is used to create, update SourceFiles section of the MSA file\r
+ *\r
+ * It extends IDialog\r
+ * \r
  **/\r
 public class SourceFilesDlg extends IDialog {\r
 \r
  **/\r
 public class SourceFilesDlg extends IDialog {\r
 \r
@@ -75,6 +77,8 @@ public class SourceFilesDlg extends IDialog {
 \r
     private JTextField jTextFieldToolCode = null;\r
 \r
 \r
     private JTextField jTextFieldToolCode = null;\r
 \r
+    private IComboBox iComboBoxToolCode = null;\r
+\r
     private JTextField jTextFieldToolChainFamily = null;\r
 \r
     private JLabel jLabelFeatureFlag = null;\r
     private JTextField jTextFieldToolChainFamily = null;\r
 \r
     private JLabel jLabelFeatureFlag = null;\r
@@ -83,14 +87,18 @@ public class SourceFilesDlg extends IDialog {
 \r
     private ArchCheckBox jArchCheckBox = null;\r
 \r
 \r
     private ArchCheckBox jArchCheckBox = null;\r
 \r
+    private JButton jButtonOk = null;\r
+\r
+    private JButton jButtonCancel = null;\r
+\r
     //\r
     // Not used by UI\r
     //\r
     //\r
     // Not used by UI\r
     //\r
-    private SourceFilesIdentification sfid = null;\r
+    private SourceFilesIdentification sfid[] = null;\r
 \r
 \r
-    private JButton jButtonOk = null;\r
+    private String msaFileName = "";\r
 \r
 \r
-    private JButton jButtonCancel = null;\r
+    private EnumerationData ed = new EnumerationData();\r
 \r
     /**\r
      This method initializes jTextFieldFileName \r
 \r
     /**\r
      This method initializes jTextFieldFileName \r
@@ -101,7 +109,7 @@ public class SourceFilesDlg extends IDialog {
     private JTextField getJTextFieldSourceFilesDirectory() {\r
         if (jTextFieldFileName == null) {\r
             jTextFieldFileName = new JTextField();\r
     private JTextField getJTextFieldSourceFilesDirectory() {\r
         if (jTextFieldFileName == null) {\r
             jTextFieldFileName = new JTextField();\r
-            jTextFieldFileName.setBounds(new java.awt.Rectangle(140, 10, 250, 20));\r
+            jTextFieldFileName.setBounds(new java.awt.Rectangle(168, 12, 250, 20));\r
             jTextFieldFileName.setPreferredSize(new java.awt.Dimension(250, 20));\r
             jTextFieldFileName.setToolTipText("Path is relative to the MSA file and must include the file name");\r
         }\r
             jTextFieldFileName.setPreferredSize(new java.awt.Dimension(250, 20));\r
             jTextFieldFileName.setToolTipText("Path is relative to the MSA file and must include the file name");\r
         }\r
@@ -118,7 +126,7 @@ public class SourceFilesDlg extends IDialog {
         if (jButtonOpenFile == null) {\r
             jButtonOpenFile = new JButton();\r
             jButtonOpenFile.setText("Browse");\r
         if (jButtonOpenFile == null) {\r
             jButtonOpenFile = new JButton();\r
             jButtonOpenFile.setText("Browse");\r
-            jButtonOpenFile.setBounds(new java.awt.Rectangle(395, 10, 85, 20));\r
+            jButtonOpenFile.setBounds(new java.awt.Rectangle(422, 12, 85, 20));\r
             jButtonOpenFile.setPreferredSize(new java.awt.Dimension(85, 20));\r
             jButtonOpenFile.addActionListener(this);\r
         }\r
             jButtonOpenFile.setPreferredSize(new java.awt.Dimension(85, 20));\r
             jButtonOpenFile.addActionListener(this);\r
         }\r
@@ -146,13 +154,26 @@ public class SourceFilesDlg extends IDialog {
     private JTextField getJTextFieldTagName() {\r
         if (jTextFieldTagName == null) {\r
             jTextFieldTagName = new JTextField();\r
     private JTextField getJTextFieldTagName() {\r
         if (jTextFieldTagName == null) {\r
             jTextFieldTagName = new JTextField();\r
-            jTextFieldTagName.setBounds(new java.awt.Rectangle(140, 35, 340, 20));\r
+            jTextFieldTagName.setBounds(new java.awt.Rectangle(168, 37, 340, 20));\r
             jTextFieldTagName.setPreferredSize(new java.awt.Dimension(340, 20));\r
             jTextFieldTagName.setToolTipText("You may specify a specific tool chain tag name, such as BILL1");\r
         }\r
         return jTextFieldTagName;\r
     }\r
 \r
             jTextFieldTagName.setPreferredSize(new java.awt.Dimension(340, 20));\r
             jTextFieldTagName.setToolTipText("You may specify a specific tool chain tag name, such as BILL1");\r
         }\r
         return jTextFieldTagName;\r
     }\r
 \r
+    private IComboBox getIComboBoxToolCode() {\r
+        if (iComboBoxToolCode == null) {\r
+            iComboBoxToolCode = new IComboBox();\r
+            iComboBoxToolCode.setBounds(new java.awt.Rectangle(168, 62, 340, 20));\r
+            iComboBoxToolCode.setPreferredSize(new java.awt.Dimension(340, 20));\r
+            iComboBoxToolCode.setToolTipText("<html>You may select a specific tool command from drop down list, <br>"\r
+                                             + "or you can DOUBLE-CLICK this fild to enter your customizing <br>"\r
+                                             + "tool command.<br>"\r
+                                             + "Press ENTER to save your input or press ESCAPE to quit</html>");\r
+        }\r
+        return iComboBoxToolCode;\r
+    }\r
+\r
     /**\r
      * This method initializes jTextFieldToolCode      \r
      *         \r
     /**\r
      * This method initializes jTextFieldToolCode      \r
      *         \r
@@ -161,9 +182,10 @@ public class SourceFilesDlg extends IDialog {
     private JTextField getJTextFieldToolCode() {\r
         if (jTextFieldToolCode == null) {\r
             jTextFieldToolCode = new JTextField();\r
     private JTextField getJTextFieldToolCode() {\r
         if (jTextFieldToolCode == null) {\r
             jTextFieldToolCode = new JTextField();\r
-            jTextFieldToolCode.setBounds(new java.awt.Rectangle(140, 60, 340, 20));\r
+            jTextFieldToolCode.setBounds(new java.awt.Rectangle(168, 62, 340, 20));\r
             jTextFieldToolCode.setPreferredSize(new java.awt.Dimension(340, 20));\r
             jTextFieldToolCode.setToolTipText("You may specify a specific tool command, such as ASM");\r
             jTextFieldToolCode.setPreferredSize(new java.awt.Dimension(340, 20));\r
             jTextFieldToolCode.setToolTipText("You may specify a specific tool command, such as ASM");\r
+            jTextFieldToolCode.setVisible(false);\r
         }\r
         return jTextFieldToolCode;\r
     }\r
         }\r
         return jTextFieldToolCode;\r
     }\r
@@ -176,7 +198,7 @@ public class SourceFilesDlg extends IDialog {
     private JTextField getJTextFieldToolChainFamily() {\r
         if (jTextFieldToolChainFamily == null) {\r
             jTextFieldToolChainFamily = new JTextField();\r
     private JTextField getJTextFieldToolChainFamily() {\r
         if (jTextFieldToolChainFamily == null) {\r
             jTextFieldToolChainFamily = new JTextField();\r
-            jTextFieldToolChainFamily.setBounds(new java.awt.Rectangle(140, 85, 340, 20));\r
+            jTextFieldToolChainFamily.setBounds(new java.awt.Rectangle(168, 87, 340, 20));\r
             jTextFieldToolChainFamily.setPreferredSize(new java.awt.Dimension(340, 20));\r
             jTextFieldToolChainFamily.setToolTipText("You may specify a specific tool chain family, such as GCC");\r
         }\r
             jTextFieldToolChainFamily.setPreferredSize(new java.awt.Dimension(340, 20));\r
             jTextFieldToolChainFamily.setToolTipText("You may specify a specific tool chain family, such as GCC");\r
         }\r
@@ -191,7 +213,7 @@ public class SourceFilesDlg extends IDialog {
     private JTextField getJTextFieldFeatureFlag() {\r
         if (jTextFieldFeatureFlag == null) {\r
             jTextFieldFeatureFlag = new JTextField();\r
     private JTextField getJTextFieldFeatureFlag() {\r
         if (jTextFieldFeatureFlag == null) {\r
             jTextFieldFeatureFlag = new JTextField();\r
-            jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(140, 110, 340, 20));\r
+            jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(168, 112, 340, 20));\r
             jTextFieldFeatureFlag.setPreferredSize(new java.awt.Dimension(340, 20));\r
             jTextFieldFeatureFlag.setToolTipText("RESERVED FOR FUTURE USE");\r
         }\r
             jTextFieldFeatureFlag.setPreferredSize(new java.awt.Dimension(340, 20));\r
             jTextFieldFeatureFlag.setToolTipText("RESERVED FOR FUTURE USE");\r
         }\r
@@ -207,7 +229,7 @@ public class SourceFilesDlg extends IDialog {
     private JButton getJButtonOk() {\r
         if (jButtonOk == null) {\r
             jButtonOk = new JButton();\r
     private JButton getJButtonOk() {\r
         if (jButtonOk == null) {\r
             jButtonOk = new JButton();\r
-            jButtonOk.setBounds(new java.awt.Rectangle(290, 165, 90, 20));\r
+            jButtonOk.setBounds(new java.awt.Rectangle(317, 172, 90, 20));\r
             jButtonOk.setText("Ok");\r
             jButtonOk.addActionListener(this);\r
         }\r
             jButtonOk.setText("Ok");\r
             jButtonOk.addActionListener(this);\r
         }\r
@@ -223,7 +245,7 @@ public class SourceFilesDlg extends IDialog {
     private JButton getJButtonCancel() {\r
         if (jButtonCancel == null) {\r
             jButtonCancel = new JButton();\r
     private JButton getJButtonCancel() {\r
         if (jButtonCancel == null) {\r
             jButtonCancel = new JButton();\r
-            jButtonCancel.setBounds(new java.awt.Rectangle(390, 165, 90, 20));\r
+            jButtonCancel.setBounds(new java.awt.Rectangle(412, 172, 90, 20));\r
             jButtonCancel.setText("Cancel");\r
             jButtonCancel.addActionListener(this);\r
         }\r
             jButtonCancel.setText("Cancel");\r
             jButtonCancel.addActionListener(this);\r
         }\r
@@ -238,9 +260,9 @@ public class SourceFilesDlg extends IDialog {
      This is the default constructor\r
      \r
      **/\r
      This is the default constructor\r
      \r
      **/\r
-    public SourceFilesDlg(SourceFilesIdentification inSourceFilesIdentification, IFrame iFrame) {\r
+    public SourceFilesDlg(SourceFilesIdentification inSourceFilesIdentification, IFrame iFrame, String fileName) {\r
         super(iFrame, true);\r
         super(iFrame, true);\r
-        init(inSourceFilesIdentification);\r
+        init(inSourceFilesIdentification, fileName);\r
     }\r
 \r
     /**\r
     }\r
 \r
     /**\r
@@ -248,11 +270,12 @@ public class SourceFilesDlg extends IDialog {
      \r
      **/\r
     private void init() {\r
      \r
      **/\r
     private void init() {\r
-        this.setSize(500, 235);\r
+        this.setSize(525, 240);\r
         this.setContentPane(getJScrollPane());\r
         this.setTitle("Source Files");\r
         this.setViewMode(false);\r
         this.centerWindow();\r
         this.setContentPane(getJScrollPane());\r
         this.setTitle("Source Files");\r
         this.setViewMode(false);\r
         this.centerWindow();\r
+        Tools.generateComboBoxByVector(iComboBoxToolCode, ed.getVToolCode());\r
     }\r
 \r
     /**         \r
     }\r
 \r
     /**         \r
@@ -263,17 +286,43 @@ public class SourceFilesDlg extends IDialog {
      @param inSourceFiles The input data of SourceFilesDocument.SourceFiles\r
      \r
      **/\r
      @param inSourceFiles The input data of SourceFilesDocument.SourceFiles\r
      \r
      **/\r
-    private void init(SourceFilesIdentification inSourceFilesIdentifications) {\r
+    private void init(SourceFilesIdentification inSourceFilesIdentifications, String fileName) {\r
         init();\r
         init();\r
-        this.sfid = inSourceFilesIdentifications;\r
-\r
-        if (this.sfid != null) {\r
-            this.jTextFieldFileName.setText(sfid.getFilename());\r
-            this.jTextFieldTagName.setText(sfid.getTagName());\r
-            this.jTextFieldToolCode.setText(sfid.getToolCode());\r
-            this.jTextFieldToolChainFamily.setText(sfid.getToolChainFamily());\r
-            jTextFieldFeatureFlag.setText(sfid.getFeatureFlag());\r
-            this.jArchCheckBox.setSelectedItems(sfid.getSupArchList());\r
+        //this.sfid = inSourceFilesIdentifications;\r
+        this.msaFileName = fileName;\r
+\r
+        if (inSourceFilesIdentifications != null) {\r
+            this.jTextFieldFileName.setText(inSourceFilesIdentifications.getFilename());\r
+            this.jTextFieldTagName.setText(inSourceFilesIdentifications.getTagName());\r
+\r
+            //\r
+            // Generate Tool Code selection list\r
+            //\r
+            Vector<String> v = ed.getVToolCode();\r
+            boolean isFind = false;\r
+            String strToolCode = inSourceFilesIdentifications.getToolCode();\r
+\r
+            //\r
+            // If the input value is not in the default list, add it to the list\r
+            //\r
+            if (strToolCode != null) {\r
+                for (int index = 0; index < v.size(); index++) {\r
+                    if (v.elementAt(index).equals(strToolCode)) {\r
+                        isFind = true;\r
+                        break;\r
+                    }\r
+                }\r
+                if (!isFind && !isEmpty(strToolCode)) {\r
+                    v.addElement(strToolCode);\r
+                }\r
+            }\r
+\r
+            Tools.generateComboBoxByVector(iComboBoxToolCode, v);\r
+            this.iComboBoxToolCode.setSelectedItem(strToolCode);\r
+\r
+            this.jTextFieldToolChainFamily.setText(inSourceFilesIdentifications.getToolChainFamily());\r
+            jTextFieldFeatureFlag.setText(inSourceFilesIdentifications.getFeatureFlag());\r
+            this.jArchCheckBox.setSelectedItems(inSourceFilesIdentifications.getSupArchList());\r
         }\r
     }\r
 \r
         }\r
     }\r
 \r
@@ -299,30 +348,30 @@ public class SourceFilesDlg extends IDialog {
     private JPanel getJContentPane() {\r
         if (jContentPane == null) {\r
             jArchCheckBox = new ArchCheckBox();\r
     private JPanel getJContentPane() {\r
         if (jContentPane == null) {\r
             jArchCheckBox = new ArchCheckBox();\r
-            jArchCheckBox.setBounds(new java.awt.Rectangle(140, 135, 340, 20));\r
+            jArchCheckBox.setBounds(new java.awt.Rectangle(168, 137, 340, 20));\r
             jArchCheckBox.setPreferredSize(new java.awt.Dimension(340, 20));\r
             jLabelFeatureFlag = new JLabel();\r
             jArchCheckBox.setPreferredSize(new java.awt.Dimension(340, 20));\r
             jLabelFeatureFlag = new JLabel();\r
-            jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 110, 120, 20));\r
-            jLabelFeatureFlag.setText("Feature Flag");\r
+            jLabelFeatureFlag.setBounds(new java.awt.Rectangle(12, 112, 155, 20));\r
+            jLabelFeatureFlag.setText("Feature Flag Expression");\r
             jLabelToolCode = new JLabel();\r
             jLabelToolCode = new JLabel();\r
-            jLabelToolCode.setBounds(new java.awt.Rectangle(15, 60, 120, 20));\r
+            jLabelToolCode.setBounds(new java.awt.Rectangle(12, 62, 155, 20));\r
             jLabelToolCode.setText("Tool Code");\r
             jLabelTagName = new JLabel();\r
             jLabelToolCode.setText("Tool Code");\r
             jLabelTagName = new JLabel();\r
-            jLabelTagName.setBounds(new java.awt.Rectangle(15, 35, 120, 20));\r
+            jLabelTagName.setBounds(new java.awt.Rectangle(12, 37, 155, 20));\r
             jLabelTagName.setText("Tag Name");\r
             jLabelArch = new JLabel();\r
             jLabelTagName.setText("Tag Name");\r
             jLabelArch = new JLabel();\r
-            jLabelArch.setBounds(new java.awt.Rectangle(15, 135, 120, 20));\r
-            jLabelArch.setText("Sup Arch List");\r
+            jLabelArch.setBounds(new java.awt.Rectangle(12, 137, 155, 20));\r
+            jLabelArch.setText("Supported Architectures");\r
             jLabelToolChainFamily = new JLabel();\r
             jLabelToolChainFamily = new JLabel();\r
-            jLabelToolChainFamily.setBounds(new java.awt.Rectangle(15, 85, 120, 20));\r
+            jLabelToolChainFamily.setBounds(new java.awt.Rectangle(12, 87, 155, 20));\r
             jLabelToolChainFamily.setText("Tool Chain Family");\r
             jLabelFileName = new JLabel();\r
             jLabelFileName.setText("File Name");\r
             jLabelToolChainFamily.setText("Tool Chain Family");\r
             jLabelFileName = new JLabel();\r
             jLabelFileName.setText("File Name");\r
-            jLabelFileName.setBounds(new java.awt.Rectangle(15, 10, 120, 20));\r
+            jLabelFileName.setBounds(new java.awt.Rectangle(12, 12, 155, 20));\r
 \r
             jContentPane = new JPanel();\r
             jContentPane.setLayout(null);\r
 \r
             jContentPane = new JPanel();\r
             jContentPane.setLayout(null);\r
-            jContentPane.setPreferredSize(new java.awt.Dimension(490, 185));\r
+            jContentPane.setPreferredSize(new java.awt.Dimension(505, 192));\r
 \r
             jContentPane.add(jLabelFileName, null);\r
             jContentPane.add(getJTextFieldSourceFilesDirectory(), null);\r
 \r
             jContentPane.add(jLabelFileName, null);\r
             jContentPane.add(getJTextFieldSourceFilesDirectory(), null);\r
@@ -337,6 +386,7 @@ public class SourceFilesDlg extends IDialog {
             jContentPane.add(getJTextFieldTagName(), null);\r
             jContentPane.add(jLabelToolCode, null);\r
             jContentPane.add(getJTextFieldToolCode(), null);\r
             jContentPane.add(getJTextFieldTagName(), null);\r
             jContentPane.add(jLabelToolCode, null);\r
             jContentPane.add(getJTextFieldToolCode(), null);\r
+            jContentPane.add(getIComboBoxToolCode(), null);\r
             jContentPane.add(getJTextFieldToolChainFamily(), null);\r
             jContentPane.add(jLabelFeatureFlag, null);\r
             jContentPane.add(getJTextFieldFeatureFlag(), null);\r
             jContentPane.add(getJTextFieldToolChainFamily(), null);\r
             jContentPane.add(jLabelFeatureFlag, null);\r
             jContentPane.add(getJTextFieldFeatureFlag(), null);\r
@@ -372,14 +422,21 @@ public class SourceFilesDlg extends IDialog {
         }\r
     }\r
 \r
         }\r
     }\r
 \r
-    private SourceFilesIdentification getCurrentSourceFiles() {\r
+    private SourceFilesIdentification[] getCurrentSourceFiles() {\r
         String name = this.jTextFieldFileName.getText();\r
         String name = this.jTextFieldFileName.getText();\r
+        String s[] = name.split(";");\r
         String tagName = this.jTextFieldTagName.getText();\r
         String tagName = this.jTextFieldTagName.getText();\r
-        String toolCode = this.jTextFieldToolCode.getText();\r
+        String toolCode = this.iComboBoxToolCode.getSelectedItem().toString();\r
+        if (toolCode.equals(DataType.EMPTY_SELECT_ITEM)) {\r
+            toolCode = "";\r
+        }\r
         String tcf = this.jTextFieldToolChainFamily.getText();\r
         String featureFlag = this.jTextFieldFeatureFlag.getText();\r
         Vector<String> arch = this.jArchCheckBox.getSelectedItemsVector();\r
         String tcf = this.jTextFieldToolChainFamily.getText();\r
         String featureFlag = this.jTextFieldFeatureFlag.getText();\r
         Vector<String> arch = this.jArchCheckBox.getSelectedItemsVector();\r
-        sfid = new SourceFilesIdentification(name, tagName, toolCode, tcf, featureFlag, arch);\r
+        sfid = new SourceFilesIdentification[s.length];\r
+        for (int index = 0; index < s.length; index++) {\r
+            sfid[index] = new SourceFilesIdentification(s[index], tagName, toolCode, tcf, featureFlag, arch);\r
+        }\r
         return sfid;\r
     }\r
 \r
         return sfid;\r
     }\r
 \r
@@ -395,11 +452,11 @@ public class SourceFilesDlg extends IDialog {
         // Check Filename\r
         //\r
         if (isEmpty(this.jTextFieldFileName.getText())) {\r
         // Check Filename\r
         //\r
         if (isEmpty(this.jTextFieldFileName.getText())) {\r
-            Log.err("File Name couldn't be empty");\r
+            Log.wrn("Update Source Files", "File Name couldn't be empty");\r
             return false;\r
         }\r
         if (!DataValidation.isFilename(this.jTextFieldFileName.getText())) {\r
             return false;\r
         }\r
         if (!DataValidation.isFilename(this.jTextFieldFileName.getText())) {\r
-            Log.err("Incorrect data type for File Name");\r
+            Log.wrn("Update Source Files", "Incorrect data type for File Name");\r
             return false;\r
         }\r
 \r
             return false;\r
         }\r
 \r
@@ -408,7 +465,7 @@ public class SourceFilesDlg extends IDialog {
         //\r
         if (!isEmpty(this.jTextFieldTagName.getText())) {\r
             if (!DataValidation.isTagName(this.jTextFieldTagName.getText())) {\r
         //\r
         if (!isEmpty(this.jTextFieldTagName.getText())) {\r
             if (!DataValidation.isTagName(this.jTextFieldTagName.getText())) {\r
-                Log.err("Incorrect data type for Tag Name");\r
+                Log.wrn("Update Source Files", "Incorrect data type for Tag Name");\r
                 return false;\r
             }\r
         }\r
                 return false;\r
             }\r
         }\r
@@ -418,7 +475,7 @@ public class SourceFilesDlg extends IDialog {
         //\r
         if (!isEmpty(this.jTextFieldToolCode.getText())) {\r
             if (!DataValidation.isToolCode(this.jTextFieldToolCode.getText())) {\r
         //\r
         if (!isEmpty(this.jTextFieldToolCode.getText())) {\r
             if (!DataValidation.isToolCode(this.jTextFieldToolCode.getText())) {\r
-                Log.err("Incorrect data type for Tool Code");\r
+                Log.wrn("Update Source Files", "Incorrect data type for Tool Code");\r
                 return false;\r
             }\r
         }\r
                 return false;\r
             }\r
         }\r
@@ -428,7 +485,7 @@ public class SourceFilesDlg extends IDialog {
         //\r
         if (!isEmpty(this.jTextFieldToolChainFamily.getText())) {\r
             if (!DataValidation.isToolChainFamily(this.jTextFieldToolChainFamily.getText())) {\r
         //\r
         if (!isEmpty(this.jTextFieldToolChainFamily.getText())) {\r
             if (!DataValidation.isToolChainFamily(this.jTextFieldToolChainFamily.getText())) {\r
-                Log.err("Incorrect data type for Tool Chain Family");\r
+                Log.wrn("Update Source Files", "Incorrect data type for Tool Chain Family");\r
                 return false;\r
             }\r
         }\r
                 return false;\r
             }\r
         }\r
@@ -438,7 +495,7 @@ public class SourceFilesDlg extends IDialog {
         //\r
         if (!isEmpty(this.jTextFieldFeatureFlag.getText())) {\r
             if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) {\r
         //\r
         if (!isEmpty(this.jTextFieldFeatureFlag.getText())) {\r
             if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) {\r
-                Log.err("Incorrect data type for Feature Flag");\r
+                Log.wrn("Update Source Files", "Incorrect data type for Feature Flag");\r
                 return false;\r
             }\r
         }\r
                 return false;\r
             }\r
         }\r
@@ -451,19 +508,25 @@ public class SourceFilesDlg extends IDialog {
      \r
      **/\r
     private void selectFile() {\r
      \r
      **/\r
     private void selectFile() {\r
-        JFileChooser fc = new JFileChooser(Workspace.getCurrentWorkspace());\r
-\r
+        JFileChooser fc = new JFileChooser();\r
+        fc.setCurrentDirectory(new File(Tools.getFilePathOnly(msaFileName)));\r
+        fc.setMultiSelectionEnabled(true);\r
         int result = fc.showOpenDialog(new JPanel());\r
         if (result == JFileChooser.APPROVE_OPTION) {\r
         int result = fc.showOpenDialog(new JPanel());\r
         if (result == JFileChooser.APPROVE_OPTION) {\r
-            this.jTextFieldFileName.setText(fc.getSelectedFile().getName());\r
+            File f[] = fc.getSelectedFiles();\r
+            String s = "";\r
+            for (int index = 0; index < f.length; index++) {\r
+                s = s + f[index].getName() + ";";\r
+            }\r
+            this.jTextFieldFileName.setText(s);\r
         }\r
     }\r
 \r
         }\r
     }\r
 \r
-    public SourceFilesIdentification getSfid() {\r
+    public SourceFilesIdentification[] getSfid() {\r
         return sfid;\r
     }\r
 \r
         return sfid;\r
     }\r
 \r
-    public void setSfid(SourceFilesIdentification sfid) {\r
+    public void setSfid(SourceFilesIdentification[] sfid) {\r
         this.sfid = sfid;\r
     }\r
 }\r
         this.sfid = sfid;\r
     }\r
 }\r