+ /**\r
+ * This method initializes jButtonDelete\r
+ * \r
+ * @return javax.swing.JButton \r
+ */\r
+ private JButton getJButtonDeleteOption() {\r
+ if (jButtonDeleteOption == null) {\r
+ jButtonDeleteOption = new JButton();\r
+ jButtonDeleteOption.setPreferredSize(new java.awt.Dimension(80,20));\r
+ jButtonDeleteOption.setText("Delete");\r
+ jButtonDeleteOption.addActionListener(new java.awt.event.ActionListener() {\r
+ public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ if (jTableModuleSaOptions.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ docConsole.setSaved(false);\r
+ ffc.removeModuleSAOptionsOpt(moduleKey, jTableModuleSaOptions.getSelectedRow());\r
+ optionsTableModel.removeRow(jTableModuleSaOptions.getSelectedRow());\r
+ }\r
+ });\r
+ }\r
+ return jButtonDeleteOption;\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 jPanelPcdFields\r
+ * \r
+ * @return javax.swing.JPanel \r
+ */\r
+private JPanel getJPanelPcdFields() {\r
+ if (jPanelPcdFields == null) {\r
+ GridLayout gridLayout = new GridLayout();\r
+ gridLayout.setRows(3);\r
+ gridLayout.setColumns(2);\r
+ jPanelPcdFields = new JPanel();\r
+ jPanelPcdFields.setLayout(gridLayout);\r
+ jPanelPcdFields.setPreferredSize(new java.awt.Dimension(600,90));\r
+ jPanelPcdFields.add(getJPanelPcdFieldsFirstRow(), null);\r
+ jPanelPcdFields.add(getJPanelPcdFieldsSecondRow(), null);\r
+ jPanelPcdFields.add(getJPanelPcdFieldsThirdRow(), null);\r
+ }\r
+ return jPanelPcdFields;\r
+}\r
+/**\r
+ * This method initializes jPanelPcdFieldsSecondRow\r
+ * \r
+ * @return javax.swing.JPanel \r
+ */\r
+private JPanel getJPanelPcdFieldsSecondRow() {\r
+ if (jPanelPcdFieldsSecondRow == null) {\r
+ FlowLayout flowLayout2 = new FlowLayout();\r
+ flowLayout2.setAlignment(java.awt.FlowLayout.LEFT);\r
+ jLabelMaxDatumSize = new JLabel();\r
+ jLabelMaxDatumSize.setText("Max Datum Size");\r
+ jPanelPcdFieldsSecondRow = new JPanel();\r
+ jPanelPcdFieldsSecondRow.setLayout(flowLayout2);\r
+ jPanelPcdFieldsSecondRow.add(jLabelMaxDatumSize, null);\r
+ jPanelPcdFieldsSecondRow.add(getJTextFieldMaxDatumSize(), null);\r
+ }\r
+ return jPanelPcdFieldsSecondRow;\r
+}\r
+/**\r
+ * This method initializes jPanelPcdFieldsThirdRow\r
+ * \r
+ * @return javax.swing.JPanel \r
+ */\r
+private JPanel getJPanelPcdFieldsThirdRow() {\r
+ if (jPanelPcdFieldsThirdRow == null) {\r
+ FlowLayout flowLayout3 = new FlowLayout();\r
+ flowLayout3.setAlignment(java.awt.FlowLayout.LEFT);\r
+ jLabelPcdDefaultValue = new JLabel();\r
+ jLabelPcdDefaultValue.setText("Default Value");\r
+ jLabelPcdDefaultValue.setPreferredSize(new java.awt.Dimension(91,16));\r
+ jPanelPcdFieldsThirdRow = new JPanel();\r
+ jPanelPcdFieldsThirdRow.setLayout(flowLayout3);\r
+ jPanelPcdFieldsThirdRow.add(jLabelPcdDefaultValue, null);\r
+ jPanelPcdFieldsThirdRow.add(getJTextFieldPcdDefault(), null);\r
+ jPanelPcdFieldsThirdRow.add(getJComboBoxFeatureFlagValue(), null);\r
+ }\r
+ return jPanelPcdFieldsThirdRow;\r
+}\r
+/**\r
+ * This method initializes jPanelPcdFieldsFirstRow\r
+ * \r
+ * @return javax.swing.JPanel \r
+ */\r
+private JPanel getJPanelPcdFieldsFirstRow() {\r
+ if (jPanelPcdFieldsFirstRow == null) {\r
+ FlowLayout flowLayout1 = new FlowLayout();\r
+ flowLayout1.setAlignment(java.awt.FlowLayout.LEFT);\r
+ jLabelItemType = new JLabel();\r
+ jLabelItemType.setText("Item Type");\r
+ jLabelItemType.setPreferredSize(new java.awt.Dimension(91,16));\r
+ jPanelPcdFieldsFirstRow = new JPanel();\r
+ jPanelPcdFieldsFirstRow.setLayout(flowLayout1);\r
+ jPanelPcdFieldsFirstRow.add(jLabelItemType, null);\r
+ jPanelPcdFieldsFirstRow.add(getJComboBoxItemType(), null);\r
+ jPanelPcdFieldsFirstRow.add(getJButtonUpdatePcd(), null);\r
+ }\r
+ return jPanelPcdFieldsFirstRow;\r
+}\r
+/**\r
+ * This method initializes jComboBoxItemType\r
+ * \r
+ * @return javax.swing.JComboBox \r
+ */\r
+private JComboBox getJComboBoxItemType() {\r
+ if (jComboBoxItemType == null) {\r
+ jComboBoxItemType = new JComboBox();\r
+ jComboBoxItemType.setPreferredSize(new java.awt.Dimension(200,20));\r
+ jComboBoxItemType.addItemListener(new java.awt.event.ItemListener() {\r
+ public void itemStateChanged(java.awt.event.ItemEvent e) {\r
+ int row = jTablePcd.getSelectedRow();\r
+ if (row < 0 || jTablePcd.getValueAt(row, 2).equals(jComboBoxItemType.getSelectedItem())) {\r
+ return;\r
+ }\r
+ if (jComboBoxItemType.getItemCount() == 3) {\r
+ if (!jComboBoxItemType.getSelectedItem().equals("DYNAMIC")) {\r
+ pcdDynamicToNonDynamic(jTablePcd.getValueAt(row, 0)+"", jTablePcd.getValueAt(row, 1)+"");\r
+ if (jComboBoxItemType.getSelectedItem().equals("FIXED_AT_BUILD")) {\r
+ jTextFieldPcdDefault.setText("");\r
+ jTextFieldPcdDefault.setEnabled(true);\r
+ }\r
+ }\r
+ else{\r
+ pcdNonDynamicToDynamic(jTablePcd.getValueAt(row, 0)+"", jTablePcd.getValueAt(row, 1)+"");\r
+ }\r
+ }\r
+ }\r
+ });\r
+ }\r
+ return jComboBoxItemType;\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, jComboBoxItemType.getSelectedItem()+"", maxSize, value);\r
+ s[4] = jComboBoxItemType.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, jComboBoxItemType.getSelectedItem()+"", jTextFieldMaxDatumSize.getText(), jTextFieldPcdDefault.isVisible() ? jTextFieldPcdDefault.getText() : jComboBoxFeatureFlagValue.getSelectedItem()+"");\r
+ s[4] = jComboBoxItemType.getSelectedItem()+"";\r
+ al.set(i, s[0]+" "+s[1]+" "+s[2]+" "+s[3]+" "+s[4]);\r
+ }\r
+ try{\r
+ ffc.addDynamicPcdBuildData(cName, jTablePcd.getValueAt(jTablePcd.getSelectedRow(), 3), tsGuid, "DYNAMIC", jTablePcd.getValueAt(jTablePcd.getSelectedRow(), 5)+"", jTextFieldPcdDefault.isVisible() ? jTextFieldPcdDefault.getText() : jComboBoxFeatureFlagValue.getSelectedItem()+"");\r
+ }\r
+ catch(Exception e){\r
+ JOptionPane.showMessageDialog(frame, "PCD value format: " + e.getMessage());\r
+ }\r
+}\r
+/**\r
+ * This method initializes jTextFieldMaxDatumSize\r
+ * \r
+ * @return javax.swing.JTextField \r
+ */\r
+private JTextField getJTextFieldMaxDatumSize() {\r
+ if (jTextFieldMaxDatumSize == null) {\r
+ jTextFieldMaxDatumSize = new JTextField();\r
+ jTextFieldMaxDatumSize.setPreferredSize(new java.awt.Dimension(200,20));\r
+ }\r
+ return jTextFieldMaxDatumSize;\r
+}\r
+/**\r
+ * This method initializes jTextField4 \r
+ * \r
+ * @return javax.swing.JTextField \r
+ */\r
+private JTextField getJTextFieldPcdDefault() {\r
+ if (jTextFieldPcdDefault == null) {\r
+ jTextFieldPcdDefault = new JTextField();\r
+ jTextFieldPcdDefault.setPreferredSize(new java.awt.Dimension(200,20));\r
+ }\r
+ return jTextFieldPcdDefault;\r
+}\r
+/**\r
+ * This method initializes jButton6 \r
+ * \r
+ * @return javax.swing.JButton \r
+ */\r
+private JButton getJButtonUpdatePcd() {\r
+ if (jButtonUpdatePcd == null) {\r
+ jButtonUpdatePcd = new JButton();\r
+ jButtonUpdatePcd.setPreferredSize(new java.awt.Dimension(150,20));\r
+ jButtonUpdatePcd.setText("Update PCD Data");\r
+ jButtonUpdatePcd.addActionListener(new java.awt.event.ActionListener() {\r
+ public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ int row = jTablePcd.getSelectedRow();\r
+ if (row < 0) {\r
+ return;\r
+ }\r
+ docConsole.setSaved(false);\r
+ model.setValueAt(jComboBoxItemType.getSelectedItem(), row, 2);\r
+ model.setValueAt(jTextFieldMaxDatumSize.getText(), row, 4);\r
+ model.setValueAt(jTextFieldPcdDefault.isVisible()? jTextFieldPcdDefault.getText():jComboBoxFeatureFlagValue.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 jButtonUpdatePcd;\r
+}\r
+/**\r
+ * This method initializes jComboBoxFeatureFlagValue\r
+ * \r
+ * @return javax.swing.JComboBox \r
+ */\r
+private JComboBox getJComboBoxFeatureFlagValue() {\r
+ if (jComboBoxFeatureFlagValue == null) {\r
+ jComboBoxFeatureFlagValue = new JComboBox();\r
+ jComboBoxFeatureFlagValue.setPreferredSize(new java.awt.Dimension(100,20));\r
+ jComboBoxFeatureFlagValue.setVisible(false);\r
+ jComboBoxFeatureFlagValue.addItem("true");\r
+ jComboBoxFeatureFlagValue.addItem("false");\r
+ }\r
+ return jComboBoxFeatureFlagValue;\r
+}\r
+\r