]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Add ModuleSA BuildOptions
authorjlin16 <jlin16@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 4 Jul 2006 08:11:49 +0000 (08:11 +0000)
committerjlin16 <jlin16@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 4 Jul 2006 08:11:49 +0000 (08:11 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@737 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdBuildOptions.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFileContents.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFlash.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java

index e48ff495c24fd8aff708c0e08743070955b3cde9..b94e695ecc315165973596b07d4e25f7cf395b1a 100644 (file)
 package org.tianocore.frameworkwizard.platform.ui;\r
 \r
 import java.awt.BorderLayout;\r
 package org.tianocore.frameworkwizard.platform.ui;\r
 \r
 import java.awt.BorderLayout;\r
-import java.awt.Dimension;\r
 \r
 import javax.swing.JPanel;\r
 \r
 import javax.swing.JPanel;\r
-import javax.swing.JDialog;\r
 import javax.swing.JTabbedPane;\r
 import javax.swing.JCheckBox;\r
 import javax.swing.JLabel;\r
 import javax.swing.JTabbedPane;\r
 import javax.swing.JCheckBox;\r
 import javax.swing.JLabel;\r
@@ -26,18 +24,13 @@ import java.awt.FlowLayout;
 import javax.swing.AbstractAction;\r
 import java.awt.event.ActionEvent;\r
 import java.awt.event.ActionListener;\r
 import javax.swing.AbstractAction;\r
 import java.awt.event.ActionEvent;\r
 import java.awt.event.ActionListener;\r
-import java.awt.event.ItemEvent;\r
-import java.awt.event.ItemListener;\r
 \r
 \r
-import javax.swing.ButtonGroup;\r
 import javax.swing.DefaultCellEditor;\r
 import javax.swing.DefaultCellEditor;\r
-import javax.swing.DefaultListModel;\r
 import javax.swing.JTextField;\r
 import javax.swing.JButton;\r
 import javax.swing.JScrollPane;\r
 import javax.swing.JTable;\r
 import javax.swing.JComboBox;\r
 import javax.swing.JTextField;\r
 import javax.swing.JButton;\r
 import javax.swing.JScrollPane;\r
 import javax.swing.JTable;\r
 import javax.swing.JComboBox;\r
-import javax.swing.JRadioButton;\r
 import javax.swing.ListSelectionModel;\r
 import javax.swing.event.InternalFrameAdapter;\r
 import javax.swing.event.InternalFrameEvent;\r
 import javax.swing.ListSelectionModel;\r
 import javax.swing.event.InternalFrameAdapter;\r
 import javax.swing.event.InternalFrameEvent;\r
@@ -51,11 +44,11 @@ import javax.swing.table.TableModel;
 \r
 import org.tianocore.PlatformSurfaceAreaDocument;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
 \r
 import org.tianocore.PlatformSurfaceAreaDocument;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
-import java.awt.CardLayout;\r
 import java.util.ArrayList;\r
 import java.util.Iterator;\r
 import java.util.LinkedHashMap;\r
 import java.util.Set;\r
 import java.util.ArrayList;\r
 import java.util.Iterator;\r
 import java.util.LinkedHashMap;\r
 import java.util.Set;\r
+import java.util.Vector;\r
 \r
 public class FpdBuildOptions extends IInternalFrame {\r
 \r
 \r
 public class FpdBuildOptions extends IInternalFrame {\r
 \r
@@ -109,7 +102,6 @@ public class FpdBuildOptions extends IInternalFrame {
     private JTable jTable5 = null;\r
     private JButton jButton10 = null;\r
     private JButton jButton11 = null;\r
     private JTable jTable5 = null;\r
     private JButton jButton10 = null;\r
     private JButton jButton11 = null;\r
-    private DefaultListModel listModel = new DefaultListModel();\r
     private JButton jButton17 = null;\r
     private JButton jButton18 = null;\r
     private FpdFileContents ffc = null;\r
     private JButton jButton17 = null;\r
     private JButton jButton18 = null;\r
     private FpdFileContents ffc = null;\r
@@ -856,9 +848,22 @@ public class FpdBuildOptions extends IInternalFrame {
                     TableModel m = (TableModel)arg0.getSource();\r
                     if (arg0.getType() == TableModelEvent.UPDATE){\r
                         //ToDo Data Validition check.\r
                     TableModel m = (TableModel)arg0.getSource();\r
                     if (arg0.getType() == TableModelEvent.UPDATE){\r
                         //ToDo Data Validition check.\r
-                        String targetName = m.getValueAt(row, 0) + "";\r
+                        String targets = m.getValueAt(row, 0) + "";\r
+                        Vector<Object> targetName = new Vector<Object>();\r
+                        String[] sArray = targets.split("( )+");\r
+                        for (int i = 0; i < sArray.length; ++i) {\r
+                            targetName.add(sArray[i]);\r
+                        }\r
                         String toolChain = m.getValueAt(row, 1) + "";\r
                         String toolChain = m.getValueAt(row, 1) + "";\r
-                        String supArch = m.getValueAt(row, 2) + "";\r
+                        String archs = m.getValueAt(row, 2) + "";\r
+                        Vector<Object> supArch = new Vector<Object>();\r
+                        String[] sArray1 = archs.split("( )+");\r
+                        for (int i = 0; i < sArray1.length; ++i) {\r
+                            supArch.add(sArray1[i]);\r
+                        }\r
+                        if (supArch.size() == 0) {\r
+                            supArch.add("IA32");\r
+                        }\r
                         String toolCmd = m.getValueAt(row, 3) + "";\r
                         String tagName = m.getValueAt(row, 4) + "";\r
                         String contents = m.getValueAt(row, 5) + "";\r
                         String toolCmd = m.getValueAt(row, 3) + "";\r
                         String tagName = m.getValueAt(row, 4) + "";\r
                         String contents = m.getValueAt(row, 5) + "";\r
@@ -893,13 +898,23 @@ public class FpdBuildOptions extends IInternalFrame {
                     Object[] o = {jTextField12.getText(), jComboBox2.getSelectedItem(), s,\r
                                   jTextField8.getText(), jTextField13.getText(), jTextField7.getText()};\r
                     optionsTableModel.addRow(o);\r
                     Object[] o = {jTextField12.getText(), jComboBox2.getSelectedItem(), s,\r
                                   jTextField8.getText(), jTextField13.getText(), jTextField7.getText()};\r
                     optionsTableModel.addRow(o);\r
-                    ffc.genBuildOptionsOpt(jTextField12.getText(), jComboBox2.getSelectedItem()+"", jTextField13.getText(), jTextField8.getText(), s, jTextField7.getText());\r
+                  \r
+                    ffc.genBuildOptionsOpt(stringToVector(jTextField12.getText()), jComboBox2.getSelectedItem()+"", jTextField13.getText(), jTextField8.getText(),  stringToVector(s), jTextField7.getText());\r
                 }\r
             });\r
         }\r
         return jButton10;\r
     }\r
     \r
                 }\r
             });\r
         }\r
         return jButton10;\r
     }\r
     \r
