]> 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 53ac9a591cebdbcd9aa1824db298acb86d87dcda..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
@@ -27,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.Tools;\r
 import org.tianocore.frameworkwizard.common.ui.ArchCheckBox;\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.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
 \r
 /**\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
 \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
@@ -76,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,7 +86,7 @@ public class SourceFilesDlg extends IDialog {
     private JTextField jTextFieldFeatureFlag = null;\r
 \r
     private ArchCheckBox jArchCheckBox = null;\r
     private JTextField jTextFieldFeatureFlag = null;\r
 \r
     private ArchCheckBox jArchCheckBox = null;\r
-    \r
+\r
     private JButton jButtonOk = null;\r
 \r
     private JButton jButtonCancel = null;\r
     private JButton jButtonOk = null;\r
 \r
     private JButton jButtonCancel = null;\r
@@ -91,10 +94,12 @@ public class SourceFilesDlg extends IDialog {
     //\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
     private String msaFileName = "";\r
 \r
 \r
     private String msaFileName = "";\r
 \r
+    private EnumerationData ed = new EnumerationData();\r
+\r
     /**\r
      This method initializes jTextFieldFileName \r
      \r
     /**\r
      This method initializes jTextFieldFileName \r
      \r
@@ -104,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
@@ -121,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
@@ -149,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
@@ -164,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
@@ -179,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
@@ -194,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
@@ -210,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
@@ -226,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
@@ -251,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
@@ -268,16 +288,41 @@ public class SourceFilesDlg extends IDialog {
      **/\r
     private void init(SourceFilesIdentification inSourceFilesIdentifications, String fileName) {\r
         init();\r
      **/\r
     private void init(SourceFilesIdentification inSourceFilesIdentifications, String fileName) {\r
         init();\r
-        this.sfid = inSourceFilesIdentifications;\r
+        //this.sfid = inSourceFilesIdentifications;\r
         this.msaFileName = fileName;\r
 \r
         this.msaFileName = fileName;\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
+        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
@@ -303,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
@@ -341,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
@@ -376,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
@@ -399,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
@@ -412,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
@@ -422,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
@@ -432,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
@@ -442,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
@@ -457,17 +510,23 @@ public class SourceFilesDlg extends IDialog {
     private void selectFile() {\r
         JFileChooser fc = new JFileChooser();\r
         fc.setCurrentDirectory(new File(Tools.getFilePathOnly(msaFileName)));\r
     private void selectFile() {\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