+ private JTable getJTableFfs() {\r
+ if (jTableFfs == null) {\r
+ ffsTableModel = new DefaultTableModel();\r
+ ffsTableModel.addColumn("FFS Type");\r
+ jTableFfs = new JTable(ffsTableModel);\r
+ jTableFfs.setShowGrid(false);\r
+ jTableFfs.setRowHeight(20);\r
+\r
+ jTableFfs.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+ jTableFfs.getSelectionModel().addListSelectionListener(new ListSelectionListener() {\r
+ public void valueChanged(ListSelectionEvent e) {\r
+\r
+ if (e.getValueIsAdjusting()) {\r
+ return;\r
+ }\r
+ ListSelectionModel lsm = (ListSelectionModel) e.getSource();\r
+ if (lsm.isSelectionEmpty()) {\r
+ return;\r
+ } else {\r
+ int row = lsm.getMinSelectionIndex();\r
+ sectionTableModel.setRowCount(0);\r
+ sectionsTableModel.setRowCount(0);\r
+ subsectionsTableModel.setRowCount(0);\r
+ ffsAttributesTableModel.setRowCount(0);\r
+ String[] sArray = { "", "" };\r
+ LinkedHashMap<String, String> lhm = new LinkedHashMap<String, String>();\r
+ ArrayList<String> alSections = new ArrayList<String>();\r
+ ArrayList<String> alSection = new ArrayList<String>();\r
+ ffc.getBuildOptionsFfs(row, sArray, lhm, alSections, alSection);\r
+ jTextFieldFfsKey.setText(sArray[0]);\r
+ jTextFieldEncapType.setText(sArray[1]);\r
+ for (int i = 0; i < alSection.size(); ++i) {\r
+ String[] sectionRow = { alSection.get(i) };\r
+ sectionTableModel.addRow(sectionRow);\r
+ }\r
+ for (int j = 0; j < alSections.size(); ++j) {\r
+ String[] sectionsRow = { alSections.get(j) };\r
+ sectionsTableModel.addRow(sectionsRow);\r
+ }\r
+ if (lhm.size() <= 0) {\r
+ return;\r
+ }\r
+ Set<String> keySet = lhm.keySet();\r
+ Iterator<String> is = keySet.iterator();\r
+ while (is.hasNext()) {\r
+ String key = is.next();\r
+ String[] attribRow = { key, lhm.get(key) };\r
+ ffsAttributesTableModel.addRow(attribRow);\r
+ }\r
+ }\r
+ }\r
+ });\r
+\r
+ jTableFfs.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.UPDATE) {\r
+ //ToDo Data Validition check.\r
+ String id = m.getValueAt(row, 0) + "";\r
+\r
+ if (id.length() == 0) {\r
+ return;\r
+ }\r
+ docConsole.setSaved(false);\r
+ ffc.updateBuildOptionsFfsKey(row, id);\r
+ }\r
+ }\r
+ });\r
+ }\r
+ return jTableFfs;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jScrollPane1 \r
+ * \r
+ * @return javax.swing.JScrollPane \r
+ */\r
+ private JScrollPane getJScrollPaneFfsSection() {\r
+ if (jScrollPaneFfsSection == null) {\r
+ jScrollPaneFfsSection = new JScrollPane();\r
+// jScrollPaneFfsSection.setPreferredSize(new java.awt.Dimension(500, 80));\r
+ jScrollPaneFfsSection.setViewportView(getJTableFfsSection());\r
+ }\r
+ return jScrollPaneFfsSection;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTable1 \r
+ * \r
+ * @return javax.swing.JTable \r
+ */\r
+ private JTable getJTableFfsSection() {\r
+ if (jTableFfsSection == null) {\r
+ sectionTableModel = new DefaultTableModel();\r
+ sectionTableModel.addColumn("SectionType");\r
+\r
+ jTableFfsSection = new JTable(sectionTableModel);\r
+ jTableFfsSection.setRowHeight(20);\r
+ JComboBox cb = new JComboBox();\r
+ cb.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");\r
+ cb.addItem("EFI_SECTION_VERSION");\r
+ cb.addItem("EFI_SECTION_USER_INTERFACE");\r
+ cb.addItem("EFI_SECTION_DXE_DEPEX");\r
+ cb.addItem("EFI_SECTION_PEI_DEPEX");\r
+ cb.addItem("EFI_SECTION_PE32");\r
+ cb.addItem("EFI_SECTION_PIC");\r
+ cb.addItem("EFI_SECTION_TE");\r
+ cb.addItem("EFI_SECTION_RAW");\r
+ cb.addItem("EFI_SECTION_COMPRESSION");\r
+ cb.addItem("EFI_SECTION_GUID_DEFINED");\r
+ cb.addItem("EFI_SECTION_COMPATIBILITY16");\r
+ cb.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");\r
+ jTableFfsSection.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb));\r
+\r
+ jTableFfsSection.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+\r
+ jTableFfsSection.getModel().addTableModelListener(new TableModelListener() {\r
+ public void tableChanged(TableModelEvent arg0) {\r
+ // TODO Auto-generated method stub\r
+ if (jTableFfs.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ int row = arg0.getFirstRow();\r
+ TableModel m = (TableModel) arg0.getSource();\r
+ if (arg0.getType() == TableModelEvent.UPDATE) {\r
+ //ToDo Data Validition check.\r
+ String type = m.getValueAt(row, 0) + "";\r
+ docConsole.setSaved(false);\r
+ ffc.updateBuildOptionsFfsSectionsSection(jTableFfs.getSelectedRow(), row, type);\r
+ }\r
+ }\r
+ });\r
+ }\r
+ return jTableFfsSection;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jScrollPane3 \r
+ * \r
+ * @return javax.swing.JScrollPane \r
+ */\r
+ private JScrollPane getJScrollPaneFfsSubSection() {\r
+ if (jScrollPaneFfsSubSection == null) {\r
+ jScrollPaneFfsSubSection = new JScrollPane();\r
+// jScrollPaneFfsSubSection.setPreferredSize(new java.awt.Dimension(500, 90));\r
+ jScrollPaneFfsSubSection.setViewportView(getJTableFfsSubSection());\r
+ }\r
+ return jScrollPaneFfsSubSection;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTable3 \r
+ * \r
+ * @return javax.swing.JTable \r
+ */\r
+ private JTable getJTableFfsSubSection() {\r
+ if (jTableFfsSubSection == null) {\r
+ subsectionsTableModel = new DefaultTableModel();\r
+ subsectionsTableModel.addColumn("SectionType");\r
+ jTableFfsSubSection = new JTable(subsectionsTableModel);\r
+ jTableFfsSubSection.setRowHeight(20);\r
+ JComboBox cb = new JComboBox();\r
+ cb.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");\r
+ cb.addItem("EFI_SECTION_VERSION");\r
+ cb.addItem("EFI_SECTION_USER_INTERFACE");\r
+ cb.addItem("EFI_SECTION_DXE_DEPEX");\r
+ cb.addItem("EFI_SECTION_PEI_DEPEX");\r
+ cb.addItem("EFI_SECTION_PE32");\r
+ cb.addItem("EFI_SECTION_PIC");\r
+ cb.addItem("EFI_SECTION_TE");\r
+ cb.addItem("EFI_SECTION_RAW");\r
+ cb.addItem("EFI_SECTION_COMPRESSION");\r
+ cb.addItem("EFI_SECTION_GUID_DEFINED");\r
+ cb.addItem("EFI_SECTION_COMPATIBILITY16");\r
+ cb.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");\r
+ jTableFfsSubSection.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb));\r
+ jTableFfsSubSection.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+\r
+ jTableFfsSubSection.getModel().addTableModelListener(new TableModelListener() {\r
+ public void tableChanged(TableModelEvent arg0) {\r
+ // TODO Auto-generated method stub\r
+ if (jTableFfs.getSelectedRow() < 0 || jTableFfsSections.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ int row = arg0.getFirstRow();\r
+ TableModel m = (TableModel) arg0.getSource();\r
+ if (arg0.getType() == TableModelEvent.UPDATE) {\r
+ //ToDo Data Validition check.\r
+ String type = m.getValueAt(row, 0) + "";\r
+ docConsole.setSaved(false);\r
+ ffc.updateBuildOptionsFfsSectionsSectionsSection(jTableFfs.getSelectedRow(),\r
+ jTableFfsSections.getSelectedRow(), row, type);\r
+ }\r
+ }\r
+ });\r
+ }\r
+ return jTableFfsSubSection;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTextField \r
+ * \r
+ * @return javax.swing.JTextField \r
+ */\r
+ private JTextField getJTextFieldEncapType() {\r
+ if (jTextFieldEncapType == null) {\r
+ jTextFieldEncapType = new JTextField();\r
+ jTextFieldEncapType.setPreferredSize(new java.awt.Dimension(100, 20));\r
+ jTextFieldEncapType.addFocusListener(new java.awt.event.FocusAdapter() {\r
+ public void focusLost(java.awt.event.FocusEvent e) {\r
+ if (jTableFfs.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ ffc.updateBuildOptionsFfsSectionsType(jTableFfs.getSelectedRow(), jTextFieldEncapType.getText());\r
+ }\r
+ });\r
+ }\r
+ return jTextFieldEncapType;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jPanel4 \r
+ * \r
+ * @return javax.swing.JPanel \r
+ */\r
+ private JPanel getJPanelFfsAttribButtonGroup() {\r
+ if (jPanelFfsAttribButtonGroup == null) {\r
+ jPanelFfsAttribButtonGroup = new JPanel();\r
+ jPanelFfsAttribButtonGroup.setPreferredSize(new java.awt.Dimension(100, 100));\r
+ jPanelFfsAttribButtonGroup.add(getJButtonFfsAttribNew(), null);\r
+ jPanelFfsAttribButtonGroup.add(getJButtonFfsAttribRemove(), null);\r
+ }\r
+ return jPanelFfsAttribButtonGroup;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jButton \r
+ * \r
+ * @return javax.swing.JButton \r
+ */\r
+ private JButton getJButtonFfsSectionNew() {\r
+ if (jButtonFfsSectionNew == null) {\r
+ jButtonFfsSectionNew = new JButton();\r
+ jButtonFfsSectionNew.setPreferredSize(new java.awt.Dimension(80, 20));\r
+ jButtonFfsSectionNew.setText("New");\r
+ jButtonFfsSectionNew.addActionListener(new java.awt.event.ActionListener() {\r
+ public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ if (jTableFfs.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ docConsole.setSaved(false);\r
+ String[] row = { "EFI_SECTION_RAW" };\r
+ sectionTableModel.addRow(row);\r
+ ffc.genBuildOptionsFfsSectionsSection(jTableFfs.getSelectedRow(), row[0]);\r
+ }\r
+ });\r
+ }\r
+ return jButtonFfsSectionNew;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jButton1 \r
+ * \r
+ * @return javax.swing.JButton \r
+ */\r
+ private JButton getJButtonFfsSectionRemove() {\r
+ if (jButtonFfsSectionRemove == null) {\r
+ jButtonFfsSectionRemove = new JButton();\r
+ jButtonFfsSectionRemove.setPreferredSize(new java.awt.Dimension(80, 20));\r
+ jButtonFfsSectionRemove.setText("Remove");\r
+\r
+ jButtonFfsSectionRemove.addActionListener(new java.awt.event.ActionListener() {\r
+ public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ if (jTableFfs.getSelectedRow() < 0 || jTableFfsSection.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ docConsole.setSaved(false);\r
+ sectionTableModel.removeRow(jTableFfsSection.getSelectedRow());\r
+ ffc.removeBuildOptionsFfsSectionsSection(jTableFfs.getSelectedRow(),\r
+ jTableFfsSection.getSelectedRow());\r
+ }\r
+ });\r
+ }\r
+ return jButtonFfsSectionRemove;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jButton2 \r
+ * \r
+ * @return javax.swing.JButton \r
+ */\r
+ private JButton getJButtonFfsSubSectionNew() {\r
+ if (jButtonFfsSubSectionNew == null) {\r
+ jButtonFfsSubSectionNew = new JButton();\r
+ jButtonFfsSubSectionNew.setPreferredSize(new java.awt.Dimension(80, 20));\r
+ jButtonFfsSubSectionNew.setText("New");\r
+ jButtonFfsSubSectionNew.addActionListener(new java.awt.event.ActionListener() {\r
+ public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ if (jTableFfs.getSelectedRow() < 0 || jTableFfsSections.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ docConsole.setSaved(false);\r
+ String[] row = { "EFI_SECTION_RAW" };\r
+ subsectionsTableModel.addRow(row);\r
+ ffc.genBuildOptionsFfsSectionsSectionsSection(jTableFfs.getSelectedRow(),\r
+ jTableFfsSections.getSelectedRow(), row[0]);\r
+\r
+ }\r
+ });\r
+ }\r
+ return jButtonFfsSubSectionNew;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jButton3 \r
+ * \r
+ * @return javax.swing.JButton \r
+ */\r
+ private JButton getJButtonFfsSubSectionRemove() {\r
+ if (jButtonFfsSubSectionRemove == null) {\r
+ jButtonFfsSubSectionRemove = new JButton();\r
+ jButtonFfsSubSectionRemove.setPreferredSize(new java.awt.Dimension(80, 20));\r
+ jButtonFfsSubSectionRemove.setText("Remove");\r
+ jButtonFfsSubSectionRemove.addActionListener(new java.awt.event.ActionListener() {\r
+ public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ if (jTableFfs.getSelectedRow() < 0 || jTableFfsSections.getSelectedRow() < 0\r
+ || jTableFfsSubSection.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ docConsole.setSaved(false);\r
+ subsectionsTableModel.removeRow(jTableFfsSubSection.getSelectedRow());\r
+ ffc.removeBuildOptionsFfsSectionsSectionsSection(jTableFfs.getSelectedRow(),\r
+ jTableFfsSections.getSelectedRow(),\r
+ jTableFfsSubSection.getSelectedRow());\r
+ }\r
+ });\r
+ }\r
+ return jButtonFfsSubSectionRemove;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jButton6 \r
+ * \r
+ * @return javax.swing.JButton \r
+ */\r
+ private JButton getJButtonFfsSectionsNew() {\r
+ if (jButtonFfsSectionsNew == null) {\r
+ jButtonFfsSectionsNew = new JButton();\r
+ jButtonFfsSectionsNew.setPreferredSize(new java.awt.Dimension(80, 20));\r
+ jButtonFfsSectionsNew.setText("New");\r
+ jButtonFfsSectionsNew.addActionListener(new java.awt.event.ActionListener() {\r
+ public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ if (jTableFfs.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ docConsole.setSaved(false);\r
+ String[] row = { "" };\r
+ sectionsTableModel.addRow(row);\r
+ ffc.genBuildOptionsFfsSectionsSections(jTableFfs.getSelectedRow(), "");\r
+ }\r
+ });\r
+ }\r
+ return jButtonFfsSectionsNew;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jButton7 \r
+ * \r
+ * @return javax.swing.JButton \r
+ */\r
+ private JButton getJButtonFfsSectionsRemove() {\r
+ if (jButtonFfsSectionsRemove == null) {\r
+ jButtonFfsSectionsRemove = new JButton();\r
+ jButtonFfsSectionsRemove.setPreferredSize(new java.awt.Dimension(80, 20));\r
+ jButtonFfsSectionsRemove.setText("Remove");\r
+ jButtonFfsSectionsRemove.addActionListener(new java.awt.event.ActionListener() {\r
+ public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ if (jTableFfs.getSelectedRow() < 0 || jTableFfsSections.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ docConsole.setSaved(false);\r
+ sectionsTableModel.removeRow(jTableFfsSections.getSelectedRow());\r
+ ffc.removeBuildOptionsFfsSectionsSections(jTableFfs.getSelectedRow(),\r
+ jTableFfsSections.getSelectedRow());\r
+ }\r
+ });\r
+ }\r
+ return jButtonFfsSectionsRemove;\r
+ }\r
+\r
+ private JScrollPane getJScrollPaneFfsSections() {\r
+ if (jScrollPaneFfsSections == null) {\r
+ jScrollPaneFfsSections = new JScrollPane();\r
+// jScrollPaneFfsSections.setPreferredSize(new java.awt.Dimension(500, 80));\r
+ jScrollPaneFfsSections.setViewportView(getJTableFfsSections());\r
+ }\r
+ return jScrollPaneFfsSections;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTable6 \r
+ * \r
+ * @return javax.swing.JTable \r
+ */\r
+ private JTable getJTableFfsSections() {\r
+ if (jTableFfsSections == null) {\r
+ sectionsTableModel = new DefaultTableModel();\r
+ sectionsTableModel.addColumn("EncapsulationType");\r
+ jTableFfsSections = new JTable(sectionsTableModel);\r
+ jTableFfsSections.setRowHeight(20);\r
+ jTableFfsSections.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+ jTableFfsSections.getSelectionModel().addListSelectionListener(new ListSelectionListener() {\r