X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FJava%2FSource%2FFrameworkWizard%2Fsrc%2Forg%2Ftianocore%2Fframeworkwizard%2Fplatform%2Fui%2FFpdFlash.java;h=5717b3b781b89270fc2ce0c4c1219dd0201ec183;hp=5eefacbdc3d3742a9f2d925d2d6f7aeefd7a3e4a;hb=99125b466d093f5a528642aa996da05ef9ec1acd;hpb=feccee87a78e68d575dbdf44b34ca0cb5a21ea8d diff --git a/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFlash.java b/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFlash.java index 5eefacbdc3..5717b3b781 100644 --- a/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFlash.java +++ b/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFlash.java @@ -34,6 +34,7 @@ import org.tianocore.frameworkwizard.platform.ui.global.WorkspaceProfile; import java.awt.FlowLayout; import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import java.awt.event.ItemEvent; @@ -83,8 +84,8 @@ public class FpdFlash extends IInternalFrame { private JPanel jPanelContentNorth = null; private JTabbedPane jTabbedPane = null; private JPanel jPanelFvImages = null; - private JPanel jPanelFvImageN = null; private JPanel jPanelFvImageS = null; + private JPanel jPanelFvImageN = null; private JCheckBox jCheckBoxFvProperty = null; private JLabel jLabelFvPropName = null; private JTextField jTextFieldFvPropName = null; @@ -138,9 +139,9 @@ public class FpdFlash extends IInternalFrame { private JPanel jPanelFdfCBottom = null; private JPanel jPanelFdfCTopN = null; private JPanel jPanelFdfCTopS = null; - private JPanel jPanelFdfCTopC = null; +// private JPanel jPanelFdfCTopC = null; private JPanel jPanelFdfCBottomN = null; - private JPanel jPanelFdfCBottomC = null; +// private JPanel jPanelFdfCBottomC = null; private JLabel jLabelFvInFdf = null; private JLabel jLabelFvAdditional = null; private JScrollPane jScrollPaneFvInFdf = null; @@ -169,6 +170,17 @@ public class FpdFlash extends IInternalFrame { private JPanel jPanelBgFvName = null; private JPanel jPanelBgFvImage = null; private JPanel jPanelW = null; + private JPanel jPanelFvImageParaN = null; + private JPanel jPanelFvImageParaS = null; +// private JPanel jPanelFvImageParaC = null; + private JPanel jPanelFvImageOptsN = null; + private JPanel jPanelFvImageOptsS = null; +// private JPanel jPanelFvImageOptsC = null; + private JPanel jPanelFvImageParaE = null; + private JPanel jPanelFvImageOptsE = null; + private JPanel jPanelFvImageSN = null; + private JPanel jPanelFvImageSE = null; + private JPanel jPanelFvImageSS = null; public FpdFlash() { super(); @@ -275,8 +287,8 @@ public class FpdFlash extends IInternalFrame { if (jPanelFvImages == null) { jPanelFvImages = new JPanel(); jPanelFvImages.setLayout(new BorderLayout()); - jPanelFvImages.add(getJPanelFvImageS(), java.awt.BorderLayout.NORTH); - jPanelFvImages.add(getJPanelFvImageN(), java.awt.BorderLayout.SOUTH); + jPanelFvImages.add(getJPanelFvImageN(), java.awt.BorderLayout.NORTH); + jPanelFvImages.add(getJPanelFvImageS(), java.awt.BorderLayout.SOUTH); jPanelFvImages.add(getJPanelFvImageC(), java.awt.BorderLayout.CENTER); jPanelFvImages.add(getJPanelW(), java.awt.BorderLayout.EAST); jPanelFvImages.addComponentListener(new java.awt.event.ComponentAdapter() { @@ -297,8 +309,8 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JPanel */ - private JPanel getJPanelFvImageN() { - if (jPanelFvImageN == null) { + private JPanel getJPanelFvImageS() { + if (jPanelFvImageS == null) { jLabelFvPropValue = new JLabel(); jLabelFvPropValue.setText("Value"); jLabelFvPropValue.setEnabled(false); @@ -307,22 +319,17 @@ public class FpdFlash extends IInternalFrame { jLabelFvPropName.setText("Name"); jLabelFvPropName.setEnabled(false); jLabelFvPropName.setPreferredSize(new java.awt.Dimension(38,20)); - FlowLayout flowLayout2 = new FlowLayout(); - flowLayout2.setAlignment(java.awt.FlowLayout.LEFT); - flowLayout2.setHgap(5); - jPanelFvImageN = new JPanel(); - jPanelFvImageN.setPreferredSize(new java.awt.Dimension(576,130)); - jPanelFvImageN.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED)); - jPanelFvImageN.setLayout(flowLayout2); - jPanelFvImageN.add(getJCheckBoxFvProperty(), null); - jPanelFvImageN.add(jLabelFvPropName, null); - jPanelFvImageN.add(getJTextFieldFvPropName(), null); - jPanelFvImageN.add(jLabelFvPropValue, null); - jPanelFvImageN.add(getJTextFieldFvPropValue(), null); - jPanelFvImageN.add(getJScrollPaneFvProp(), null); - jPanelFvImageN.add(getJPanelFvPropButtonGroup(), null); + jPanelFvImageS = new JPanel(); + jPanelFvImageS.setPreferredSize(new java.awt.Dimension(576,130)); + jPanelFvImageS.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED)); + jPanelFvImageS.setLayout(new BorderLayout()); + jPanelFvImageS.add(getJPanelFvImageSN(), java.awt.BorderLayout.NORTH); + jPanelFvImageS.add(getJPanelFvImageSE(), java.awt.BorderLayout.EAST); + jPanelFvImageS.add(getJPanelFvImageSS(), java.awt.BorderLayout.SOUTH); + jPanelFvImageS.add(getJScrollPaneFvProp(), java.awt.BorderLayout.CENTER); + } - return jPanelFvImageN; + return jPanelFvImageS; } /** @@ -330,16 +337,16 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JPanel */ - private JPanel getJPanelFvImageS() { - if (jPanelFvImageS == null) { + private JPanel getJPanelFvImageN() { + if (jPanelFvImageN == null) { GridLayout gridLayout2 = new GridLayout(); gridLayout2.setRows(1); - jPanelFvImageS = new JPanel(); - jPanelFvImageS.setPreferredSize(new java.awt.Dimension(480,150)); - jPanelFvImageS.setLayout(gridLayout2); - jPanelFvImageS.add(getJScrollPaneFvInfo(), null); + jPanelFvImageN = new JPanel(); + jPanelFvImageN.setPreferredSize(new java.awt.Dimension(480,150)); + jPanelFvImageN.setLayout(gridLayout2); + jPanelFvImageN.add(getJScrollPaneFvInfo(), null); } - return jPanelFvImageS; + return jPanelFvImageN; } @@ -554,6 +561,8 @@ public class FpdFlash extends IInternalFrame { */ private JPanel getJPanelFvImageC() { if (jPanelFvImageC == null) { + GridLayout gridLayout = new GridLayout(); + gridLayout.setRows(2); jLabelFvParaName = new JLabel(); jLabelFvParaName.setPreferredSize(new Dimension(38, 20)); jLabelFvParaName.setText("Name"); @@ -563,15 +572,12 @@ public class FpdFlash extends IInternalFrame { jLabelFvParaType = new JLabel(); jLabelFvParaType.setText("Type"); jLabelFvParaType.setPreferredSize(new java.awt.Dimension(70,20)); - FlowLayout flowLayout3 = new FlowLayout(); - flowLayout3.setAlignment(java.awt.FlowLayout.LEFT); - flowLayout3.setHgap(5); jPanelFvImageC = new JPanel(); - jPanelFvImageC.setLayout(flowLayout3); + jPanelFvImageC.setLayout(gridLayout); jPanelFvImageC.add(getJPanelFvImagePara(), null); - jPanelFvImageC.add(getJPanelFvImageOpts(), null); + } return jPanelFvImageC; } @@ -791,8 +797,6 @@ public class FpdFlash extends IInternalFrame { if (jPanelFvImageOpts == null) { //ToDo add ButtonGroup for RadioButtons - FlowLayout flowLayout5 = new FlowLayout(); - flowLayout5.setAlignment(java.awt.FlowLayout.LEFT); jLabelOptions = new JLabel(); jLabelOptions.setText("Attribute"); jLabelFvImageOptValue = new JLabel(); @@ -804,23 +808,17 @@ public class FpdFlash extends IInternalFrame { jLabelFvImageOptName.setText("Name"); jLabelFvImageOptName.setPreferredSize(new Dimension(38, 20)); jPanelFvImageOpts = new JPanel(); - jPanelFvImageOpts.setLayout(flowLayout5); + jPanelFvImageOpts.setLayout(new BorderLayout()); jPanelFvImageOpts.setPreferredSize(new java.awt.Dimension(450,130)); jPanelFvImageOpts.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.LOWERED)); - jPanelFvImageOpts.add(jLabelOptions, null); - jPanelFvImageOpts.add(jLabelFvImageOptName, null); - jPanelFvImageOpts.add(getJTextFieldFvImageOptName(), null); - jPanelFvImageOpts.add(jLabelFvImageOptValue, null); - jPanelFvImageOpts.add(getJTextFieldFvImageOptValue(), null); - jPanelFvImageOpts.add(getJScrollPane(), null); - jPanelFvImageOpts.add(getJPanelFvImageOptsButtonGroup(), null); - - - - + jPanelFvImageOpts.add(getJPanelFvImageOptsN(), java.awt.BorderLayout.NORTH); + jPanelFvImageOpts.add(getJPanelFvImageOptsS(), java.awt.BorderLayout.SOUTH); + jPanelFvImageOpts.add(getJScrollPane(), java.awt.BorderLayout.CENTER); + + jPanelFvImageOpts.add(getJPanelFvImageOptsE(), java.awt.BorderLayout.EAST); } return jPanelFvImageOpts; } @@ -990,22 +988,21 @@ public class FpdFlash extends IInternalFrame { */ private JPanel getJPanelFvImagePara() { if (jPanelFvImagePara == null) { - FlowLayout flowLayout6 = new FlowLayout(); - flowLayout6.setAlignment(java.awt.FlowLayout.LEFT); StarLabel starLabel = new StarLabel(); starLabel.setVisible(false); jPanelFvImagePara = new JPanel(); - jPanelFvImagePara.setLayout(flowLayout6); + jPanelFvImagePara.setLayout(new BorderLayout()); jPanelFvImagePara.setPreferredSize(new java.awt.Dimension(450,140)); jPanelFvImagePara.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED)); - jPanelFvImagePara.add(new StarLabel(), null); - jPanelFvImagePara.add(jLabelFvImageNames, null); - jPanelFvImagePara.add(jLabelFvParaName, null); - jPanelFvImagePara.add(getJTextFieldFvParaName(), null); - jPanelFvImagePara.add(getJScrollPaneFvImageNames(), null); - jPanelFvImagePara.add(getJPanelBgFvName(), null); - jPanelFvImagePara.add(jLabelFvParaType, null); - jPanelFvImagePara.add(getJComboBoxFvParaType(), null); + + jPanelFvImagePara.add(getJPanelFvImageParaN(), java.awt.BorderLayout.NORTH); + jPanelFvImagePara.add(getJPanelFvImageParaS(), java.awt.BorderLayout.SOUTH); + jPanelFvImagePara.add(getJScrollPaneFvImageNames(), java.awt.BorderLayout.CENTER); + + jPanelFvImagePara.add(getJPanelFvImageParaE(), java.awt.BorderLayout.EAST); +// +// +// } return jPanelFvImagePara; } @@ -1059,9 +1056,16 @@ public class FpdFlash extends IInternalFrame { jButtonFdfBrowse.setEnabled(true); } else { - + getFvInFdfTableModel().setRowCount(0); jTextFieldFdf.setEnabled(false); + jTextFieldFdf.setText(""); jButtonFdfBrowse.setEnabled(false); + ffc.genFlashDefinitionFile(""); + docConsole.setSaved(false); + int selectedBackup = selectedRowInFvAdditionalTable; + selectedRowInFvAdditionalTable = -1; + initFvAdditionalTable(); + selectedRowInFvAdditionalTable = selectedBackup; } } }); @@ -1198,9 +1202,16 @@ public class FpdFlash extends IInternalFrame { determinedFvBlockSize = blkSize; getFvInFdfTableModel().setRowCount(0); + Vector vExistingFvNameInFpd = new Vector(); + ffc.getFvImagesFvImageFvImageNames(vExistingFvNameInFpd); for (int j = 0; j < vFvInfo.size(); ++j) { FvInfoFromFdf fvInfo = vFvInfo.get(j); String[] row = {fvInfo.getFvName(), fvInfo.getSize(), fvInfo.getEfiFileName()}; + + if (row[0].length() > 0 && !vExistingFvNameInFpd.contains(row[0])) { + ffc.addFvImageFvImageNames(new String[]{row[0]}); + } + // if FV addtional table contains the same FV from fdf file, remove that row. for (int k = 0; k < jTableFvAdditional.getRowCount(); ++k) { if (fvAdditionalTableModel.getValueAt(k, 0).equals(row[0])) { @@ -1225,15 +1236,15 @@ public class FpdFlash extends IInternalFrame { else { ffc.getFvImagesFvImageOptions(row[0], mOptions); if (mOptions.get("EFI_BLOCK_SIZE") == null || !mOptions.get("EFI_BLOCK_SIZE").equalsIgnoreCase(blkSize)) { - ffc.setTypedNamedFvImageNameValue(row[0], "Options", "EFI_BLOCK_SIZE", blkSize); + ffc.setTypedNamedFvImageNameValue(row[0], "Options", "EFI_BLOCK_SIZE", blkSize, null); memModified = true; } if (mOptions.get("EFI_NUM_BLOCKS") == null || Integer.decode(mOptions.get("EFI_NUM_BLOCKS")) != numBlocks) { - ffc.setTypedNamedFvImageNameValue(row[0], "Options", "EFI_NUM_BLOCKS", numBlocks + ""); + ffc.setTypedNamedFvImageNameValue(row[0], "Options", "EFI_NUM_BLOCKS", numBlocks + "", null); memModified = true; } if (mOptions.get("EFI_FILE_NAME") == null || !mOptions.get("EFI_FILE_NAME").equals(row[2])) { - ffc.setTypedNamedFvImageNameValue(row[0], "Options", "EFI_FILE_NAME", row[2]); + ffc.setTypedNamedFvImageNameValue(row[0], "Options", "EFI_FILE_NAME", row[2], null); memModified = true; } @@ -1258,7 +1269,10 @@ public class FpdFlash extends IInternalFrame { if (index >= startIndexOfDynamicTab) { return; } - jTabbedPane.addTab(fvName, null, new ModuleOrderPane(fvName, outputFile), null); + ModuleOrderPane pane = new ModuleOrderPane(fvName, outputFile, ffc, this); + pane.showModulesInFv(fvName); + pane.showAllModulesInPlatform(); + jTabbedPane.addTab(fvName, null, pane, null); } /** * This method initializes jTextField4 @@ -1523,7 +1537,7 @@ public class FpdFlash extends IInternalFrame { jPanelFdfCTop.setLayout(new BorderLayout()); jPanelFdfCTop.add(getJPanelFdfCTopN(), java.awt.BorderLayout.NORTH); jPanelFdfCTop.add(getJPanelFdfCTopS(), java.awt.BorderLayout.SOUTH); - jPanelFdfCTop.add(getJPanelFdfCTopC(), java.awt.BorderLayout.CENTER); + jPanelFdfCTop.add(getJScrollPaneFvInFdf(), java.awt.BorderLayout.CENTER); } return jPanelFdfCTop; } @@ -1538,7 +1552,7 @@ public class FpdFlash extends IInternalFrame { jPanelFdfCBottom = new JPanel(); jPanelFdfCBottom.setLayout(new BorderLayout()); jPanelFdfCBottom.add(getJPanelFdfCBottomN(), java.awt.BorderLayout.NORTH); - jPanelFdfCBottom.add(getJPanelFdfCBottomC(), java.awt.BorderLayout.CENTER); + jPanelFdfCBottom.add(getJScrollPaneFvAdditional(), java.awt.BorderLayout.CENTER); } return jPanelFdfCBottom; } @@ -1579,13 +1593,13 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JPanel */ - private JPanel getJPanelFdfCTopC() { - if (jPanelFdfCTopC == null) { - jPanelFdfCTopC = new JPanel(); - jPanelFdfCTopC.add(getJScrollPaneFvInFdf(), null); - } - return jPanelFdfCTopC; - } +// private JPanel getJPanelFdfCTopC() { +// if (jPanelFdfCTopC == null) { +// jPanelFdfCTopC = new JPanel(); +// jPanelFdfCTopC.add(getJScrollPaneFvInFdf(), null); +// } +// return jPanelFdfCTopC; +// } /** * This method initializes jPanelFdfCBottomN @@ -1607,13 +1621,13 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JPanel */ - private JPanel getJPanelFdfCBottomC() { - if (jPanelFdfCBottomC == null) { - jPanelFdfCBottomC = new JPanel(); - jPanelFdfCBottomC.add(getJScrollPaneFvAdditional(), null); - } - return jPanelFdfCBottomC; - } +// private JPanel getJPanelFdfCBottomC() { +// if (jPanelFdfCBottomC == null) { +// jPanelFdfCBottomC = new JPanel(); +// jPanelFdfCBottomC.add(getJScrollPaneFvAdditional(), null); +// } +// return jPanelFdfCBottomC; +// } /** * This method initializes jScrollPaneFvInFdf @@ -1789,7 +1803,10 @@ public class FpdFlash extends IInternalFrame { ffc.updateFvImageNameAll(oldFvName, newFvName); } else { - jTabbedPane.addTab(newFvName, new ModuleOrderPane(newFvName, "")); + ModuleOrderPane pane = new ModuleOrderPane(newFvName, "", ffc, FpdFlash.this); + pane.showModulesInFv(newFvName); + pane.showAllModulesInPlatform(); + jTabbedPane.addTab(newFvName, pane); // Add FvImageNames in Flash String[] fvNames = {newFvName}; ffc.addFvImageFvImageNames(fvNames); @@ -1814,20 +1831,20 @@ public class FpdFlash extends IInternalFrame { else { blkSize = defaultBlkSize; } - ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_BLOCK_SIZE", blkSize); + ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_BLOCK_SIZE", blkSize, null); int fs = Integer.decode(fvSize); int bs = Integer.decode(blkSize); - ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_NUM_BLOCKS", (fs/bs)+""); + ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_NUM_BLOCKS", (fs/bs)+"", null); docConsole.setSaved(false); } else { if (!DataValidation.isInt(blkSize) && !DataValidation.isHexDoubleWordDataType(blkSize)) { int retVal = JOptionPane.showConfirmDialog(frame, "Confirm", "FPD file contains error block size format. Would you like to replace it with a default value?", JOptionPane.YES_NO_OPTION); if (retVal == JOptionPane.YES_OPTION) { - ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_BLOCK_SIZE", defaultBlkSize); + ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_BLOCK_SIZE", defaultBlkSize, null); int fs = Integer.decode(fvSize); int bs = Integer.decode(defaultBlkSize); - ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_NUM_BLOCKS", (fs/bs)+""); + ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_NUM_BLOCKS", (fs/bs)+"", null); docConsole.setSaved(false); return; } @@ -1838,13 +1855,13 @@ public class FpdFlash extends IInternalFrame { } int fs = Integer.decode(fvSize); int bs = Integer.decode(blkSize); - ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_NUM_BLOCKS", (fs/bs)+""); + ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_NUM_BLOCKS", (fs/bs)+"", null); docConsole.setSaved(false); } } if (col == 2 && !fileFromOptionDlg) { - ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_FILE_NAME", m.getValueAt(row, col)+""); + ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_FILE_NAME", m.getValueAt(row, col)+"", null); docConsole.setSaved(false); } @@ -2072,6 +2089,165 @@ public class FpdFlash extends IInternalFrame { return jPanelW; } + /** + * This method initializes jPanelFvImageParaN + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFvImageParaN() { + if (jPanelFvImageParaN == null) { + FlowLayout flowLayout3 = new FlowLayout(); + flowLayout3.setAlignment(java.awt.FlowLayout.CENTER); + jPanelFvImageParaN = new JPanel(); + jPanelFvImageParaN.setLayout(flowLayout3); + jPanelFvImageParaN.add(new StarLabel(), null); + jPanelFvImageParaN.add(jLabelFvImageNames, null); + jPanelFvImageParaN.add(jLabelFvParaName, null); + jPanelFvImageParaN.add(getJTextFieldFvParaName(), null); + } + return jPanelFvImageParaN; + } + + /** + * This method initializes jPanelFvImageParaS + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFvImageParaS() { + if (jPanelFvImageParaS == null) { + FlowLayout flowLayout6 = new FlowLayout(); + flowLayout6.setAlignment(java.awt.FlowLayout.CENTER); + jPanelFvImageParaS = new JPanel(); + jPanelFvImageParaS.setLayout(flowLayout6); + jPanelFvImageParaS.add(jLabelFvParaType, null); + jPanelFvImageParaS.add(getJComboBoxFvParaType(), null); + } + return jPanelFvImageParaS; + } + + /** + * This method initializes jPanelFvImageParaC + * + * @return javax.swing.JPanel + */ +// private JPanel getJPanelFvImageParaC() { +// if (jPanelFvImageParaC == null) { +// jPanelFvImageParaC = new JPanel(); +// jPanelFvImageParaC.add(getJScrollPaneFvImageNames(), null); +// } +// return jPanelFvImageParaC; +// } + + /** + * This method initializes jPanelFvImageOptsN + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFvImageOptsN() { + if (jPanelFvImageOptsN == null) { + jPanelFvImageOptsN = new JPanel(); + jPanelFvImageOptsN.add(jLabelOptions, null); + jPanelFvImageOptsN.add(jLabelFvImageOptName, null); + jPanelFvImageOptsN.add(getJTextFieldFvImageOptName(), null); + jPanelFvImageOptsN.add(jLabelFvImageOptValue, null); + jPanelFvImageOptsN.add(getJTextFieldFvImageOptValue(), null); + } + return jPanelFvImageOptsN; + } + + /** + * This method initializes jPanelFvImageOptsS + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFvImageOptsS() { + if (jPanelFvImageOptsS == null) { + jPanelFvImageOptsS = new JPanel(); + } + return jPanelFvImageOptsS; + } + + /** + * This method initializes jPanelFvImageOptsC + * + * @return javax.swing.JPanel + */ +// private JPanel getJPanelFvImageOptsC() { +// if (jPanelFvImageOptsC == null) { +// jPanelFvImageOptsC = new JPanel(); +// jPanelFvImageOptsC.add(getJScrollPane(), null); +// } +// return jPanelFvImageOptsC; +// } + + /** + * This method initializes jPanelFvImageParaE + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFvImageParaE() { + if (jPanelFvImageParaE == null) { + jPanelFvImageParaE = new JPanel(); + jPanelFvImageParaE.add(getJPanelBgFvName(), null); + } + return jPanelFvImageParaE; + } + + /** + * This method initializes jPanelFvImageOptsE + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFvImageOptsE() { + if (jPanelFvImageOptsE == null) { + jPanelFvImageOptsE = new JPanel(); + jPanelFvImageOptsE.add(getJPanelFvImageOptsButtonGroup(), null); + } + return jPanelFvImageOptsE; + } + + /** + * This method initializes jPanelFvImageSN + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFvImageSN() { + if (jPanelFvImageSN == null) { + jPanelFvImageSN = new JPanel(); + jPanelFvImageSN.add(getJCheckBoxFvProperty(), null); + jPanelFvImageSN.add(jLabelFvPropName, null); + jPanelFvImageSN.add(getJTextFieldFvPropName(), null); + jPanelFvImageSN.add(jLabelFvPropValue, null); + jPanelFvImageSN.add(getJTextFieldFvPropValue(), null); + } + return jPanelFvImageSN; + } + + /** + * This method initializes jPanelFvImageSE + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFvImageSE() { + if (jPanelFvImageSE == null) { + jPanelFvImageSE = new JPanel(); + jPanelFvImageSE.add(getJPanelFvPropButtonGroup(), null); + } + return jPanelFvImageSE; + } + + /** + * This method initializes jPanelFvImageSS + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFvImageSS() { + if (jPanelFvImageSS == null) { + jPanelFvImageSS = new JPanel(); + } + return jPanelFvImageSS; + } + /** * @param args */ @@ -2114,6 +2290,7 @@ public class FpdFlash extends IInternalFrame { jTextFieldFdf.setText(""); String fdfFile = ffc.getFlashDefinitionFile(); if (fdfFile != null && fdfFile.length() > 0) { + jCheckBoxFdf.setSelected(true); jTextFieldFdf.setText(fdfFile); String fdfPath = System.getenv("WORKSPACE") + File.separator + fdfFile; initFvInFdfTable(fdfPath); @@ -2305,718 +2482,655 @@ public class FpdFlash extends IInternalFrame { } } + + /* (non-Javadoc) + * @see org.tianocore.frameworkwizard.common.ui.IInternalFrame#actionPerformed(java.awt.event.ActionEvent) + */ + @Override + public void actionPerformed(ActionEvent arg0) { + if (arg0.getActionCommand().equals("ModuleOrderPaneOk")) { + docConsole.setSaved(false); + jTabbedPane.setSelectedIndex(0); + } + else if (arg0.getActionCommand().equals("ModuleOrderPaneCancel")) { + jTabbedPane.setSelectedIndex(0); + } + else { + return; + } + } -// class ModuleSAInfo { -// private int rowNumber = -1; -// private String moduleGuid = null; -// private String moduleVersion = null; -// private String packageGuid = null; -// private String packageVersion = null; -// private String arch = null; -// -// public ModuleSAInfo (String mg, String mv, String pg, String pv, String a) { -// moduleGuid = mg; -// moduleVersion = mv; -// packageGuid = pg; -// packageVersion = pv; -// arch = a; -// } -// -// /** -// * @return Returns the arch. -// */ -// public String getArch() { -// return arch; -// } -// -// /** -// * @param arch The arch to set. -// */ -// public void setArch(String arch) { -// this.arch = arch; -// } -// -// /** -// * @return Returns the moduleGuid. -// */ -// public String getModuleGuid() { -// return moduleGuid; -// } -// -// /** -// * @param moduleGuid The moduleGuid to set. -// */ -// public void setModuleGuid(String moduleGuid) { -// this.moduleGuid = moduleGuid; -// } -// -// /** -// * @return Returns the moduleVersion. -// */ -// public String getModuleVersion() { -// return moduleVersion; -// } -// -// /** -// * @param moduleVersion The moduleVersion to set. -// */ -// public void setModuleVersion(String moduleVersion) { -// this.moduleVersion = moduleVersion; -// } -// -// /** -// * @return Returns the packageGuid. -// */ -// public String getPackageGuid() { -// return packageGuid; -// } -// -// /** -// * @param packageGuid The packageGuid to set. -// */ -// public void setPackageGuid(String packageGuid) { -// this.packageGuid = packageGuid; -// } -// -// /** -// * @return Returns the packageVersion. -// */ -// public String getPackageVersion() { -// return packageVersion; -// } -// -// /** -// * @param packageVersion The packageVersion to set. -// */ -// public void setPackageVersion(String packageVersion) { -// this.packageVersion = packageVersion; -// } -// -// /** -// * @return Returns the rowNumber. -// */ -// public int getRowNumber() { -// return rowNumber; -// } -// -// /** -// * @param rowNumber The rowNumber to set. -// */ -// public void setRowNumber(int rowNumber) { -// this.rowNumber = rowNumber; -// } -// } +} // @jve:decl-index=0:visual-constraint="10,10" + +class ModuleOrderPane extends JPanel implements ActionListener{ + + /** + * + */ + private static final long serialVersionUID = 1L; + private JPanel jPanelModOrderN = null; + private JPanel jPanelModOrderS = null; + private JPanel jPanelModOrderC = null; + private JScrollPane jScrollPaneModInFv = null; + private JTable jTableModInFv = null; + private JPanel jPanelController = null; + private JScrollPane jScrollPaneFpdModules = null; + private JTable jTableFpdModules = null; + private JButton jButtonUp = null; + private JButton jButtonInsert = null; + private JButton jButtonRemove = null; + private JButton jButtonDown = null; + private JButton jButtonOk = null; + private JButton jButtonCancel = null; + private IDefaultTableModel modInFvTableModel = null; + private IDefaultTableModel fpdModTableModel = null; + private FpdFileContents ffc = null; + private String title = null; + private String outputFileName = null; - private class ModuleOrderPane extends JPanel { - - /** - * - */ - private static final long serialVersionUID = 1L; - private JPanel jPanelModOrderN = null; - private JPanel jPanelModOrderS = null; - private JPanel jPanelModOrderC = null; - private JScrollPane jScrollPaneModInFv = null; - private JTable jTableModInFv = null; - private JPanel jPanelController = null; - private JScrollPane jScrollPaneFpdModules = null; - private JTable jTableFpdModules = null; - private JButton jButtonUp = null; - private JButton jButtonInsert = null; - private JButton jButtonRemove = null; - private JButton jButtonDown = null; - private JButton jButtonOk = null; - private JButton jButtonCancel = null; - private IDefaultTableModel modInFvTableModel = null; - private IDefaultTableModel fpdModTableModel = null; -// private ArrayList listTableModInFvModuleSAInfo = null; -// private ArrayList listTableFpdModulesModuleSAInfo = null; - private String title = null; - private String outputFileName = null; + public ModuleOrderPane(String tabTitle, String file, FpdFileContents inputFfc, ActionListener action) { + super(new BorderLayout()); + title = tabTitle; + outputFileName = file; + ffc = inputFfc; + add(getJPanelModOrderN(), java.awt.BorderLayout.NORTH); + add(getJPanelModOrderS(), java.awt.BorderLayout.SOUTH); + add(getJPanelModOrderC(), java.awt.BorderLayout.CENTER); + jButtonOk.addActionListener(action); + jButtonCancel.addActionListener(action); - public ModuleOrderPane(String tabTitle, String file) { - super(new BorderLayout()); - title = tabTitle; - outputFileName = file; -// listTableModInFvModuleSAInfo = new ArrayList(); -// listTableFpdModulesModuleSAInfo = new ArrayList(); - add(getJPanelModOrderN(), java.awt.BorderLayout.NORTH); - add(getJPanelModOrderS(), java.awt.BorderLayout.SOUTH); - add(getJPanelModOrderC(), java.awt.BorderLayout.CENTER); - showModulesInFv(title); - showAllModulesInPlatform(); - } + } + + public void showModulesInFv(String fvName) { - private void showModulesInFv(String fvName) { - int size = ffc.getUserExtsIncModCount(fvName); - - if (size != -1) { - String[][] saa = new String[size][5]; - ffc.getUserExtsIncMods(fvName, saa); - - for (int i = 0; i < size; ++i) { - String moduleKey = saa[i][0] + " " + saa[i][1] + " " + saa[i][2] + " " + saa[i][3]; - ModuleIdentification mi = WorkspaceProfile.getModuleId(moduleKey); - String name = "N/A"; - if (mi != null) { - name = mi.getName(); - } - - String[] row = { name, saa[i][0] , saa[i][1], saa[i][2] , saa[i][3], saa[i][4] }; - modInFvTableModel.addRow(row); - } - } - // - // From ModuleSAs, get module guids with FvBinding = fvName. - // - Vector vModuleSA = new Vector(); - ffc.getFrameworkModuleSAByFvBinding(fvName, vModuleSA); - // - // If BuildOptions->UserExtensions already contain these module info, - // no need to add them into table again. - // - Iterator iter = vModuleSA.iterator(); - while (iter.hasNext()){ - String[] sa = iter.next(); - if (!moduleInfoInTable (sa, modInFvTableModel)) { - String moduleKey = sa[0] + " " + sa[1] + " " + sa[2] + " " + sa[3]; - ModuleIdentification mi = WorkspaceProfile.getModuleId(moduleKey); - String name = "N/A"; - if (mi != null) { - name = mi.getName(); - } - String[] row = { name, sa[0] , sa[1], sa[2] , sa[3], sa[4] }; - modInFvTableModel.addRow(row); - } - } - + if (modInFvTableModel == null) { + return; } + int size = ffc.getUserExtsIncModCount(fvName, "IMAGES", 1); - private void showAllModulesInPlatform() { - int size = ffc.getFrameworkModulesCount(); + if (size != -1) { String[][] saa = new String[size][5]; - ffc.getFrameworkModulesInfo(saa); - + ffc.getUserExtsIncMods(fvName, "IMAGES", 1, saa); + for (int i = 0; i < size; ++i) { - if (moduleInfoInTable(saa[i], modInFvTableModel) || moduleInfoInTable(saa[i], fpdModTableModel)) { - continue; - } String moduleKey = saa[i][0] + " " + saa[i][1] + " " + saa[i][2] + " " + saa[i][3]; ModuleIdentification mi = WorkspaceProfile.getModuleId(moduleKey); String name = "N/A"; if (mi != null) { name = mi.getName(); } + String[] row = { name, saa[i][0] , saa[i][1], saa[i][2] , saa[i][3], saa[i][4] }; - fpdModTableModel.addRow(row); + modInFvTableModel.addRow(row); } - - TableSorter sorter = (TableSorter)jTableFpdModules.getModel(); - sorter.setSortState(0, TableSorter.ASCENDING); } - - - private boolean moduleInfoInTable (String[] moduleInfo, DefaultTableModel model) { - boolean matched = false; - int size = model.getDataVector().size(); - for (int i = 0; i < size; ++i) { - Vector rowData = (Vector)model.getDataVector().elementAt(i); - for (int j = 1; j < rowData.size(); ++j) { - if (rowData.elementAt(j) == null && moduleInfo[j-1] == null) { - matched = true; - } - else if (rowData.elementAt(j).equals("null") && moduleInfo[j-1] == null) { - matched = true; - } - else if (rowData.elementAt(j) == null && moduleInfo[j-1].equals("null")) { - matched = true; - } - else if (rowData.elementAt(j) != null && rowData.elementAt(j).toString().equalsIgnoreCase(moduleInfo[j-1])) { - matched = true; - } - else { - matched = false; - break; - } - } - - if (matched) { - return true; + // + // From ModuleSAs, get module guids with FvBinding = fvName. + // + Vector vModuleSA = new Vector(); + ffc.getFrameworkModuleSAByFvBinding(fvName, vModuleSA); + // + // If BuildOptions->UserExtensions already contain these module info, + // no need to add them into table again. + // + Iterator iter = vModuleSA.iterator(); + while (iter.hasNext()){ + String[] sa = iter.next(); + if (!moduleInfoInTable (sa, modInFvTableModel)) { + String moduleKey = sa[0] + " " + sa[1] + " " + sa[2] + " " + sa[3]; + ModuleIdentification mi = WorkspaceProfile.getModuleId(moduleKey); + String name = "N/A"; + if (mi != null) { + name = mi.getName(); } - + String[] row = { name, sa[0] , sa[1], sa[2] , sa[3], sa[4] }; + modInFvTableModel.addRow(row); } - return false; } + + } + + public void showAllModulesInPlatform() { + if (modInFvTableModel == null || fpdModTableModel == null) { + return; + } + int size = ffc.getFrameworkModulesCount(); + String[][] saa = new String[size][5]; + ffc.getFrameworkModulesInfo(saa); - - /** - * This method initializes jPanelModOrderN - * - * @return javax.swing.JPanel - */ - private JPanel getJPanelModOrderN() { - if (jPanelModOrderN == null) { - jPanelModOrderN = new JPanel(); + for (int i = 0; i < size; ++i) { + if (moduleInfoInTable(saa[i], modInFvTableModel) || moduleInfoInTable(saa[i], fpdModTableModel)) { + continue; } - return jPanelModOrderN; - } - - /** - * This method initializes jPanelModOrderS - * - * @return javax.swing.JPanel - */ - private JPanel getJPanelModOrderS() { - if (jPanelModOrderS == null) { - FlowLayout flowLayout6 = new FlowLayout(); - flowLayout6.setAlignment(java.awt.FlowLayout.RIGHT); - jPanelModOrderS = new JPanel(); - jPanelModOrderS.setLayout(flowLayout6); - jPanelModOrderS.add(getJButtonOk(), null); - jPanelModOrderS.add(getJButtonCancel(), null); + String moduleKey = saa[i][0] + " " + saa[i][1] + " " + saa[i][2] + " " + saa[i][3]; + ModuleIdentification mi = WorkspaceProfile.getModuleId(moduleKey); + String name = "N/A"; + if (mi != null) { + name = mi.getName(); } - return jPanelModOrderS; - } - - /** - * This method initializes jPanelModOrderC - * - * @return javax.swing.JPanel - */ - private JPanel getJPanelModOrderC() { - if (jPanelModOrderC == null) { - jPanelModOrderC = new JPanel(); - jPanelModOrderC.add(getJScrollPaneModInFv(), null); - jPanelModOrderC.add(getJPanelController(), null); - jPanelModOrderC.add(getJScrollPaneFpdModules(), null); + String[] row = { name, saa[i][0] , saa[i][1], saa[i][2] , saa[i][3], saa[i][4] }; + fpdModTableModel.addRow(row); + } + + TableSorter sorter = (TableSorter)jTableFpdModules.getModel(); + sorter.setSortState(0, TableSorter.ASCENDING); + } + + + protected boolean moduleInfoInTable (String[] moduleInfo, DefaultTableModel model) { + boolean matched = false; + int size = model.getDataVector().size(); + for (int i = 0; i < size; ++i) { + Vector rowData = (Vector)model.getDataVector().elementAt(i); + for (int j = 1; j < rowData.size(); ++j) { + if (rowData.elementAt(j) == null && moduleInfo[j-1] == null) { + matched = true; + } + else if (rowData.elementAt(j).equals("null") && moduleInfo[j-1] == null) { + matched = true; + } + else if (rowData.elementAt(j) == null && moduleInfo[j-1].equals("null")) { + matched = true; + } + else if (rowData.elementAt(j) != null && rowData.elementAt(j).toString().equalsIgnoreCase(moduleInfo[j-1])) { + matched = true; + } + else { + matched = false; + break; + } } - return jPanelModOrderC; - } - - /** - * This method initializes jScrollPaneModInFv - * - * @return javax.swing.JScrollPane - */ - private JScrollPane getJScrollPaneModInFv() { - if (jScrollPaneModInFv == null) { - jScrollPaneModInFv = new JScrollPane(); - jScrollPaneModInFv.setPreferredSize(new java.awt.Dimension(200,500)); - jScrollPaneModInFv.setViewportView(getJTableModInFv()); + + if (matched) { + return true; } - return jScrollPaneModInFv; + + } + return false; + } + + + + /** + * This method initializes jPanelModOrderN + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelModOrderN() { + if (jPanelModOrderN == null) { + jPanelModOrderN = new JPanel(); } + return jPanelModOrderN; + } - /** - * This method initializes jTableModInFv - * - * @return javax.swing.JTable - */ - private JTable getJTableModInFv() { - if (jTableModInFv == null) { - modInFvTableModel = new IDefaultTableModel(); - - jTableModInFv = new JTable(modInFvTableModel){ - /** - * - */ - private static final long serialVersionUID = 4903583933542581721L; - - public String getToolTipText(MouseEvent e) { - String tip = null; - java.awt.Point p = e.getPoint(); - int rowIndex = rowAtPoint(p); -// int colIndex = columnAtPoint(p); -// int realColumnIndex = convertColumnIndexToModel(colIndex); - - TableModel model = getModel(); + /** + * This method initializes jPanelModOrderS + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelModOrderS() { + if (jPanelModOrderS == null) { + FlowLayout flowLayout6 = new FlowLayout(); + flowLayout6.setAlignment(java.awt.FlowLayout.RIGHT); + jPanelModOrderS = new JPanel(); + jPanelModOrderS.setLayout(flowLayout6); + jPanelModOrderS.add(getJButtonOk(), null); + jPanelModOrderS.add(getJButtonCancel(), null); + } + return jPanelModOrderS; + } + + /** + * This method initializes jPanelModOrderC + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelModOrderC() { + if (jPanelModOrderC == null) { + jPanelModOrderC = new JPanel(); + jPanelModOrderC.add(getJScrollPaneModInFv(), null); + jPanelModOrderC.add(getJPanelController(), null); + jPanelModOrderC.add(getJScrollPaneFpdModules(), null); + } + return jPanelModOrderC; + } + + /** + * This method initializes jScrollPaneModInFv + * + * @return javax.swing.JScrollPane + */ + private JScrollPane getJScrollPaneModInFv() { + if (jScrollPaneModInFv == null) { + jScrollPaneModInFv = new JScrollPane(); + jScrollPaneModInFv.setPreferredSize(new java.awt.Dimension(200,500)); + jScrollPaneModInFv.setViewportView(getJTableModInFv()); + } + return jScrollPaneModInFv; + } + + /** + * This method initializes jTableModInFv + * + * @return javax.swing.JTable + */ + protected JTable getJTableModInFv() { + if (jTableModInFv == null) { + modInFvTableModel = new IDefaultTableModel(); + + jTableModInFv = new JTable(modInFvTableModel){ + /** + * + */ + private static final long serialVersionUID = 4903583933542581721L; + + public String getToolTipText(MouseEvent e) { + String tip = null; + java.awt.Point p = e.getPoint(); + int rowIndex = rowAtPoint(p); +// int colIndex = columnAtPoint(p); +// int realColumnIndex = convertColumnIndexToModel(colIndex); + + TableModel model = getModel(); + String mg = (String) model.getValueAt(rowIndex, 1); + String mv = (String) model.getValueAt(rowIndex, 2); + String pg = (String) model.getValueAt(rowIndex, 3); + String pv = (String) model.getValueAt(rowIndex, 4); + String arch = (String) model.getValueAt(rowIndex, 5); + ModuleIdentification mi = WorkspaceProfile.getModuleId(mg + " " + mv + " " + pg + " " + pv); + if (mi != null) { + tip = "Path: " + mi.getPath() + "; Arch: " + arch + ";"; + } + else { + tip = "No Module Path Information."; + } + + return tip; + } + + }; + modInFvTableModel.addColumn("Module Orders in FV"); + modInFvTableModel.addColumn("mg"); + modInFvTableModel.addColumn("mv"); + modInFvTableModel.addColumn("pg"); + modInFvTableModel.addColumn("pv"); + modInFvTableModel.addColumn("arch"); + + for (int i = 1; i < 6; ++i) { + jTableModInFv.removeColumn(jTableModInFv.getColumnModel().getColumn(jTableModInFv.getColumnCount()-1)); + } + + jTableModInFv.setRowHeight(20); + jTableModInFv.setShowGrid(false); + jTableModInFv.setAutoCreateColumnsFromModel(false); + jTableModInFv.addMouseListener(new MouseAdapter() { + + /* (non-Javadoc) + * @see java.awt.event.MouseAdapter#mouseClicked(java.awt.event.MouseEvent) + */ + @Override + public void mouseClicked(MouseEvent arg0) { + if (arg0.getButton() == MouseEvent.BUTTON3) { + java.awt.Point p = arg0.getPoint(); + int rowIndex = jTableModInFv.rowAtPoint(p); + TableModel model = jTableModInFv.getModel(); String mg = (String) model.getValueAt(rowIndex, 1); String mv = (String) model.getValueAt(rowIndex, 2); String pg = (String) model.getValueAt(rowIndex, 3); String pv = (String) model.getValueAt(rowIndex, 4); - String arch = (String) model.getValueAt(rowIndex, 5); ModuleIdentification mi = WorkspaceProfile.getModuleId(mg + " " + mv + " " + pg + " " + pv); + String details = "PackageGuid: " + pg + "; ModuleVer:" + mv + "; PkgVer:" + pv; if (mi != null) { - tip = "Path: " + mi.getPath() + "; Arch: " + arch + ";"; + details = "In Package " + mi.getPackageId().getName() + "; ModuleVer:" + mv + "; PkgVer:" + pv; } - else { - tip = "No Module Path Information."; - } - - return tip; + JOptionPane.showMessageDialog(ModuleOrderPane.this, details); } - - }; - modInFvTableModel.addColumn("Module Orders in FV"); - modInFvTableModel.addColumn("mg"); - modInFvTableModel.addColumn("mv"); - modInFvTableModel.addColumn("pg"); - modInFvTableModel.addColumn("pv"); - modInFvTableModel.addColumn("arch"); - - for (int i = 1; i < 6; ++i) { - jTableModInFv.removeColumn(jTableModInFv.getColumnModel().getColumn(jTableModInFv.getColumnCount()-1)); } - jTableModInFv.setRowHeight(20); - jTableModInFv.setShowGrid(false); - jTableModInFv.setAutoCreateColumnsFromModel(false); - jTableModInFv.addMouseListener(new MouseAdapter() { - - /* (non-Javadoc) - * @see java.awt.event.MouseAdapter#mouseClicked(java.awt.event.MouseEvent) - */ - @Override - public void mouseClicked(MouseEvent arg0) { - if (arg0.getButton() == MouseEvent.BUTTON3) { - java.awt.Point p = arg0.getPoint(); - int rowIndex = jTableModInFv.rowAtPoint(p); - TableModel model = jTableModInFv.getModel(); - String mg = (String) model.getValueAt(rowIndex, 1); - String mv = (String) model.getValueAt(rowIndex, 2); - String pg = (String) model.getValueAt(rowIndex, 3); - String pv = (String) model.getValueAt(rowIndex, 4); - ModuleIdentification mi = WorkspaceProfile.getModuleId(mg + " " + mv + " " + pg + " " + pv); - String details = "PackageGuid: " + pg + "; ModuleVer:" + mv + "; PkgVer:" + pv; - if (mi != null) { - details = "In Package " + mi.getPackageId().getName() + "; ModuleVer:" + mv + "; PkgVer:" + pv; - } - JOptionPane.showMessageDialog(frame, details); - } + }); + } + return jTableModInFv; + } + + /** + * This method initializes jPanelController + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelController() { + if (jPanelController == null) { + FlowLayout flowLayout5 = new FlowLayout(); + flowLayout5.setVgap(50); + flowLayout5.setHgap(50); + jPanelController = new JPanel(); + jPanelController.setLayout(flowLayout5); + jPanelController.setPreferredSize(new java.awt.Dimension(150,500)); + jPanelController.add(getJButtonUp(), null); + jPanelController.add(getJButtonInsert(), null); + jPanelController.add(getJButtonRemove(), null); + jPanelController.add(getJButtonDown(), null); + } + return jPanelController; + } + + /** + * This method initializes jScrollPaneFpdModules + * + * @return javax.swing.JScrollPane + */ + private JScrollPane getJScrollPaneFpdModules() { + if (jScrollPaneFpdModules == null) { + jScrollPaneFpdModules = new JScrollPane(); + jScrollPaneFpdModules.setPreferredSize(new java.awt.Dimension(200,500)); + jScrollPaneFpdModules.setViewportView(getJTableFpdModules()); + } + return jScrollPaneFpdModules; + } + + /** + * This method initializes jTableFpdModules + * + * @return javax.swing.JTable + */ + private JTable getJTableFpdModules() { + if (jTableFpdModules == null) { + fpdModTableModel = new IDefaultTableModel(); + TableSorter sorter = new TableSorter(fpdModTableModel); + jTableFpdModules = new JTable(sorter){ + /** + * + */ + private static final long serialVersionUID = -4666296888377637808L; + + public String getToolTipText(MouseEvent e) { + String tip = null; + java.awt.Point p = e.getPoint(); + int rowIndex = rowAtPoint(p); +// int colIndex = columnAtPoint(p); +// int realColumnIndex = convertColumnIndexToModel(colIndex); + + TableModel model = getModel(); + String mg = (String) model.getValueAt(rowIndex, 1); + String mv = (String) model.getValueAt(rowIndex, 2); + String pg = (String) model.getValueAt(rowIndex, 3); + String pv = (String) model.getValueAt(rowIndex, 4); + String arch = (String) model.getValueAt(rowIndex, 5); + ModuleIdentification mi = WorkspaceProfile.getModuleId(mg + " " + mv + " " + pg + " " + pv); + if (mi != null) { + tip = "Path: " + mi.getPath() + "; Arch: " + arch + ";"; } - - }); - } - return jTableModInFv; - } - - /** - * This method initializes jPanelController - * - * @return javax.swing.JPanel - */ - private JPanel getJPanelController() { - if (jPanelController == null) { - FlowLayout flowLayout5 = new FlowLayout(); - flowLayout5.setVgap(50); - flowLayout5.setHgap(50); - jPanelController = new JPanel(); - jPanelController.setLayout(flowLayout5); - jPanelController.setPreferredSize(new java.awt.Dimension(150,500)); - jPanelController.add(getJButtonUp(), null); - jPanelController.add(getJButtonInsert(), null); - jPanelController.add(getJButtonRemove(), null); - jPanelController.add(getJButtonDown(), null); - } - return jPanelController; - } - - /** - * This method initializes jScrollPaneFpdModules - * - * @return javax.swing.JScrollPane - */ - private JScrollPane getJScrollPaneFpdModules() { - if (jScrollPaneFpdModules == null) { - jScrollPaneFpdModules = new JScrollPane(); - jScrollPaneFpdModules.setPreferredSize(new java.awt.Dimension(200,500)); - jScrollPaneFpdModules.setViewportView(getJTableFpdModules()); + else { + tip = "No Module Path Information."; + } + + return tip; + } + + }; + + fpdModTableModel.addColumn("Modules in Platform"); + fpdModTableModel.addColumn("mg"); + fpdModTableModel.addColumn("mv"); + fpdModTableModel.addColumn("pg"); + fpdModTableModel.addColumn("pv"); + fpdModTableModel.addColumn("arch"); + + for (int i = 1; i < 6; ++i) { + jTableFpdModules.removeColumn(jTableFpdModules.getColumnModel().getColumn(jTableFpdModules.getColumnCount()-1)); } - return jScrollPaneFpdModules; - } - - /** - * This method initializes jTableFpdModules - * - * @return javax.swing.JTable - */ - private JTable getJTableFpdModules() { - if (jTableFpdModules == null) { - fpdModTableModel = new IDefaultTableModel(); - TableSorter sorter = new TableSorter(fpdModTableModel); - jTableFpdModules = new JTable(sorter){ - /** - * - */ - private static final long serialVersionUID = -4666296888377637808L; - - public String getToolTipText(MouseEvent e) { - String tip = null; - java.awt.Point p = e.getPoint(); - int rowIndex = rowAtPoint(p); -// int colIndex = columnAtPoint(p); -// int realColumnIndex = convertColumnIndexToModel(colIndex); - - TableModel model = getModel(); + jTableFpdModules.setRowHeight(20); + jTableFpdModules.setShowGrid(false); + jTableFpdModules.setAutoCreateColumnsFromModel(false); + jTableFpdModules.addMouseListener(new MouseAdapter() { + + /* (non-Javadoc) + * @see java.awt.event.MouseAdapter#mouseClicked(java.awt.event.MouseEvent) + */ + @Override + public void mouseClicked(MouseEvent arg0) { + if (arg0.getButton() == MouseEvent.BUTTON3) { + java.awt.Point p = arg0.getPoint(); + int rowIndex = jTableFpdModules.rowAtPoint(p); + TableModel model = jTableFpdModules.getModel(); String mg = (String) model.getValueAt(rowIndex, 1); String mv = (String) model.getValueAt(rowIndex, 2); String pg = (String) model.getValueAt(rowIndex, 3); String pv = (String) model.getValueAt(rowIndex, 4); - String arch = (String) model.getValueAt(rowIndex, 5); ModuleIdentification mi = WorkspaceProfile.getModuleId(mg + " " + mv + " " + pg + " " + pv); + String details = "PackageGuid: " + pg + "; ModuleVer:" + mv + "; PkgVer:" + pv; if (mi != null) { - tip = "Path: " + mi.getPath() + "; Arch: " + arch + ";"; - } - else { - tip = "No Module Path Information."; + details = "In Package " + mi.getPackageId().getName() + "; ModuleVer:" + mv + "; PkgVer:" + pv; } - - return tip; + JOptionPane.showMessageDialog(ModuleOrderPane.this, details); } - - }; - - fpdModTableModel.addColumn("Modules in Platform"); - fpdModTableModel.addColumn("mg"); - fpdModTableModel.addColumn("mv"); - fpdModTableModel.addColumn("pg"); - fpdModTableModel.addColumn("pv"); - fpdModTableModel.addColumn("arch"); - - for (int i = 1; i < 6; ++i) { - jTableFpdModules.removeColumn(jTableFpdModules.getColumnModel().getColumn(jTableFpdModules.getColumnCount()-1)); } - jTableFpdModules.setRowHeight(20); - jTableFpdModules.setShowGrid(false); - jTableFpdModules.setAutoCreateColumnsFromModel(false); - jTableFpdModules.addMouseListener(new MouseAdapter() { - - /* (non-Javadoc) - * @see java.awt.event.MouseAdapter#mouseClicked(java.awt.event.MouseEvent) - */ - @Override - public void mouseClicked(MouseEvent arg0) { - if (arg0.getButton() == MouseEvent.BUTTON3) { - java.awt.Point p = arg0.getPoint(); - int rowIndex = jTableFpdModules.rowAtPoint(p); - TableModel model = jTableFpdModules.getModel(); - String mg = (String) model.getValueAt(rowIndex, 1); - String mv = (String) model.getValueAt(rowIndex, 2); - String pg = (String) model.getValueAt(rowIndex, 3); - String pv = (String) model.getValueAt(rowIndex, 4); - ModuleIdentification mi = WorkspaceProfile.getModuleId(mg + " " + mv + " " + pg + " " + pv); - String details = "PackageGuid: " + pg + "; ModuleVer:" + mv + "; PkgVer:" + pv; - if (mi != null) { - details = "In Package " + mi.getPackageId().getName() + "; ModuleVer:" + mv + "; PkgVer:" + pv; - } - JOptionPane.showMessageDialog(frame, details); - } + + }); + + } + return jTableFpdModules; + } + + /** + * This method initializes jButtonUp + * + * @return javax.swing.JButton + */ + private JButton getJButtonUp() { + if (jButtonUp == null) { + jButtonUp = new JButton(); + jButtonUp.setPreferredSize(new java.awt.Dimension(60,20)); + jButtonUp.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 14)); + jButtonUp.setText("^"); + jButtonUp.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + int selectedRow = jTableModInFv.getSelectedRow(); + if (selectedRow <= 0) { + return; } - - }); + modInFvTableModel.moveRow(selectedRow, selectedRow, selectedRow - 1); + jTableModInFv.changeSelection(selectedRow - 1, 0, false, false); + } + }); + } + return jButtonUp; + } - } - return jTableFpdModules; - } - - /** - * This method initializes jButtonUp - * - * @return javax.swing.JButton - */ - private JButton getJButtonUp() { - if (jButtonUp == null) { - jButtonUp = new JButton(); - jButtonUp.setPreferredSize(new java.awt.Dimension(60,20)); - jButtonUp.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 14)); - jButtonUp.setText("^"); - jButtonUp.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent e) { - int selectedRow = jTableModInFv.getSelectedRow(); - if (selectedRow <= 0) { - return; - } - modInFvTableModel.moveRow(selectedRow, selectedRow, selectedRow - 1); - jTableModInFv.changeSelection(selectedRow - 1, 0, false, false); + /** + * This method initializes jButtonInsert + * + * @return javax.swing.JButton + */ + private JButton getJButtonInsert() { + if (jButtonInsert == null) { + jButtonInsert = new JButton(); + jButtonInsert.setText("<"); + jButtonInsert.setPreferredSize(new java.awt.Dimension(60,20)); + jButtonInsert.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + int selectedRowRight = jTableFpdModules.getSelectedRow(); + if (selectedRowRight < 0) { + return; } - }); - } - return jButtonUp; - } - - /** - * This method initializes jButtonInsert - * - * @return javax.swing.JButton - */ - private JButton getJButtonInsert() { - if (jButtonInsert == null) { - jButtonInsert = new JButton(); - jButtonInsert.setText("<"); - jButtonInsert.setPreferredSize(new java.awt.Dimension(60,20)); - jButtonInsert.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent e) { - int selectedRowRight = jTableFpdModules.getSelectedRow(); - if (selectedRowRight < 0) { - return; - } - - int rowInModel = ((TableSorter)jTableFpdModules.getModel()).getModelRowIndex(selectedRowRight); - String name = fpdModTableModel.getValueAt(rowInModel, 0)+""; - String mg = fpdModTableModel.getValueAt(rowInModel, 1)+""; - String mv = fpdModTableModel.getValueAt(rowInModel, 2)+""; - String pg = fpdModTableModel.getValueAt(rowInModel, 3)+""; - String pv = fpdModTableModel.getValueAt(rowInModel, 4)+""; - String arch = fpdModTableModel.getValueAt(rowInModel, 5)+""; - String[] row = {name, mg, mv, pg, pv, arch}; - if (name.length() == 0 || name.equals("N/A")) { - return; - } - - int selectedRowLeft = jTableModInFv.getSelectedRow(); - if (selectedRowLeft < 0) { - modInFvTableModel.addRow(row); - jTableModInFv.changeSelection(jTableModInFv.getRowCount() - 1, 0, false, false); - } - else { - modInFvTableModel.insertRow(selectedRowLeft, row); - jTableModInFv.changeSelection(selectedRowLeft, 0, false, false); - } - fpdModTableModel.removeRow(rowInModel); + + int rowInModel = ((TableSorter)jTableFpdModules.getModel()).getModelRowIndex(selectedRowRight); + String name = fpdModTableModel.getValueAt(rowInModel, 0)+""; + String mg = fpdModTableModel.getValueAt(rowInModel, 1)+""; + String mv = fpdModTableModel.getValueAt(rowInModel, 2)+""; + String pg = fpdModTableModel.getValueAt(rowInModel, 3)+""; + String pv = fpdModTableModel.getValueAt(rowInModel, 4)+""; + String arch = fpdModTableModel.getValueAt(rowInModel, 5)+""; + String[] row = {name, mg, mv, pg, pv, arch}; + if (name.length() == 0 || name.equals("N/A")) { + return; } - }); - } - return jButtonInsert; - } - - /** - * This method initializes jButtonRemove - * - * @return javax.swing.JButton - */ - private JButton getJButtonRemove() { - if (jButtonRemove == null) { - jButtonRemove = new JButton(); - jButtonRemove.setPreferredSize(new java.awt.Dimension(60,20)); - jButtonRemove.setText(">"); - jButtonRemove.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent e) { - int selectedRowLeft = jTableModInFv.getSelectedRow(); - if (selectedRowLeft < 0) { - return; - } - - String name = modInFvTableModel.getValueAt(selectedRowLeft, 0)+""; - String mg = modInFvTableModel.getValueAt(selectedRowLeft, 1)+""; - String mv = modInFvTableModel.getValueAt(selectedRowLeft, 2)+""; - String pg = modInFvTableModel.getValueAt(selectedRowLeft, 3)+""; - String pv = modInFvTableModel.getValueAt(selectedRowLeft, 4)+""; - String arch = modInFvTableModel.getValueAt(selectedRowLeft, 5)+""; - String[] row = {name, mg, mv, pg, pv, arch}; - String moduleKey = mg + " " + mv + " " + pg + " " + pv + " " + arch; - if (name.length() == 0 || name.equals("N/A") || ffc.getModuleSA(moduleKey) == null) { - JOptionPane.showMessageDialog(frame, "Module " + name + " not exists in platform. If you want to add back this module, please first add it into current platform. " + moduleKey ); - modInFvTableModel.removeRow(selectedRowLeft); - return; - } - - fpdModTableModel.addRow(row); - int viewIndex = ((TableSorter) jTableFpdModules.getModel()).getViewIndexArray()[jTableFpdModules - .getRowCount() - 1]; - jTableFpdModules.changeSelection(viewIndex, 0, false, false); - modInFvTableModel.removeRow(selectedRowLeft); + + int selectedRowLeft = jTableModInFv.getSelectedRow(); + if (selectedRowLeft < 0) { + modInFvTableModel.addRow(row); + jTableModInFv.changeSelection(jTableModInFv.getRowCount() - 1, 0, false, false); } - }); - } - return jButtonRemove; - } - - /** - * This method initializes jButtonDown - * - * @return javax.swing.JButton - */ - private JButton getJButtonDown() { - if (jButtonDown == null) { - jButtonDown = new JButton(); - jButtonDown.setPreferredSize(new java.awt.Dimension(60,20)); - jButtonDown.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 10)); - jButtonDown.setText("v"); - jButtonDown.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent e) { - int selectedRow = jTableModInFv.getSelectedRow(); - if (selectedRow >= jTableModInFv.getRowCount() - 1) { - return; - } - modInFvTableModel.moveRow(selectedRow, selectedRow, selectedRow + 1); - jTableModInFv.changeSelection(selectedRow + 1, 0, false, false); + else { + modInFvTableModel.insertRow(selectedRowLeft, row); + jTableModInFv.changeSelection(selectedRowLeft, 0, false, false); } - }); - } - return jButtonDown; + fpdModTableModel.removeRow(rowInModel); + } + }); } - - /** - * This method initializes jButtonOk - * - * @return javax.swing.JButton - */ - private JButton getJButtonOk() { - if (jButtonOk == null) { - jButtonOk = new JButton(); - jButtonOk.setPreferredSize(new java.awt.Dimension(80,20)); - jButtonOk.setText("Ok"); - jButtonOk.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent e) { - // need reset FvBindings in ModuleSA. - ffc.removeFvBindingAll(title); - // - // collect module order information to store them into -> . - // also update the FvBinding info in . - // - Vector vModInFv = new Vector(); - for (int i = 0; i < jTableModInFv.getRowCount(); ++i) { - String moduleName = modInFvTableModel.getValueAt(i, 0)+""; - if (moduleName.length() == 0 || moduleName.equals("N/A")) { - continue; - } - - String mg = modInFvTableModel.getValueAt(i, 1)+""; - String mv = modInFvTableModel.getValueAt(i, 2)+""; - String pg = modInFvTableModel.getValueAt(i, 3)+""; - String pv = modInFvTableModel.getValueAt(i, 4)+""; - String arch = modInFvTableModel.getValueAt(i, 5)+""; - - String moduleInfo = mg + " " + mv + " " + pg + " " + pv + " " + arch; - - String[] sa = { mg, mv, pg, pv, arch}; - vModInFv.add(sa); - ffc.updateFvBindingInModuleSA(moduleInfo, title); - - } - ffc.removeBuildOptionsUserExtensions(title); - ffc.genBuildOptionsUserExtensions(title, outputFileName, vModInFv); - - docConsole.setSaved(false); - jTabbedPane.setSelectedIndex(0); + return jButtonInsert; + } + + /** + * This method initializes jButtonRemove + * + * @return javax.swing.JButton + */ + private JButton getJButtonRemove() { + if (jButtonRemove == null) { + jButtonRemove = new JButton(); + jButtonRemove.setPreferredSize(new java.awt.Dimension(60,20)); + jButtonRemove.setText(">"); + jButtonRemove.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + int selectedRowLeft = jTableModInFv.getSelectedRow(); + if (selectedRowLeft < 0) { + return; } - }); - } - return jButtonOk; - } - - /** - * This method initializes jButtonCancel - * - * @return javax.swing.JButton - */ - private JButton getJButtonCancel() { - if (jButtonCancel == null) { - jButtonCancel = new JButton(); - jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20)); - jButtonCancel.setText("Cancel"); - jButtonCancel.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent e) { - jTabbedPane.setSelectedIndex(0); + + String name = modInFvTableModel.getValueAt(selectedRowLeft, 0)+""; + String mg = modInFvTableModel.getValueAt(selectedRowLeft, 1)+""; + String mv = modInFvTableModel.getValueAt(selectedRowLeft, 2)+""; + String pg = modInFvTableModel.getValueAt(selectedRowLeft, 3)+""; + String pv = modInFvTableModel.getValueAt(selectedRowLeft, 4)+""; + String arch = modInFvTableModel.getValueAt(selectedRowLeft, 5)+""; + String[] row = {name, mg, mv, pg, pv, arch}; + String moduleKey = mg + " " + mv + " " + pg + " " + pv + " " + arch; + if (name.length() == 0 || name.equals("N/A") || ffc.getModuleSA(moduleKey) == null) { + JOptionPane.showMessageDialog(ModuleOrderPane.this, "Module " + name + " not exists in platform. If you want to add back this module, please first add it into current platform. " + moduleKey ); + modInFvTableModel.removeRow(selectedRowLeft); + return; + } + + fpdModTableModel.addRow(row); + int viewIndex = ((TableSorter) jTableFpdModules.getModel()).getViewIndexArray()[jTableFpdModules + .getRowCount() - 1]; + jTableFpdModules.changeSelection(viewIndex, 0, false, false); + modInFvTableModel.removeRow(selectedRowLeft); + } + }); + } + return jButtonRemove; + } + + /** + * This method initializes jButtonDown + * + * @return javax.swing.JButton + */ + private JButton getJButtonDown() { + if (jButtonDown == null) { + jButtonDown = new JButton(); + jButtonDown.setPreferredSize(new java.awt.Dimension(60,20)); + jButtonDown.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 10)); + jButtonDown.setText("v"); + jButtonDown.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + int selectedRow = jTableModInFv.getSelectedRow(); + if (selectedRow >= jTableModInFv.getRowCount() - 1) { + return; } - }); + modInFvTableModel.moveRow(selectedRow, selectedRow, selectedRow + 1); + jTableModInFv.changeSelection(selectedRow + 1, 0, false, false); + } + }); + } + return jButtonDown; + } + + /** + * This method initializes jButtonOk + * + * @return javax.swing.JButton + */ + protected JButton getJButtonOk() { + if (jButtonOk == null) { + jButtonOk = new JButton(); + jButtonOk.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonOk.setText("Ok"); + jButtonOk.setActionCommand("ModuleOrderPaneOk"); + jButtonOk.addActionListener(this); + + } + return jButtonOk; + } + + /** + * This method initializes jButtonCancel + * + * @return javax.swing.JButton + */ + protected JButton getJButtonCancel() { + if (jButtonCancel == null) { + jButtonCancel = new JButton(); + jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonCancel.setText("Cancel"); + jButtonCancel.setActionCommand("ModuleOrderPaneCancel"); + + } + return jButtonCancel; + } + + public void actionPerformed(ActionEvent arg0) { + if (arg0.getSource() == jButtonOk) { + // need reset FvBindings in ModuleSA. + ffc.removeFvBindingAll(title); + // + // collect module order information to store them into -> . + // also update the FvBinding info in . + // + Vector vModInFv = new Vector(); + for (int i = 0; i < jTableModInFv.getRowCount(); ++i) { + String moduleName = modInFvTableModel.getValueAt(i, 0)+""; + if (moduleName.length() == 0 || moduleName.equals("N/A")) { + continue; + } + + String mg = modInFvTableModel.getValueAt(i, 1)+""; + String mv = modInFvTableModel.getValueAt(i, 2)+""; + String pg = modInFvTableModel.getValueAt(i, 3)+""; + String pv = modInFvTableModel.getValueAt(i, 4)+""; + String arch = modInFvTableModel.getValueAt(i, 5)+""; + + String moduleInfo = mg + " " + mv + " " + pg + " " + pv + " " + arch; + + String[] sa = { mg, mv, pg, pv, arch}; + vModInFv.add(sa); + ffc.updateFvBindingInModuleSA(moduleInfo, title); + } - return jButtonCancel; + ffc.removeBuildOptionsUserExtensions(title, "IMAGES", 1); + ffc.genBuildOptionsUserExtensions(title, "IMAGES", "1", outputFileName, vModInFv); + } } -} // @jve:decl-index=0:visual-constraint="10,10" + /** + * @return Returns the fpdModTableModel. + */ + protected IDefaultTableModel getFpdModTableModel() { + return fpdModTableModel; + } + + /** + * @return Returns the modInFvTableModel. + */ + protected IDefaultTableModel getModInFvTableModel() { + return modInFvTableModel; + } +} + class FvOptsTableModel extends DefaultTableModel { @@ -3026,6 +3140,7 @@ class FvOptsTableModel extends DefaultTableModel { private Vector vKeyWords = new Vector(); public boolean isCellEditable(int row, int col) { + if (vNonEditableName.size() > 0 || vKeyWords.size() > 0) { if (vKeyWords.contains(getValueAt(row, 0))) { return false; @@ -3033,7 +3148,11 @@ class FvOptsTableModel extends DefaultTableModel { if (vNonEditableName.contains(getValueAt(row, 0)) && col == 0) { return false; } - } + } + + if (col == 0 && getValueAt(row, 0) != null && getValueAt(row, 0).toString().length() > 0) { + return false; + } return true; }