]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java
1. Add feature of ModuleSA PcdBuildDefinition editor.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdModuleSA.java
index 2923a441534525cd7e31fd7c957b11b040b541c8..a849f5ab464d44fc5f53816e08e95eeee7002b74 100644 (file)
@@ -41,6 +41,8 @@ import java.util.Set;
 import java.util.Vector;\r
 \r
 import javax.swing.JTextField;\r
+import java.awt.GridLayout;\r
+import javax.swing.JComboBox;\r
 \r
 public class FpdModuleSA extends JDialog implements ActionListener {\r
 \r
@@ -103,6 +105,18 @@ public class FpdModuleSA extends JDialog implements ActionListener {
     private JTable jTable4 = null;\r
     private JButton jButton4 = null;\r
     private JButton jButton5 = null;\r
+    private JPanel jPanel9 = null;\r
+    private JPanel jPanel10 = null;\r
+    private JPanel jPanel11 = null;\r
+    private JPanel jPanel12 = null;\r
+    private JLabel jLabel9 = null;\r
+    private JComboBox jComboBox = null;\r
+    private JLabel jLabel10 = null;\r
+    private JTextField jTextField3 = null;\r
+    private JLabel jLabel11 = null;\r
+    private JTextField jTextField4 = null;\r
+    private JButton jButton6 = null;\r
+    private JComboBox jComboBox1 = null;\r
     /**\r
      * This is the default constructor\r
      */\r
@@ -117,13 +131,14 @@ public class FpdModuleSA extends JDialog implements ActionListener {
     \r
     public void setKey(String k){\r
         this.moduleKey = k;\r
+        jTabbedPane.setSelectedIndex(0);\r
     }\r
 \r
     /**\r
       init will be called each time FpdModuleSA object is to be shown.\r
       @param key Module information.\r
      **/\r
-    public void init(String key) {\r
+    public void initPcdBuildDefinition(String key) {\r
         //\r
         // display pcd for key.\r
         //\r
@@ -136,6 +151,9 @@ public class FpdModuleSA extends JDialog implements ActionListener {
                 model.addRow(saa[i]);\r
             }\r
         }\r
+    }\r
+    \r
+    public void initLibraries(String key) {\r
         //\r
         // display library classes that need to be resolved. also potential instances for them.\r
         //\r
@@ -164,7 +182,9 @@ public class FpdModuleSA extends JDialog implements ActionListener {
                 \r
             }\r
         }\r
-        \r
+    }\r
+    \r
+    public void initModuleSAOptions(String key) {\r
         //\r
         // display module SA options\r
         //\r
@@ -295,7 +315,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
         //\r
         // remove pcd information of instance from current ModuleSA\r
         //\r
-        ffc.removePcdDataFromLibraryInstance(moduleKey, key);\r
+        ffc.removePcdData(moduleKey, mi);\r
         //\r
         // remove class produced by this instance and add back these produced class to be bound.\r
         //\r
@@ -462,7 +482,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
             jPanel.add(getJPanel2(), java.awt.BorderLayout.SOUTH);\r
             jPanel.addComponentListener(new java.awt.event.ComponentAdapter() {\r
                 public void componentShown(java.awt.event.ComponentEvent e) {\r
-                    init(moduleKey);\r
+                    initPcdBuildDefinition(moduleKey);\r
                 }\r
             });\r
             \r
@@ -484,7 +504,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
             jPanel1.add(getJPanel7(), java.awt.BorderLayout.CENTER);\r
             jPanel1.addComponentListener(new java.awt.event.ComponentAdapter() {\r
                 public void componentShown(java.awt.event.ComponentEvent e) {\r
-                    init(moduleKey);\r
+                    initLibraries(moduleKey);\r
                 }\r
             });\r
         }\r
@@ -535,26 +555,69 @@ public class FpdModuleSA extends JDialog implements ActionListener {
                         return;\r
                     }\r
                     else{\r
-//                        int selectedRow = lsm.getMinSelectionIndex();\r
-                        \r
+                        int selectedRow = lsm.getMinSelectionIndex();\r
+                        String cName = jTable.getValueAt(selectedRow, 0)+"";\r
+                        String[] pcdInfo = {"", ""};\r
+                        getPcdInfo(cName, pcdInfo);\r
+                        jTextArea.setText(pcdInfo[0]);\r
+                        initComboBox(pcdInfo[1]);\r
+                        jComboBox.setSelectedItem(pcdInfo[1]);\r
+                        jTextField3.setEnabled(true);\r
+                        jTextField3.setVisible(true);\r
+                        jTextField3.setText(jTable.getValueAt(selectedRow, 4)+"");\r
+                        jTextField4.setEnabled(true);\r
+                        jTextField4.setText(jTable.getValueAt(selectedRow, 6)+"");\r
+                        if (jTable.getValueAt(selectedRow, 5).equals("VOID*")) {\r
+                            if (pcdInfo[1].equals("FEATURE_FLAG")) {\r
+                                jTextField3.setVisible(false);\r
+                            }\r
+                            else if (pcdInfo[1].equals("FIXED_AT_BUILD")) {\r
+                                try{\r
+                                    jTextField3.setEnabled(false);\r
+                                    jTextField3.setText(ffc.setMaxSizeForPointer(jTable.getValueAt(selectedRow, 6)+"")+"");\r
+                                }\r
+                                catch(Exception except){\r
+                                    JOptionPane.showMessageDialog(frame, "Unacceptable PCD Value: " + except.getMessage());\r
+                                }\r
+                            }\r
+                            else{\r
+                                jTextField3.setText(jTable.getValueAt(selectedRow, 4)+"");\r
+                            }\r
+                        }\r
+                        else {\r
+                            jTextField3.setEnabled(false);\r
+                        }\r
                         \r
+                        if (!jTable.getValueAt(selectedRow, 2).equals("DYNAMIC") && !jTable.getValueAt(selectedRow, 2).equals("DYNAMIC_EX")) {\r
+                            jTextField4.setText(jTable.getValueAt(selectedRow, 6)+"");\r
+                            if (jTable.getValueAt(selectedRow, 2).equals("FEATURE_FLAG")){\r
+                                jTextField4.setVisible(false);\r
+                                jComboBox1.setVisible(true);\r
+                                jComboBox1.setSelectedItem(jTable.getValueAt(selectedRow, 6)+"");\r
+                            }\r
+                            else{\r
+                                jTextField4.setVisible(true);\r
+                                jTextField4.setEnabled(true);\r
+                                jComboBox1.setVisible(false);\r
+                            }\r
+                        }\r
+                        else{\r
+                            jTextField4.setEnabled(false);\r
+                        }\r
                     }\r
+                    \r
+                    \r
                 }\r
             });\r
             \r
             jTable.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