+    private Vector<Object> stringToVector(String s) {\r
+        String[] sArray = s.split(" ");\r
+        Vector<Object> v = new Vector<Object>();\r
+        for (int i = 0; i < sArray.length; ++i) {\r
+            v.add(sArray[i]);\r
+        }\r
+        return v;\r
+    }\r
+    \r
     private String boolToList (boolean[] bool) {\r
         String s = " ";\r
         if (bool[0]) {\r
     private String boolToList (boolean[] bool) {\r
         String s = " ";\r
         if (bool[0]) {\r
@@ -920,7 +935,9 @@ public class FpdBuildOptions extends IInternalFrame {
         if (bool[5]) {\r
             s += "PPC ";\r
         }\r
         if (bool[5]) {\r
             s += "PPC ";\r
         }\r
-        \r
+        if (s == " ") {\r
+            s += "IA32";\r
+        }\r
         return s.trim();\r
     }\r
 \r
         return s.trim();\r
     }\r
 \r
index b9e772e0b3b868716eb47cd358d2621fdbb7f642..21e0a5b25b00cefbfd7d5753a8b1592635982ba8 100644 (file)
@@ -391,6 +391,149 @@ public class FpdFileContents {
         instance.setPackageVersion(pv);\r
         \r
     }\r
         instance.setPackageVersion(pv);\r
         \r
     }\r
+    \r
+    public String getFvBinding(String moduleKey){\r
+        ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);\r
+        if (msa == null || msa.getModuleSaBuildOptions() == null) {\r
+            return null;\r
+        }\r
+        return msa.getModuleSaBuildOptions().getFvBinding();\r
+    }\r
+    \r
+    public void setFvBinding(String moduleKey, String fvBinding){\r
+        ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);\r
+        if (msa == null ) {\r
+            return;\r
+        }\r
+        if(msa.getModuleSaBuildOptions() == null){\r
+            msa.addNewModuleSaBuildOptions().setFvBinding(fvBinding);\r
+            return;\r
+        }\r
+        msa.getModuleSaBuildOptions().setFvBinding(fvBinding);\r
+    }\r
+    \r
+    public String getFfsFileNameGuid(String moduleKey){\r
+        ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);\r
+        if (msa == null || msa.getModuleSaBuildOptions() == null) {\r
+            return null;\r
+        }\r
+        return msa.getModuleSaBuildOptions().getFfsFileNameGuid();\r
+    }\r
+    \r
+    public void setFfsFileNameGuid(String moduleKey, String fileGuid){\r
+        ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);\r
+        if (msa == null ) {\r
+            return;\r
+        }\r
+        if(msa.getModuleSaBuildOptions() == null){\r
+            msa.addNewModuleSaBuildOptions().setFfsFileNameGuid(fileGuid);\r
+            return;\r
+        }\r
+        msa.getModuleSaBuildOptions().setFfsFileNameGuid(fileGuid);\r
+    }\r
+    \r
+    public String getFfsFormatKey(String moduleKey){\r
+        ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);\r
+        if (msa == null || msa.getModuleSaBuildOptions() == null) {\r
+            return null;\r
+        }\r
+        return msa.getModuleSaBuildOptions().getFfsFormatKey();\r
+    }\r
+    \r
+    public void setFfsFormatKey(String moduleKey, String ffsKey){\r
+        ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);\r
+        if (msa == null ) {\r
+            return;\r
+        }\r
+        if(msa.getModuleSaBuildOptions() == null){\r
+            msa.addNewModuleSaBuildOptions().setFfsFormatKey(ffsKey);\r
+            return;\r
+        }\r
+        msa.getModuleSaBuildOptions().setFvBinding(ffsKey);\r
+    }\r
+    \r
+    public void getModuleSAOptions(String moduleKey, String[][] saa) {\r
+        ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);\r
+        if (msa.getModuleSaBuildOptions() == null || msa.getModuleSaBuildOptions().getOptions() == null\r
+                        || msa.getModuleSaBuildOptions().getOptions().getOptionList() == null) {\r
+            return ;\r
+        }\r
+        \r
+        List<OptionDocument.Option> lOpt = msa.getModuleSaBuildOptions().getOptions().getOptionList();\r
+        ListIterator li = lOpt.listIterator();\r
+        int i = 0;\r
+        while(li.hasNext()) {\r
+            OptionDocument.Option opt = (OptionDocument.Option)li.next();\r
+            if (opt.getBuildTargets() != null) {\r
+                saa[i][0] = listToString(opt.getBuildTargets());\r
+            }\r
+            saa[i][1] = opt.getToolChainFamily();\r
+            if (opt.getSupArchList() != null){\r
+                saa[i][2] = listToString(opt.getSupArchList());\r
+\r
+            }\r
+            saa[i][3] = opt.getToolCode();\r
+            saa[i][4] = opt.getTagName();\r
+            saa[i][5] = opt.getStringValue();\r
+             \r
+            ++i;\r
+        }\r
+    }\r
+    \r
+    public int getModuleSAOptionsCount(String moduleKey){\r
+        ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);\r
+        if (msa.getModuleSaBuildOptions() == null || msa.getModuleSaBuildOptions().getOptions() == null\r
+                        || msa.getModuleSaBuildOptions().getOptions().getOptionList() == null) {\r
+            return 0;\r
+        }\r
+        return msa.getModuleSaBuildOptions().getOptions().getOptionList().size();\r
+    }\r
+    \r
+    public void genModuleSAOptionsOpt(String moduleKey, Vector<Object> buildTargets, String toolChain, String tagName, String toolCmd, Vector<Object> archList, String contents) {\r
+        ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);\r
+        if (msa.getModuleSaBuildOptions() == null) {\r
+            msa.addNewModuleSaBuildOptions();\r
+        }\r
+        if (msa.getModuleSaBuildOptions().getOptions() == null){\r
+            msa.getModuleSaBuildOptions().addNewOptions();\r
+        }\r
+        OptionDocument.Option opt = msa.getModuleSaBuildOptions().getOptions().addNewOption();\r
+        setBuildOptionsOpt(buildTargets, toolChain, tagName, toolCmd, archList, contents, opt);\r
+    }\r
+    \r
+    public void removeModuleSAOptionsOpt(String moduleKey, int i) {\r
+        ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);\r
+        if (msa.getModuleSaBuildOptions() == null || msa.getModuleSaBuildOptions().getOptions() == null) {\r
+            return ;\r
+        }\r
+        OptionsDocument.Options opts = msa.getModuleSaBuildOptions().getOptions();\r
+        XmlCursor cursor = opts.newCursor();\r
+        if (cursor.toFirstChild()) {\r
+            for (int j = 0; j < i; ++j){\r
+                cursor.toNextSibling();\r
+            }\r
+            cursor.removeXml();\r
+        }\r
+        cursor.dispose();\r
+    }\r
+    \r
+    public void updateModuleSAOptionsOpt(String moduleKey, int i, Vector<Object> buildTargets, String toolChain, String tagName, String toolCmd, Vector<Object> archList, String contents) {\r
+        ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);\r
+        if (msa.getModuleSaBuildOptions() == null || msa.getModuleSaBuildOptions().getOptions() == null) {\r
+            return ;\r
+        }\r
+        OptionsDocument.Options opts = msa.getModuleSaBuildOptions().getOptions();\r
+        XmlCursor cursor = opts.newCursor();\r
+        if (cursor.toFirstChild()) {\r
+            for (int j = 0; j < i; ++j){\r
+                cursor.toNextSibling();\r
+            }\r
+            OptionDocument.Option opt = (OptionDocument.Option)cursor.getObject();\r
+            setBuildOptionsOpt(buildTargets, toolChain, tagName, toolCmd, archList, contents, opt);\r
+        }\r
+        cursor.dispose();\r
+    }\r
+    \r
     /**add pcd information of module mi to a ModuleSA. \r
      * @param mi\r
      * @param moduleSa if null, generate a new ModuleSA.\r
     /**add pcd information of module mi to a ModuleSA. \r
      * @param mi\r
      * @param moduleSa if null, generate a new ModuleSA.\r
@@ -1050,7 +1193,7 @@ public class FpdFileContents {
             ++i;\r
         }\r
     }\r
             ++i;\r
         }\r
     }\r
-    public void genBuildOptionsOpt(String buildTargets, String toolChain, String tagName, String toolCmd, String archList, String contents) {\r
+    public void genBuildOptionsOpt(Vector<Object> buildTargets, String toolChain, String tagName, String toolCmd, Vector<Object> archList, String contents) {\r
         OptionsDocument.Options opts = getfpdBuildOpts().getOptions();\r
         if (opts == null) {\r
             opts = getfpdBuildOpts().addNewOptions();\r
         OptionsDocument.Options opts = getfpdBuildOpts().getOptions();\r
         if (opts == null) {\r
             opts = getfpdBuildOpts().addNewOptions();\r
@@ -1059,18 +1202,15 @@ public class FpdFileContents {
         setBuildOptionsOpt(buildTargets, toolChain, tagName, toolCmd, archList, contents, opt);\r
     }\r
     \r
         setBuildOptionsOpt(buildTargets, toolChain, tagName, toolCmd, archList, contents, opt);\r
     }\r
     \r
-    private void setBuildOptionsOpt(String buildTargets, String toolChain, String tagName, String toolCmd, String archList, String contents, OptionDocument.Option opt){\r
+    private void setBuildOptionsOpt(Vector<Object> buildTargets, String toolChain, String tagName, String toolCmd, Vector<Object> archList, String contents, OptionDocument.Option opt){\r
         opt.setStringValue(contents);\r
         opt.setStringValue(contents);\r
-//        opt.setBuildTargets(buildTargets);\r
+        \r
+        opt.setBuildTargets(buildTargets);\r
         opt.setToolChainFamily(toolChain);\r
         opt.setTagName(tagName);\r
         opt.setToolCode(toolCmd);\r
         opt.setToolChainFamily(toolChain);\r
         opt.setTagName(tagName);\r
         opt.setToolCode(toolCmd);\r
-        String[] s = archList.split(" ");\r
-        ArrayList<String> al = new ArrayList<String>();\r
-        for (int i = 0; i < s.length; ++i) {\r
-            al.add(s[i]);\r
-        }\r
-        opt.setSupArchList(al);\r
+        \r
+        opt.setSupArchList(archList);\r
     }\r
     \r
     public void removeBuildOptionsOpt(int i){\r
     }\r
     \r
     public void removeBuildOptionsOpt(int i){\r
@@ -1090,7 +1230,7 @@ public class FpdFileContents {
         cursor.dispose();\r
     }\r
     \r
         cursor.dispose();\r
     }\r
     \r
-    public void updateBuildOptionsOpt(int i, String buildTargets, String toolChain, String tagName, String toolCmd, String archList, String contents) {\r
+    public void updateBuildOptionsOpt(int i, Vector<Object> buildTargets, String toolChain, String tagName, String toolCmd, Vector<Object> archList, String contents) {\r
         XmlObject o = getfpdBuildOpts().getOptions();\r
         if (o == null) {\r
             return;\r
         XmlObject o = getfpdBuildOpts().getOptions();\r
         if (o == null) {\r
             return;\r
@@ -1374,8 +1514,8 @@ public class FpdFileContents {
             while(li.hasNext()) {\r
                 BuildOptionsDocument.BuildOptions.Ffs.Sections.Sections2.Section section = li.next();\r
                 if (section.isSetSectionType()) {\r
             while(li.hasNext()) {\r
                 BuildOptionsDocument.BuildOptions.Ffs.Sections.Sections2.Section section = li.next();\r
                 if (section.isSetSectionType()) {\r
-                al.add(section.getSectionType().toString());\r
-            }\r
+                    al.add(section.getSectionType().toString());\r
+                }\r
                 \r
             }\r
         }\r
                 \r
             }\r
         }\r
@@ -2002,7 +2142,7 @@ public class FpdFileContents {
 \r
     }\r
     \r
 \r
     }\r
     \r
-    private String listToString(List<String> l) {\r
+    private String listToString(List l) {\r
         if (l == null) {\r
             return null;\r
         }\r
         if (l == null) {\r
             return null;\r
         }\r
index 087a7f68a0ac32e8e17362cefbafb96b93561822..40a3473058a0efacd8a443a5dd49e99712e43bca 100644 (file)
@@ -23,7 +23,6 @@ import javax.swing.JTabbedPane;
 import javax.swing.JButton;\r
 import javax.swing.ListSelectionModel;\r
 \r
 import javax.swing.JButton;\r
 import javax.swing.ListSelectionModel;\r
 \r
-import org.tianocore.FvImagesDocument;\r
 import org.tianocore.PlatformSurfaceAreaDocument;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
 import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
 import org.tianocore.PlatformSurfaceAreaDocument;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
 import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
@@ -36,7 +35,6 @@ import java.awt.event.ComponentEvent;
 import java.awt.event.ItemEvent;\r
 import java.awt.event.ItemListener;\r
 import java.io.File;\r
 import java.awt.event.ItemEvent;\r
 import java.awt.event.ItemListener;\r
 import java.io.File;\r
-import java.util.ArrayList;\r
 import java.util.Iterator;\r
 import java.util.LinkedHashMap;\r
 import java.util.Map;\r
 import java.util.Iterator;\r
 import java.util.LinkedHashMap;\r
 import java.util.Map;\r
@@ -719,11 +717,11 @@ public class FpdFlash extends IInternalFrame {
  if (jPanel5 == null) {\r
      //ToDo add ButtonGroup for RadioButtons\r
             jLabel6 = new JLabel();\r
  if (jPanel5 == null) {\r
      //ToDo add ButtonGroup for RadioButtons\r
             jLabel6 = new JLabel();\r
-            jLabel6.setEnabled(false);\r
+            jLabel6.setEnabled(true);\r
             jLabel6.setText("Value");\r
             jLabel6.setPreferredSize(new Dimension(38, 20));\r
             jLabel5 = new JLabel();\r
             jLabel6.setText("Value");\r
             jLabel6.setPreferredSize(new Dimension(38, 20));\r
             jLabel5 = new JLabel();\r
-            jLabel5.setEnabled(false);\r
+            jLabel5.setEnabled(true);\r
             jLabel5.setText("Name");\r
             jLabel5.setPreferredSize(new Dimension(38, 20));\r
             jPanel5 = new JPanel();\r
             jLabel5.setText("Name");\r
             jLabel5.setPreferredSize(new Dimension(38, 20));\r
             jPanel5 = new JPanel();\r
@@ -924,7 +922,7 @@ public class FpdFlash extends IInternalFrame {
 \r
                 public void itemStateChanged(ItemEvent arg0) {\r
                     // TODO Auto-generated method stub\r
 \r
                 public void itemStateChanged(ItemEvent arg0) {\r
                     // TODO Auto-generated method stub\r
-                    boolean selected = jCheckBox3.isSelected();\r
+//                    boolean selected = jCheckBox3.isSelected();\r
                     \r
                         if (!jCheckBox2.isSelected() || jComboBox.getSelectedIndex() == 0) {\r
                             return;\r
                     \r
                         if (!jCheckBox2.isSelected() || jComboBox.getSelectedIndex() == 0) {\r
                             return;\r
@@ -1086,7 +1084,7 @@ public class FpdFlash extends IInternalFrame {
     private JTextField getJTextField4() {\r
         if (jTextField4 == null) {\r
             jTextField4 = new JTextField();\r
     private JTextField getJTextField4() {\r
         if (jTextField4 == null) {\r
             jTextField4 = new JTextField();\r
-            jTextField4.setEnabled(false);\r
+            jTextField4.setEnabled(true);\r
             jTextField4.setPreferredSize(new Dimension(100, 20));\r
         }\r
         return jTextField4;\r
             jTextField4.setPreferredSize(new Dimension(100, 20));\r
         }\r
         return jTextField4;\r
@@ -1100,7 +1098,7 @@ public class FpdFlash extends IInternalFrame {
     private JTextField getJTextField5() {\r
         if (jTextField5 == null) {\r
             jTextField5 = new JTextField();\r
     private JTextField getJTextField5() {\r
         if (jTextField5 == null) {\r
             jTextField5 = new JTextField();\r
-            jTextField5.setEnabled(false);\r
+            jTextField5.setEnabled(true);\r
             jTextField5.setPreferredSize(new Dimension(100, 20));\r
         }\r
         return jTextField5;\r
             jTextField5.setPreferredSize(new Dimension(100, 20));\r
         }\r
         return jTextField5;\r
index 6dda51be0068d0c21e2136c0cf5e2a44ae317db3..58c181dcd38fe4a2d710d719e4d142382061146c 100644 (file)
@@ -36,6 +36,8 @@ import java.util.Iterator;
 import java.util.ListIterator;\r
 import java.util.Map;\r
 import java.util.Set;\r
 import java.util.ListIterator;\r
 import java.util.Map;\r
 import java.util.Set;\r
+import java.util.Vector;\r
+\r
 import javax.swing.JTextField;\r
 \r
 public class FpdModuleSA extends JDialog implements ActionListener {\r
 import javax.swing.JTextField;\r
 \r
 public class FpdModuleSA extends JDialog implements ActionListener {\r
@@ -82,6 +84,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
     private LibraryTableModel model1 = null;\r
     private LibraryTableModel model2 = null;\r
     private LibraryTableModel model3 = null;\r
     private LibraryTableModel model1 = null;\r
     private LibraryTableModel model2 = null;\r
     private LibraryTableModel model3 = null;\r
+    private DefaultTableModel optionsTableModel = null;\r
     private FpdFileContents ffc = null;\r
     private String moduleKey = null;\r
     private HashMap<String, ArrayList<String>> classInstanceMap = null;\r
     private FpdFileContents ffc = null;\r
     private String moduleKey = null;\r
     private HashMap<String, ArrayList<String>> classInstanceMap = null;\r
@@ -96,6 +99,8 @@ public class FpdModuleSA extends JDialog implements ActionListener {
     private JTextField jTextField2 = null;\r
     private JScrollPane jScrollPane6 = null;\r
     private JTable jTable4 = null;\r
     private JTextField jTextField2 = null;\r
     private JScrollPane jScrollPane6 = null;\r
     private JTable jTable4 = null;\r
+    private JButton jButton4 = null;\r
+    private JButton jButton5 = null;\r
     /**\r
      * This is the default constructor\r
      */\r
     /**\r
      * This is the default constructor\r
      */\r
