X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FFrameworkWizard%2Fsrc%2Forg%2Ftianocore%2Fframeworkwizard%2Fplatform%2Fui%2FFpdBuildOptions.java;h=f273d8db66718e16d2ff1324a609386a446ed145;hp=9b4fa0943db5dd85a7e4a5c7d6710c084175ec24;hb=af25df1662fe283b6215086799b3915131575ce2;hpb=6cba26e882bc3c55c0f91d4fa9fe19568f4564c6 diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdBuildOptions.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdBuildOptions.java index 9b4fa0943d..f273d8db66 100644 --- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdBuildOptions.java +++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdBuildOptions.java @@ -15,10 +15,8 @@ package org.tianocore.frameworkwizard.platform.ui; import java.awt.BorderLayout; -import java.awt.Dimension; import javax.swing.JPanel; -import javax.swing.JDialog; import javax.swing.JTabbedPane; import javax.swing.JCheckBox; import javax.swing.JLabel; @@ -26,18 +24,16 @@ import java.awt.FlowLayout; import javax.swing.AbstractAction; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import javax.swing.ButtonGroup; import javax.swing.DefaultCellEditor; -import javax.swing.DefaultListModel; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JOptionPane; import javax.swing.JTextField; import javax.swing.JButton; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JComboBox; -import javax.swing.JRadioButton; import javax.swing.ListSelectionModel; import javax.swing.event.InternalFrameAdapter; import javax.swing.event.InternalFrameEvent; @@ -46,20 +42,25 @@ import javax.swing.event.ListSelectionListener; import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; import javax.swing.table.DefaultTableModel; -import javax.swing.table.TableColumn; import javax.swing.table.TableModel; import org.tianocore.PlatformSurfaceAreaDocument; +import org.tianocore.frameworkwizard.common.DataValidation; +import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType; import org.tianocore.frameworkwizard.common.ui.IInternalFrame; -import java.awt.CardLayout; + +import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Set; +import java.util.Vector; +import java.awt.Dimension; public class FpdBuildOptions extends IInternalFrame { private static final long serialVersionUID = 1L; + static JFrame frame; private JPanel jContentPane = null; private JPanel jPanel = null; private JPanel jPanel1 = null; @@ -109,11 +110,10 @@ public class FpdBuildOptions extends IInternalFrame { private JTable jTable5 = null; private JButton jButton10 = null; private JButton jButton11 = null; - private DefaultListModel listModel = new DefaultListModel(); private JButton jButton17 = null; private JButton jButton18 = null; private FpdFileContents ffc = null; - private JButton jButton19 = null; + private OpeningPlatformType docConsole = null; private JCheckBox jCheckBox9 = null; private JCheckBox jCheckBox10 = null; private JCheckBox jCheckBox11 = null; @@ -148,6 +148,8 @@ public class FpdBuildOptions extends IInternalFrame { private JButton jButton7 = null; private JScrollPane jScrollPane4 = null; private JTable jTable6 = null; + private JButton jButton12 = null; + private JTextField jTextField1 = null; /** * This method initializes jPanel * @@ -247,6 +249,7 @@ public class FpdBuildOptions extends IInternalFrame { jPanel9.setLayout(flowLayout8); jPanel9.add(jLabel, null); jPanel9.add(getJTextField2(), null); + jPanel9.add(getJButton12(), null); jPanel9.add(jLabel3, null); jPanel9.add(getJTextField3(), null); } @@ -327,12 +330,16 @@ public class FpdBuildOptions extends IInternalFrame { jButton4.setText("Add"); jButton4.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + if (!DataValidation.isInt(jTextField3.getText()) || jTextField3.getText().length() != 8) { + JOptionPane.showMessageDialog(frame, "ID must be an 8-digit integer."); + return; + } Object[] o = {jTextField3.getText(), null, null}; o[1] = jTextField2.getText(); o[2] = jTextField4.getText(); - ffc.genBuildOptionsUserDefAntTask(o[0]+"", null, o[2]+""); + ffc.genBuildOptionsUserDefAntTask(o[0]+"", o[1]+"", o[2]+""); antTaskTableModel.addRow(o); - + docConsole.setSaved(false); } }); } @@ -352,6 +359,7 @@ public class FpdBuildOptions extends IInternalFrame { jButton5.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (selectedRow >= 0) { + docConsole.setSaved(false); antTaskTableModel.removeRow(selectedRow); ffc.removeBuildOptionsUserDefAntTask(selectedRow); } @@ -398,6 +406,7 @@ public class FpdBuildOptions extends IInternalFrame { if (jTable2 == null) { antTaskTableModel = new DefaultTableModel(); jTable2 = new JTable(antTaskTableModel); + jTable2.setRowHeight(20); antTaskTableModel.addColumn("ID"); antTaskTableModel.addColumn("Filename"); antTaskTableModel.addColumn("ANT Command Options"); @@ -551,6 +560,15 @@ public class FpdBuildOptions extends IInternalFrame { if (jTextField6 == null) { jTextField6 = new JTextField(); jTextField6.setPreferredSize(new java.awt.Dimension(100,20)); + jTextField6.setEditable(true); + jTextField6.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusLost(java.awt.event.FocusEvent e) { + if (jTable.getSelectedRow() < 0) { + return; + } +// ffc.updateBuildOptionsFfsKey(jTable.getSelectedRow(), jTextField6.getText()); + } + }); } return jTextField6; } @@ -575,6 +593,7 @@ public class FpdBuildOptions extends IInternalFrame { if (jTextField6.getText().length() > 0) { String[] row = {jTextField6.getText()}; ffsTableModel.addRow(row); + docConsole.setSaved(false); ffc.genBuildOptionsFfs(jTextField6.getText(), jTextField.getText()); } } @@ -603,6 +622,7 @@ public class FpdBuildOptions extends IInternalFrame { if (jTable.getSelectedRow() < 0) { return; } + docConsole.setSaved(false); ffc.removeBuildOptionsFfs(jTable.getSelectedRow()); } }); @@ -634,6 +654,7 @@ public class FpdBuildOptions extends IInternalFrame { ffsAttributesTableModel = new DefaultTableModel(); jTable4 = new JTable(ffsAttributesTableModel); jTable4.setPreferredSize(new java.awt.Dimension(400,80)); + jTable4.setRowHeight(20); ffsAttributesTableModel.addColumn("Name"); ffsAttributesTableModel.addColumn("Value"); @@ -654,6 +675,7 @@ public class FpdBuildOptions extends IInternalFrame { if (value.length() == 0){ return; } + docConsole.setSaved(false); ffc.updateBuildOptionsFfsAttribute(jTable.getSelectedRow(), row, name, value); } } @@ -719,6 +741,7 @@ public class FpdBuildOptions extends IInternalFrame { jPanel20.add(jLabel14, null); jPanel20.add(getJTextField12(), null); jPanel20.add(jLabel10, null); + jPanel20.add(getJTextField1(), null); jPanel20.add(getJComboBox2(), null); jPanel20.add(jLabel12, null); jPanel20.add(getJTextField8(), null); @@ -735,7 +758,6 @@ public class FpdBuildOptions extends IInternalFrame { jPanel20.add(getJTextField7(), null); jPanel20.add(getJButton10(), null); jPanel20.add(getJButton11(), null); - jPanel20.add(getJButton19(), null); jPanel20.add(getJScrollPane6(), null); } return jPanel20; @@ -768,6 +790,7 @@ public class FpdBuildOptions extends IInternalFrame { jComboBox2.addItem("CYGWIN"); jComboBox2.addItem("INTEL"); jComboBox2.setSelectedIndex(0); + jComboBox2.setVisible(false); } return jComboBox2; } @@ -808,6 +831,7 @@ public class FpdBuildOptions extends IInternalFrame { if (jTable5 == null) { optionsTableModel = new DefaultTableModel(); jTable5 = new JTable(optionsTableModel); + jTable5.setRowHeight(20); optionsTableModel.addColumn("BuildTargets"); optionsTableModel.addColumn("ToolChainFamily"); optionsTableModel.addColumn("SupportedArch"); @@ -815,14 +839,21 @@ public class FpdBuildOptions extends IInternalFrame { optionsTableModel.addColumn("TagName"); optionsTableModel.addColumn("Contents"); - TableColumn toolFamilyCol = jTable5.getColumnModel().getColumn(1); - JComboBox cb = new JComboBox(); - cb.addItem("MSFT"); - cb.addItem("GCC"); - cb.addItem("CYGWIN"); - cb.addItem("INTEL"); - toolFamilyCol.setCellEditor(new DefaultCellEditor(cb)); - +// TableColumn toolFamilyCol = jTable5.getColumnModel().getColumn(1); +// JComboBox cb = new JComboBox(); +// cb.addItem("MSFT"); +// cb.addItem("GCC"); +// cb.addItem("CYGWIN"); +// cb.addItem("INTEL"); +// toolFamilyCol.setCellEditor(new DefaultCellEditor(cb)); + Vector vArch = new Vector(); + vArch.add("IA32"); + vArch.add("X64"); + vArch.add("IPF"); + vArch.add("EBC"); + vArch.add("ARM"); + vArch.add("PPC"); + jTable5.getColumnModel().getColumn(2).setCellEditor(new ListEditor(vArch)); jTable5.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); jTable5.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ public void valueChanged(ListSelectionEvent e) { @@ -847,12 +878,27 @@ public class FpdBuildOptions extends IInternalFrame { TableModel m = (TableModel)arg0.getSource(); if (arg0.getType() == TableModelEvent.UPDATE){ //ToDo Data Validition check. - String targetName = m.getValueAt(row, 0) + ""; + String targets = m.getValueAt(row, 0) + ""; + Vector targetName = new Vector(); + String[] sArray = targets.split("( )+"); + for (int i = 0; i < sArray.length; ++i) { + targetName.add(sArray[i]); + } String toolChain = m.getValueAt(row, 1) + ""; - String supArch = m.getValueAt(row, 2) + ""; + String archs = m.getValueAt(row, 2) + ""; + Vector supArch = null; + if (archs.length() > 0) { + supArch = new Vector(); + String[] sArray1 = archs.split("( )+"); + for (int i = 0; i < sArray1.length; ++i) { + supArch.add(sArray1[i]); + } + } + String toolCmd = m.getValueAt(row, 3) + ""; String tagName = m.getValueAt(row, 4) + ""; String contents = m.getValueAt(row, 5) + ""; + docConsole.setSaved(false); ffc.updateBuildOptionsOpt(row, targetName, toolChain, tagName, toolCmd, supArch, contents); } } @@ -870,7 +916,7 @@ public class FpdBuildOptions extends IInternalFrame { if (jButton10 == null) { jButton10 = new JButton(); jButton10.setText("Add"); - jButton10.setPreferredSize(new java.awt.Dimension(70,20)); + jButton10.setPreferredSize(new java.awt.Dimension(90,20)); jButton10.addActionListener(new AbstractAction() { /** * @@ -881,16 +927,29 @@ public class FpdBuildOptions extends IInternalFrame { boolean[] boolArray = {jCheckBox9.isSelected(),jCheckBox10.isSelected(),jCheckBox11.isSelected(), jCheckBox12.isSelected(),jCheckBox13.isSelected(),jCheckBox14.isSelected()}; String s = boolToList(boolArray); - Object[] o = {jTextField12.getText(), jComboBox2.getSelectedItem(), s, + Object[] o = {jTextField12.getText(), jTextField1.getText(), s, jTextField8.getText(), jTextField13.getText(), jTextField7.getText()}; optionsTableModel.addRow(o); - ffc.genBuildOptionsOpt(jTextField12.getText(), jComboBox2.getSelectedItem()+"", jTextField13.getText(), jTextField8.getText(), s, jTextField7.getText()); + docConsole.setSaved(false); + ffc.genBuildOptionsOpt(stringToVector(jTextField12.getText()), jTextField1.getText(), jTextField13.getText(), jTextField8.getText(), stringToVector(s), jTextField7.getText()); } }); } return jButton10; } + private Vector stringToVector(String s) { + String[] sArray = s.split(" "); + Vector v = null; + if (s.length() > 0) { + v = new Vector(); + for (int i = 0; i < sArray.length; ++i) { + v.add(sArray[i]); + } + } + return v; + } + private String boolToList (boolean[] bool) { String s = " "; if (bool[0]) { @@ -911,7 +970,9 @@ public class FpdBuildOptions extends IInternalFrame { if (bool[5]) { s += "PPC "; } - + if (s == " ") { + s += "IA32"; + } return s.trim(); } @@ -924,7 +985,7 @@ public class FpdBuildOptions extends IInternalFrame { if (jButton11 == null) { jButton11 = new JButton(); jButton11.setText("Delete"); - jButton11.setPreferredSize(new java.awt.Dimension(70,20)); + jButton11.setPreferredSize(new java.awt.Dimension(90,20)); jButton11.addActionListener(new AbstractAction() { /** * @@ -934,6 +995,7 @@ public class FpdBuildOptions extends IInternalFrame { public void actionPerformed(java.awt.event.ActionEvent e) { if (selectedRow >= 0) { optionsTableModel.removeRow(selectedRow); + docConsole.setSaved(false); ffc.removeBuildOptionsOpt(selectedRow); } } @@ -964,6 +1026,7 @@ public class FpdBuildOptions extends IInternalFrame { } Object[] o = {"", ""}; ffsAttributesTableModel.addRow(o); + docConsole.setSaved(false); ffc.genBuildOptionsFfsAttribute(jTable.getSelectedRow(), "", ""); } }); @@ -992,6 +1055,7 @@ public class FpdBuildOptions extends IInternalFrame { return; } if (jTable4.getSelectedRow() >= 0){ + docConsole.setSaved(false); ffsAttributesTableModel.removeRow(jTable4.getSelectedRow()); ffc.removeBuildOptionsFfsAttribute(jTable.getSelectedRow(), jTable4.getSelectedRow()); } @@ -1001,21 +1065,6 @@ public class FpdBuildOptions extends IInternalFrame { return jButton18; } - /** - * This method initializes jButton19 - * - * @return javax.swing.JButton - */ - private JButton getJButton19() { - if (jButton19 == null) { - jButton19 = new JButton(); - jButton19.setPreferredSize(new java.awt.Dimension(75,20)); - jButton19.setEnabled(false); - jButton19.setText("Update"); - } - return jButton19; - } - /** * This method initializes jCheckBox9 * @@ -1211,9 +1260,8 @@ public class FpdBuildOptions extends IInternalFrame { if (id.length() == 0) { return; } - -// ffc.updateBuildOptionsUserDefAntTask(row, id, file, execOrder); - + docConsole.setSaved(false); + ffc.updateBuildOptionsFfsKey(row, id); } } }); @@ -1245,7 +1293,42 @@ public class FpdBuildOptions extends IInternalFrame { sectionTableModel = new DefaultTableModel(); sectionTableModel.addColumn("SectionType"); - jTable1 = new JTable(sectionsTableModel); + jTable1 = new JTable(sectionTableModel); + jTable1.setRowHeight(20); + JComboBox cb = new JComboBox(); + cb.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID"); + cb.addItem("EFI_SECTION_VERSION"); + cb.addItem("EFI_SECTION_USER_INTERFACE"); + cb.addItem("EFI_SECTION_DXE_DEPEX"); + cb.addItem("EFI_SECTION_PEI_DEPEX"); + cb.addItem("EFI_SECTION_PE32"); + cb.addItem("EFI_SECTION_PIC"); + cb.addItem("EFI_SECTION_TE"); + cb.addItem("EFI_SECTION_RAW"); + cb.addItem("EFI_SECTION_COMPRESSION"); + cb.addItem("EFI_SECTION_GUID_DEFINED"); + cb.addItem("EFI_SECTION_COMPATIBILITY16"); + cb.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE"); + jTable1.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb)); + + jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + + jTable1.getModel().addTableModelListener(new TableModelListener() { + public void tableChanged(TableModelEvent arg0) { + // TODO Auto-generated method stub + if (jTable.getSelectedRow() < 0) { + return; + } + int row = arg0.getFirstRow(); + TableModel m = (TableModel)arg0.getSource(); + if (arg0.getType() == TableModelEvent.UPDATE){ + //ToDo Data Validition check. + String type = m.getValueAt(row, 0) + ""; + docConsole.setSaved(false); + ffc.updateBuildOptionsFfsSectionsSection(jTable.getSelectedRow(), row, type); + } + } + }); } return jTable1; } @@ -1274,6 +1357,40 @@ public class FpdBuildOptions extends IInternalFrame { subsectionsTableModel = new DefaultTableModel(); subsectionsTableModel.addColumn("SectionType"); jTable3 = new JTable(subsectionsTableModel); + jTable3.setRowHeight(20); + JComboBox cb = new JComboBox(); + cb.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID"); + cb.addItem("EFI_SECTION_VERSION"); + cb.addItem("EFI_SECTION_USER_INTERFACE"); + cb.addItem("EFI_SECTION_DXE_DEPEX"); + cb.addItem("EFI_SECTION_PEI_DEPEX"); + cb.addItem("EFI_SECTION_PE32"); + cb.addItem("EFI_SECTION_PIC"); + cb.addItem("EFI_SECTION_TE"); + cb.addItem("EFI_SECTION_RAW"); + cb.addItem("EFI_SECTION_COMPRESSION"); + cb.addItem("EFI_SECTION_GUID_DEFINED"); + cb.addItem("EFI_SECTION_COMPATIBILITY16"); + cb.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE"); + jTable3.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb)); + jTable3.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + + jTable3.getModel().addTableModelListener(new TableModelListener() { + public void tableChanged(TableModelEvent arg0) { + // TODO Auto-generated method stub + if (jTable.getSelectedRow() < 0 || jTable6.getSelectedRow() < 0) { + return; + } + int row = arg0.getFirstRow(); + TableModel m = (TableModel)arg0.getSource(); + if (arg0.getType() == TableModelEvent.UPDATE){ + //ToDo Data Validition check. + String type = m.getValueAt(row, 0) + ""; + docConsole.setSaved(false); + ffc.updateBuildOptionsFfsSectionsSectionsSection(jTable.getSelectedRow(), jTable6.getSelectedRow(), row, type); + } + } + }); } return jTable3; } @@ -1287,6 +1404,14 @@ public class FpdBuildOptions extends IInternalFrame { if (jTextField == null) { jTextField = new JTextField(); jTextField.setPreferredSize(new java.awt.Dimension(100,20)); + jTextField.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusLost(java.awt.event.FocusEvent e) { + if (jTable.getSelectedRow() < 0) { + return; + } + ffc.updateBuildOptionsFfsSectionsType(jTable.getSelectedRow(), jTextField.getText()); + } + }); } return jTextField; } @@ -1316,6 +1441,17 @@ public class FpdBuildOptions extends IInternalFrame { jButton = new JButton(); jButton.setPreferredSize(new java.awt.Dimension(80,20)); jButton.setText("New"); + jButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + if (jTable.getSelectedRow() < 0) { + return; + } + docConsole.setSaved(false); + String[] row = {"EFI_SECTION_RAW"}; + sectionTableModel.addRow(row); + ffc.genBuildOptionsFfsSectionsSection(jTable.getSelectedRow(), row[0]); + } + }); } return jButton; } @@ -1330,6 +1466,17 @@ public class FpdBuildOptions extends IInternalFrame { jButton1 = new JButton(); jButton1.setPreferredSize(new java.awt.Dimension(80,20)); jButton1.setText("Remove"); + + jButton1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + if (jTable.getSelectedRow() < 0 || jTable1.getSelectedRow() < 0) { + return; + } + docConsole.setSaved(false); + sectionTableModel.removeRow(jTable1.getSelectedRow()); + ffc.removeBuildOptionsFfsSectionsSection(jTable.getSelectedRow(), jTable1.getSelectedRow()); + } + }); } return jButton1; } @@ -1344,6 +1491,18 @@ public class FpdBuildOptions extends IInternalFrame { jButton2 = new JButton(); jButton2.setPreferredSize(new java.awt.Dimension(80,20)); jButton2.setText("New"); + jButton2.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + if (jTable.getSelectedRow() < 0 || jTable6.getSelectedRow() < 0) { + return; + } + docConsole.setSaved(false); + String[] row = {"EFI_SECTION_RAW"}; + subsectionsTableModel.addRow(row); + ffc.genBuildOptionsFfsSectionsSectionsSection(jTable.getSelectedRow(), jTable6.getSelectedRow(), row[0]); + + } + }); } return jButton2; } @@ -1358,6 +1517,16 @@ public class FpdBuildOptions extends IInternalFrame { jButton3 = new JButton(); jButton3.setPreferredSize(new java.awt.Dimension(80,20)); jButton3.setText("Remove"); + jButton3.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + if (jTable.getSelectedRow() < 0 || jTable6.getSelectedRow() < 0 || jTable3.getSelectedRow() < 0) { + return; + } + docConsole.setSaved(false); + subsectionsTableModel.removeRow(jTable3.getSelectedRow()); + ffc.removeBuildOptionsFfsSectionsSectionsSection(jTable.getSelectedRow(), jTable6.getSelectedRow(), jTable3.getSelectedRow()); + } + }); } return jButton3; } @@ -1372,6 +1541,17 @@ public class FpdBuildOptions extends IInternalFrame { jButton6 = new JButton(); jButton6.setPreferredSize(new java.awt.Dimension(80,20)); jButton6.setText("New"); + jButton6.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + if (jTable.getSelectedRow() < 0) { + return; + } + docConsole.setSaved(false); + String[] row = {""}; + sectionsTableModel.addRow(row); + ffc.genBuildOptionsFfsSectionsSections(jTable.getSelectedRow(), ""); + } + }); } return jButton6; } @@ -1386,6 +1566,16 @@ public class FpdBuildOptions extends IInternalFrame { jButton7 = new JButton(); jButton7.setPreferredSize(new java.awt.Dimension(80,20)); jButton7.setText("Remove"); + jButton7.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + if (jTable.getSelectedRow() < 0 || jTable6.getSelectedRow() < 0) { + return; + } + docConsole.setSaved(false); + sectionsTableModel.removeRow(jTable6.getSelectedRow()); + ffc.removeBuildOptionsFfsSectionsSections(jTable.getSelectedRow(), jTable6.getSelectedRow()); + } + }); } return jButton7; } @@ -1414,7 +1604,7 @@ public class FpdBuildOptions extends IInternalFrame { sectionsTableModel = new DefaultTableModel(); sectionsTableModel.addColumn("EncapsulationType"); jTable6 = new JTable(sectionsTableModel); - + jTable6.setRowHeight(20); jTable6.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); jTable6.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ public void valueChanged(ListSelectionEvent e) { @@ -1448,13 +1638,9 @@ public class FpdBuildOptions extends IInternalFrame { TableModel m = (TableModel)arg0.getSource(); if (arg0.getType() == TableModelEvent.UPDATE){ //ToDo Data Validition check. -// String targetName = m.getValueAt(row, 0) + ""; -// String toolChain = m.getValueAt(row, 1) + ""; -// String supArch = m.getValueAt(row, 2) + ""; -// String toolCmd = m.getValueAt(row, 3) + ""; -// String tagName = m.getValueAt(row, 4) + ""; -// String contents = m.getValueAt(row, 5) + ""; -// ffc.updateBuildOptionsOpt(row, targetName, toolChain, tagName, toolCmd, supArch, contents); + String encapType = m.getValueAt(row, 0) + ""; + docConsole.setSaved(false); + ffc.updateBuildOptionsFfsSectionsSections(jTable.getSelectedRow(), row, encapType); } } }); @@ -1462,6 +1648,67 @@ public class FpdBuildOptions extends IInternalFrame { return jTable6; } + /** + * This method initializes jButton12 + * + * @return javax.swing.JButton + */ + private JButton getJButton12() { + if (jButton12 == null) { + jButton12 = new JButton(); + jButton12.setPreferredSize(new Dimension(90, 20)); + jButton12.setText("Browse"); + jButton12.addActionListener(new AbstractAction() { + private static final long serialVersionUID = 1L; + + public void actionPerformed(ActionEvent arg0) { + // + // Select files from current workspace + // + String dirPrefix = System.getenv("WORKSPACE"); + JFileChooser chooser = new JFileChooser(dirPrefix); + File theFile = null; + String headerDest = null; + + chooser.setMultiSelectionEnabled(false); + chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); + int retval = chooser.showOpenDialog(frame); + if (retval == JFileChooser.APPROVE_OPTION) { + + theFile = chooser.getSelectedFile(); + String file = theFile.getPath(); + if (!file.startsWith(dirPrefix)) { + JOptionPane.showMessageDialog(frame, "You can only select files in current package!"); + return; + } + } + else { + return; + } + + headerDest = theFile.getPath(); + jTextField2.setText(headerDest.substring(dirPrefix.length()).replace('\\', '/')); + + } + + }); + } + return jButton12; + } + + /** + * This method initializes jTextField1 + * + * @return javax.swing.JTextField + */ + private JTextField getJTextField1() { + if (jTextField1 == null) { + jTextField1 = new JTextField(); + jTextField1.setPreferredSize(new java.awt.Dimension(85,20)); + } + return jTextField1; + } + /** * @param args */ @@ -1484,6 +1731,11 @@ public class FpdBuildOptions extends IInternalFrame { ffc = new FpdFileContents(fpd); init(ffc); } + + public FpdBuildOptions(OpeningPlatformType opt) { + this(opt.getXmlFpd()); + docConsole = opt; + } private void init(FpdFileContents ffc) { initOptionTable();