-                    if (arg0.getType() == TableModelEvent.INSERT) {\r
-                        //\r
-                        // Set combo box values for item type according to pcd values added.\r
-                        //\r
-                        \r
-                    }\r
+//                    int row = arg0.getFirstRow();\r
+//                    TableModel m = (TableModel)arg0.getSource();\r
+                    \r
                     if (arg0.getType() == TableModelEvent.UPDATE){\r
-                        //ToDo Data Validition check.\r
+                        //update xml doc here.\r
                         \r
                     }\r
                 }\r
@@ -562,6 +625,38 @@ public class FpdModuleSA extends JDialog implements ActionListener {
         }\r
         return jTable;\r
     }\r
+    \r
+    private void initComboBox(String originalType) {\r
+        jComboBox.removeAllItems();\r
+        jComboBox.addItem(originalType);\r
+        if (originalType.equals("PATCHABLE_IN_MODULE")) {\r
+            jComboBox.addItem("FIXED_AT_BUILD");\r
+        }\r
+        if (originalType.equals("DYNAMIC")) {\r
+            jComboBox.addItem("FIXED_AT_BUILD");\r
+            jComboBox.addItem("PATCHABLE_IN_MODULE");\r
+        }\r
+    }\r
+    \r
+    private void getPcdInfo(String cName, String[] sa) {\r
+        String[][] saa = new String[ffc.getLibraryInstancesCount(moduleKey)][5];\r
+        ffc.getLibraryInstances(moduleKey, saa);\r
+        \r
+        try{\r
+            if (ffc.getPcdBuildDataInfo(getModuleId(moduleKey), cName, sa)) {\r
+                return;\r
+            }\r
+            for (int j = 0; j < saa.length; ++j) {\r
+                if (ffc.getPcdBuildDataInfo(getModuleId(saa[j][1] + " " + saa[j][2] + " " + saa[j][3] + " " + saa[j][4]),\r
+                                            cName, sa)) {\r
+                    return;\r
+                }\r
+            }\r
+        }\r
+        catch(Exception e) {\r
+            JOptionPane.showMessageDialog(this, "Get PCD details fail: " + e.getMessage());\r
+        }\r
+    }\r
 \r
     /**\r
      * This method initializes jPanel2 \r
@@ -573,8 +668,10 @@ public class FpdModuleSA extends JDialog implements ActionListener {
             jLabel5 = new JLabel();\r
             jLabel5.setText("PCD Description");\r
             jPanel2 = new JPanel();\r
+            jPanel2.setPreferredSize(new java.awt.Dimension(607,200));\r
             jPanel2.add(jLabel5, null);\r
             jPanel2.add(getJScrollPane1(), null);\r
+            jPanel2.add(getJPanel9(), null);\r
         }\r
         return jPanel2;\r
     }\r
@@ -702,24 +799,6 @@ public class FpdModuleSA extends JDialog implements ActionListener {
             jTable1.setRowHeight(20);\r
             jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
             jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-            jTable1.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
-                public void valueChanged(ListSelectionEvent e) {\r
-                    int selectedRow1 = -1;\r
-                    if (e.getValueIsAdjusting()){\r
-                        return;\r
-                    }\r
-                    ListSelectionModel lsm = (ListSelectionModel)e.getSource();\r
-                    if (lsm.isSelectionEmpty()) {\r
-                        return;\r
-                    }\r
-                    else{\r
-                        selectedRow1 = lsm.getMinSelectionIndex();\r
-                        \r
-                        \r
-                    }\r
-                }\r
-            });\r
-            \r
             \r
         }\r
         return jTable1;\r
@@ -825,23 +904,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
             jTable3.setRowHeight(20);\r
             jTable3.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
             jTable3.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-            jTable3.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
-                public void valueChanged(ListSelectionEvent e) {\r
-                    int selectedRow3 = -1;\r
-                    if (e.getValueIsAdjusting()){\r
-                        return;\r
-                    }\r
-                    ListSelectionModel lsm = (ListSelectionModel)e.getSource();\r
-                    if (lsm.isSelectionEmpty()) {\r
-                        return;\r
-                    }\r
-                    else{\r
-                        selectedRow3 = lsm.getMinSelectionIndex();\r
-                        \r
-                        \r
-                    }\r
-                }\r
-            });\r
+            \r
         }\r
         return jTable3;\r
     }\r
@@ -931,11 +994,12 @@ public class FpdModuleSA extends JDialog implements ActionListener {
                     model3.getValueAt(row, 2) + " " +\r
                     model3.getValueAt(row, 3) + " " +\r
                     model3.getValueAt(row, 4);\r
+                    ffc.genLibraryInstance(model3.getValueAt(row, 1)+"", model3.getValueAt(row, 2)+"", model3.getValueAt(row, 3)+"", model3.getValueAt(row, 4)+"", moduleKey);\r
                     //\r
                     // Add pcd information of selected instance to current moduleSA\r
                     //\r
                     try{\r
-                    ffc.addFrameworkModulesPcdBuildDefs(getModuleId(instanceValue), ffc.getModuleSA(moduleKey));\r
+                        ffc.addFrameworkModulesPcdBuildDefs(getModuleId(instanceValue), ffc.getModuleSA(moduleKey));\r
                     }\r
                     catch (Exception exception) {\r
                         JOptionPane.showMessageDialog(frame, "PCD Insertion Fail. " + exception.getMessage());\r
@@ -967,6 +1031,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
                                    model1.getValueAt(row, 2) + " " +\r
                                    model1.getValueAt(row, 3) + " " +\r
                                    model1.getValueAt(row, 4));\r
+                    ffc.removeLibraryInstance(moduleKey, row);\r
                     model1.removeRow(row);\r
                     \r
                 }\r
@@ -1007,14 +1072,14 @@ public class FpdModuleSA extends JDialog implements ActionListener {
     public void actionPerformed(ActionEvent arg0) {\r
 \r
         if (arg0.getSource() == jButton2) {\r
-            ffc.removeLibraryInstances(moduleKey);\r
-            for (int i = 0; i < model1.getRowCount(); ++i) {\r
-                String mg = model1.getValueAt(i, 1)+"";\r
-                String mv = model1.getValueAt(i, 2)+"";\r
-                String pg = model1.getValueAt(i, 3)+"";\r
-                String pv = model1.getValueAt(i, 4)+"";\r
-                ffc.genLibraryInstance(mg, mv, pg, pv, moduleKey);\r
-            }\r
+//            ffc.removeLibraryInstances(moduleKey);\r
+//            for (int i = 0; i < model1.getRowCount(); ++i) {\r
+//                String mg = model1.getValueAt(i, 1)+"";\r
+//                String mv = model1.getValueAt(i, 2)+"";\r
+//                String pg = model1.getValueAt(i, 3)+"";\r
+//                String pv = model1.getValueAt(i, 4)+"";\r
+//                ffc.genLibraryInstance(mg, mv, pg, pv, moduleKey);\r
+//            }\r
             this.setVisible(false);\r
         }\r
     }\r
@@ -1043,7 +1108,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
             jPanel8.add(getJButton5(), null);\r
             jPanel8.addComponentListener(new java.awt.event.ComponentAdapter() {\r
                 public void componentShown(java.awt.event.ComponentEvent e) {\r
-                    init(moduleKey);\r
+                    initModuleSAOptions(moduleKey);\r
                 }\r
             });\r
         }\r
@@ -1242,6 +1307,217 @@ public class FpdModuleSA extends JDialog implements ActionListener {
    protected void centerWindow() {\r
        centerWindow(this.getSize().width, this.getSize().height);\r
    }\r
+/**\r
+ * This method initializes jPanel9     \r
+ *     \r
+ * @return javax.swing.JPanel  \r
+ */\r
+private JPanel getJPanel9() {\r
+    if (jPanel9 == null) {\r
+        GridLayout gridLayout = new GridLayout();\r
+        gridLayout.setRows(3);\r
+        gridLayout.setColumns(2);\r
+        jPanel9 = new JPanel();\r
+        jPanel9.setLayout(gridLayout);\r
+        jPanel9.setPreferredSize(new java.awt.Dimension(600,90));\r
+        jPanel9.add(getJPanel12(), null);\r
+        jPanel9.add(getJPanel10(), null);\r
+        jPanel9.add(getJPanel11(), null);\r
+    }\r
+    return jPanel9;\r
+}\r
+/**\r
+ * This method initializes jPanel10    \r
+ *     \r
+ * @return javax.swing.JPanel  \r
+ */\r
+private JPanel getJPanel10() {\r
+    if (jPanel10 == null) {\r
+        FlowLayout flowLayout2 = new FlowLayout();\r
+        flowLayout2.setAlignment(java.awt.FlowLayout.LEFT);\r
+        jLabel10 = new JLabel();\r
+        jLabel10.setText("Max Datum Size");\r
+        jPanel10 = new JPanel();\r
+        jPanel10.setLayout(flowLayout2);\r
+        jPanel10.add(jLabel10, null);\r
+        jPanel10.add(getJTextField3(), null);\r
+    }\r
+    return jPanel10;\r
+}\r
+/**\r
+ * This method initializes jPanel11    \r
+ *     \r
+ * @return javax.swing.JPanel  \r
+ */\r
+private JPanel getJPanel11() {\r
+    if (jPanel11 == null) {\r
+        FlowLayout flowLayout3 = new FlowLayout();\r
+        flowLayout3.setAlignment(java.awt.FlowLayout.LEFT);\r
+        jLabel11 = new JLabel();\r
+        jLabel11.setText("Default Value");\r
+        jLabel11.setPreferredSize(new java.awt.Dimension(91,16));\r
+        jPanel11 = new JPanel();\r
+        jPanel11.setLayout(flowLayout3);\r
+        jPanel11.add(jLabel11, null);\r
+        jPanel11.add(getJTextField4(), null);\r
+        jPanel11.add(getJComboBox1(), null);\r
+    }\r
+    return jPanel11;\r
+}\r
+/**\r
+ * This method initializes jPanel12    \r
+ *     \r
+ * @return javax.swing.JPanel  \r
+ */\r
+private JPanel getJPanel12() {\r
+    if (jPanel12 == null) {\r
+        FlowLayout flowLayout1 = new FlowLayout();\r
+        flowLayout1.setAlignment(java.awt.FlowLayout.LEFT);\r
+        jLabel9 = new JLabel();\r
+        jLabel9.setText("Item Type");\r
+        jLabel9.setPreferredSize(new java.awt.Dimension(91,16));\r
+        jPanel12 = new JPanel();\r
+        jPanel12.setLayout(flowLayout1);\r
+        jPanel12.add(jLabel9, null);\r
+        jPanel12.add(getJComboBox(), null);\r
+        jPanel12.add(getJButton6(), null);\r
+    }\r
+    return jPanel12;\r
+}\r
+/**\r
+ * This method initializes jComboBox   \r
+ *     \r
+ * @return javax.swing.JComboBox       \r
+ */\r
+private JComboBox getJComboBox() {\r
+    if (jComboBox == null) {\r
+        jComboBox = new JComboBox();\r
+        jComboBox.setPreferredSize(new java.awt.Dimension(200,20));\r
+        jComboBox.addItemListener(new java.awt.event.ItemListener() {\r
+            public void itemStateChanged(java.awt.event.ItemEvent e) {\r
+                int row = jTable.getSelectedRow();\r
+                if (row < 0 || jTable.getValueAt(row, 2).equals(jComboBox.getSelectedItem())) {\r
+                    return;\r
+                }\r
+                if (jComboBox.getItemCount() == 3) {\r
+                    if (!jComboBox.getSelectedItem().equals("DYNAMIC")) {\r
+                        pcdDynamicToNonDynamic(jTable.getValueAt(row, 0)+"", jTable.getValueAt(row, 1)+"");\r
+                    }\r
+                    else{\r
+                        pcdNonDynamicToDynamic(jTable.getValueAt(row, 0)+"", jTable.getValueAt(row, 1)+"");\r
+                    }\r
+                }\r
+            }\r
+        });\r
+    }\r
+    return jComboBox;\r
+}\r
+\r
+private void pcdDynamicToNonDynamic(String cName, String tsGuid) {\r
+    String[][] saa = new String[ffc.getDynamicPcdBuildDataCount()][5];\r
+    ffc.getDynamicPcdBuildData(saa);\r
+    String maxSize = "";\r
+    String value = "";\r
+    for (int i = 0; i < saa.length; ++i) {\r
+        if (saa[i][0].equals(cName) && saa[i][2].equals(tsGuid)) {\r
+            maxSize = saa[i][3];\r
+            value = ffc.getDynamicPcdBuildDataValue(i);\r
+            break;\r
+        }\r
+    }\r
+    \r
+    ArrayList<String> al = ffc.getDynPcdMapValue(cName + " " + tsGuid);\r
+    for (int i = 0; i < al.size(); ++i) {\r
+        String[] s = al.get(i).split(" ");\r
+        String mKey = s[0] + s[1] + s[2] + s[3];\r
+        ffc.updatePcdData(mKey, cName, tsGuid, jComboBox.getSelectedItem()+"", maxSize, value);\r
+        s[4] = jComboBox.getSelectedItem()+"";\r
+        al.set(i, s[0]+" "+s[1]+" "+s[2]+" "+s[3]+" "+s[4]);\r
+    }\r
+    \r
+    ffc.removeDynamicPcdBuildData(cName, tsGuid);\r
+}\r
+\r
+private void pcdNonDynamicToDynamic(String cName, String tsGuid) {\r
+    ArrayList<String> al = ffc.getDynPcdMapValue(cName + " " + tsGuid);\r
+    for (int i = 0; i < al.size(); ++i) {\r
+        String[] s = al.get(i).split(" ");\r
+        String mKey = s[0] + s[1] + s[2] + s[3];\r
+        ffc.updatePcdData(mKey, cName, tsGuid, jComboBox.getSelectedItem()+"", jTextField3.getText(), jTextField4.isVisible() ? jTextField4.getText() : jComboBox1.getSelectedItem()+"");\r
+        s[4] = jComboBox.getSelectedItem()+"";\r
+        al.set(i, s[0]+" "+s[1]+" "+s[2]+" "+s[3]+" "+s[4]);\r
+    }\r
+    try{\r
+        ffc.addDynamicPcdBuildData(cName, jTable.getValueAt(jTable.getSelectedRow(), 3), tsGuid, "DYNAMIC", jTable.getValueAt(jTable.getSelectedRow(), 5)+"", jTextField4.isVisible() ? jTextField4.getText() : jComboBox1.getSelectedItem()+"");\r
+    }\r
+    catch(Exception e){\r
+        JOptionPane.showMessageDialog(frame, "PCD value format: " + e.getMessage());\r
+    }\r
+}\r
+/**\r
+ * This method initializes jTextField3 \r
+ *     \r
+ * @return javax.swing.JTextField      \r
+ */\r
+private JTextField getJTextField3() {\r
+    if (jTextField3 == null) {\r
+        jTextField3 = new JTextField();\r
+        jTextField3.setPreferredSize(new java.awt.Dimension(200,20));\r
+    }\r
+    return jTextField3;\r
+}\r
+/**\r
+ * This method initializes jTextField4 \r
+ *     \r
+ * @return javax.swing.JTextField      \r
+ */\r
+private JTextField getJTextField4() {\r
+    if (jTextField4 == null) {\r
+        jTextField4 = new JTextField();\r
+        jTextField4.setPreferredSize(new java.awt.Dimension(200,20));\r
+    }\r
+    return jTextField4;\r
+}\r
+/**\r
+ * This method initializes jButton6    \r
+ *     \r
+ * @return javax.swing.JButton \r
+ */\r
+private JButton getJButton6() {\r
+    if (jButton6 == null) {\r
+        jButton6 = new JButton();\r
+        jButton6.setPreferredSize(new java.awt.Dimension(150,20));\r
+        jButton6.setText("Update PCD Data");\r
+        jButton6.addActionListener(new java.awt.event.ActionListener() {\r
+            public void actionPerformed(java.awt.event.ActionEvent e) {\r
+                int row = jTable.getSelectedRow();\r
+                if (row < 0) {\r
+                    return;\r
+                }\r
+                model.setValueAt(jComboBox.getSelectedItem(), row, 2);\r
+                model.setValueAt(jTextField3.getText(), row, 4);\r
+                model.setValueAt(jTextField4.isVisible()? jTextField4.getText():jComboBox1.getSelectedItem(), row, 6);\r
+                ffc.updatePcdData(moduleKey, model.getValueAt(row, 0)+"", model.getValueAt(row, 1)+"", model.getValueAt(row, 2)+"", model.getValueAt(row, 4)+"", model.getValueAt(row, 6)+"");\r
+            }\r
+        });\r
+    }\r
+    return jButton6;\r
+}\r
+/**\r
+ * This method initializes jComboBox1  \r
+ *     \r
+ * @return javax.swing.JComboBox       \r
+ */\r
+private JComboBox getJComboBox1() {\r
+    if (jComboBox1 == null) {\r
+        jComboBox1 = new JComboBox();\r
+        jComboBox1.setPreferredSize(new java.awt.Dimension(100,20));\r
+        jComboBox1.setVisible(false);\r
+        jComboBox1.addItem("true");\r
+        jComboBox1.addItem("false");\r
+    }\r
+    return jComboBox1;\r
+}\r
 \r
 \r
 }  //  @jve:decl-index=0:visual-constraint="10,10"\r