@@ -150,6 +155,21 @@ public class FpdModuleSA extends JDialog implements ActionListener {
         // display library classes that need to be resolved. also potential instances for them.\r
         //\r
         resolveLibraryInstances(key);\r
         // display library classes that need to be resolved. also potential instances for them.\r
         //\r
         resolveLibraryInstances(key);\r
+        //\r
+        // display module SA options\r
+        //\r
+        String fvBinding = ffc.getFvBinding(key);\r
+        if (fvBinding != null) {\r
+            jTextField.setText(fvBinding);\r
+        }\r
+        String fileGuid = ffc.getFfsFileNameGuid(key);\r
+        if (fileGuid != null) {\r
+            jTextField1.setText(fileGuid);\r
+        }\r
+        String ffsKey = ffc.getFfsFormatKey(key);\r
+        if (ffsKey != null) {\r
+            jTextField2.setText(ffsKey);\r
+        }\r
     }\r
     \r
     private void resolveLibraryInstances(String key) {\r
     }\r
     \r
     private void resolveLibraryInstances(String key) {\r
@@ -995,6 +1015,8 @@ public class FpdModuleSA extends JDialog implements ActionListener {
             jPanel8.add(jLabel8, null);\r
             jPanel8.add(getJTextField2(), null);\r
             jPanel8.add(getJScrollPane6(), null);\r
             jPanel8.add(jLabel8, null);\r
             jPanel8.add(getJTextField2(), null);\r
             jPanel8.add(getJScrollPane6(), null);\r
+            jPanel8.add(getJButton4(), null);\r
+            jPanel8.add(getJButton5(), null);\r
         }\r
         return jPanel8;\r
     }\r
         }\r
         return jPanel8;\r
     }\r
