+ /**\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 = {"", "", "", "", "", ""};\r
+ optionsTableModel.addRow(row);\r
+ Vector<Object> v = new Vector<Object>();\r
+ Vector<Object> v1 = null;\r
+ docConsole.setSaved(false);\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
+ docConsole.setSaved(false);\r
+ ffc.removeModuleSAOptionsOpt(moduleKey, jTable4.getSelectedRow());\r
+ optionsTableModel.removeRow(jTable4.getSelectedRow());\r
+ }\r
+ });\r
+ }\r
+ return jButton5;\r
+ }\r
+ \r
+ /**\r
+ Start the window at the center of screen\r
+ \r
+ **/\r
+ protected void centerWindow(int intWidth, int intHeight) {\r
+ Dimension d = Toolkit.getDefaultToolkit().getScreenSize();\r
+ this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);\r
+ }\r
+\r
+ /**\r
+ Start the window at the center of screen\r
+ \r
+ **/\r
+ 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
+ docConsole.setSaved(false);\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