@@ -1007,6 +1029,11 @@ public class FpdModuleSA extends JDialog implements ActionListener {
         if (jTextField == null) {\r
             jTextField = new JTextField();\r
             jTextField.setPreferredSize(new java.awt.Dimension(100,20));\r
         if (jTextField == null) {\r
             jTextField = new JTextField();\r
             jTextField.setPreferredSize(new java.awt.Dimension(100,20));\r
+            jTextField.addFocusListener(new java.awt.event.FocusAdapter() {\r
+                public void focusLost(java.awt.event.FocusEvent e) {\r
+                    ffc.setFvBinding(moduleKey, jTextField.getText());\r
+                }\r
+            });\r
         }\r
         return jTextField;\r
     }\r
         }\r
         return jTextField;\r
     }\r
@@ -1019,6 +1046,11 @@ public class FpdModuleSA extends JDialog implements ActionListener {
         if (jTextField1 == null) {\r
             jTextField1 = new JTextField();\r
             jTextField1.setPreferredSize(new java.awt.Dimension(100,20));\r
         if (jTextField1 == null) {\r
             jTextField1 = new JTextField();\r
             jTextField1.setPreferredSize(new java.awt.Dimension(100,20));\r
+            jTextField1.addFocusListener(new java.awt.event.FocusAdapter() {\r
+                public void focusLost(java.awt.event.FocusEvent e) {\r
+                    ffc.setFfsFileNameGuid(moduleKey, jTextField1.getText());\r
+                }\r
+            });\r
         }\r
         return jTextField1;\r
     }\r
         }\r
         return jTextField1;\r
     }\r
@@ -1031,6 +1063,11 @@ public class FpdModuleSA extends JDialog implements ActionListener {
         if (jTextField2 == null) {\r
             jTextField2 = new JTextField();\r
             jTextField2.setPreferredSize(new java.awt.Dimension(100,20));\r
         if (jTextField2 == null) {\r
             jTextField2 = new JTextField();\r
             jTextField2.setPreferredSize(new java.awt.Dimension(100,20));\r
+            jTextField2.addFocusListener(new java.awt.event.FocusAdapter() {\r
+                public void focusLost(java.awt.event.FocusEvent e) {\r
+                    ffc.setFfsFormatKey(moduleKey, jTextField2.getText());\r
+                }\r
+            });\r
         }\r
         return jTextField2;\r
     }\r
         }\r
         return jTextField2;\r
     }\r
@@ -1054,10 +1091,96 @@ public class FpdModuleSA extends JDialog implements ActionListener {
      */\r
     private JTable getJTable4() {\r
         if (jTable4 == null) {\r
      */\r
     private JTable getJTable4() {\r
         if (jTable4 == null) {\r
-            jTable4 = new JTable();\r
+            optionsTableModel = new DefaultTableModel();\r
+            optionsTableModel.addColumn("BuildTargets");\r
+            optionsTableModel.addColumn("ToolChainFamily");\r
+            optionsTableModel.addColumn("TagName");\r
+            optionsTableModel.addColumn("ToolCode");\r
+            optionsTableModel.addColumn("SupportedArchs");\r
+            optionsTableModel.addColumn("Contents");\r
+            jTable4 = new JTable(optionsTableModel);\r
+            jTable4.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+            jTable4.getModel().addTableModelListener(new TableModelListener() {\r
+                public void tableChanged(TableModelEvent arg0) {\r
+                    // TODO Auto-generated method stub\r
+                    int row = arg0.getFirstRow();\r
+                    TableModel m = (TableModel)arg0.getSource();\r
+                    \r
+                    if (arg0.getType() == TableModelEvent.UPDATE){\r
+                        //ToDo Data Validition check.\r
+                        String targets = m.getValueAt(row, 0) + "";\r
+                        Vector<Object> targetName = new Vector<Object>();\r
+                        String[] sArray = targets.split(" ");\r
+                        for (int i = 0; i < sArray.length; ++i) {\r
+                            targetName.add(sArray[i]);\r
+                        }\r
+                        String toolChain = m.getValueAt(row, 1) + "";\r
+                        String tagName = m.getValueAt(row, 2) + "";\r
+                        String toolCode = m.getValueAt(row, 3) + "";\r
+                        String archs = m.getValueAt(row, 4) + "";\r
+                        Vector<Object> supArch = new Vector<Object>();\r
+                        String[] sArray1 = archs.split(" ");\r
+                        for (int i = 0; i < sArray1.length; ++i) {\r
+                            supArch.add(sArray1[i]);\r
+                        }\r
+                        if (supArch.size() == 0) {\r
+                            supArch.add("IA32");\r
+                        }\r
+                        String contents = m.getValueAt(row, 5) + "";\r
+                        \r
+                        ffc.updateModuleSAOptionsOpt(moduleKey, row, targetName, toolChain, tagName, toolCode, supArch, contents);\r
+                    }\r
+                }\r
+            });\r
         }\r
         return jTable4;\r
     }\r
         }\r
         return jTable4;\r
     }\r
+    /**\r
+     * This method initializes jButton4        \r
+     *         \r
+     * @return javax.swing.JButton     \r
+     */\r
+    private JButton getJButton4() {\r
+        if (jButton4 == null) {\r
+            jButton4 = new JButton();\r
+            jButton4.setPreferredSize(new java.awt.Dimension(80,20));\r
+            jButton4.setText("New");\r
+            jButton4.addActionListener(new java.awt.event.ActionListener() {\r
+                public void actionPerformed(java.awt.event.ActionEvent e) {\r
+                    String[] row = {"", "", "", "", "IA32", ""};\r
+                    optionsTableModel.addRow(row);\r
+                    Vector<Object> v = new Vector<Object>();\r
+                    Vector<Object> v1 = new Vector<Object>();\r
+                    v1.add("IA32");\r
+                    ffc.genModuleSAOptionsOpt(moduleKey, v, "", "", "", v1, "");\r
+                }\r
+            });\r
+        }\r
+        return jButton4;\r
+    }\r
+    /**\r
+     * This method initializes jButton5        \r
+     *         \r
+     * @return javax.swing.JButton     \r
+     */\r
+    private JButton getJButton5() {\r
+        if (jButton5 == null) {\r
+            jButton5 = new JButton();\r
+            jButton5.setPreferredSize(new java.awt.Dimension(80,20));\r
+            jButton5.setText("Delete");\r
+            jButton5.addActionListener(new java.awt.event.ActionListener() {\r
+                public void actionPerformed(java.awt.event.ActionEvent e) {\r
+                    if (jTable4.getSelectedRow() < 0) {\r
+                        return;\r
+                    }\r
+                    \r
+                    ffc.removeModuleSAOptionsOpt(moduleKey, jTable4.getSelectedRow());\r
+                    optionsTableModel.removeRow(jTable4.getSelectedRow());\r
+                }\r
+            });\r
+        }\r
+        return jButton5;\r
+    }\r
 \r
 }  //  @jve:decl-index=0:visual-constraint="10,10"\r
 \r
 \r
 }  //  @jve:decl-index=0:visual-constraint="10,10"\r
 \r