X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FFrameworkWizard%2Fsrc%2Forg%2Ftianocore%2Fframeworkwizard%2Fplatform%2Fui%2FFpdModuleSA.java;h=dea31877f586cac2b3d6c7cd0de4b09f636a97e7;hp=8cf23681c1e72421eefe98130e31dba40ceb501e;hb=a0783edc77ae576d8032461935362f43293bc467;hpb=73d9b1c494ac88a0e875a047fb3f11aa91e87c4d diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java index 8cf23681c1..dea31877f5 100644 --- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java +++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java @@ -123,7 +123,8 @@ public class FpdModuleSA extends JDialog implements ActionListener { private OpeningPlatformType docConsole = null; private JPanel jPanelCustomToolChain = null; private JPanel jPanelToolchainS = null; - private JPanel jPanelToolchainC = null; + private JPanel jPanelLibraryCenterN = null; + private JPanel jPanelLibraryCenterC = null; // @jve:decl-index=0:visual-constraint="20,224" /** * This is the default constructor */ @@ -420,19 +421,14 @@ public class FpdModuleSA extends JDialog implements ActionListener { libInstanceTableModel.setRowCount(0); } - private void addLibInstance (ModuleIdentification libMi) { + private void addLibInstance (ModuleIdentification libMi) throws Exception{ - ffc.genLibraryInstance(libMi, moduleKey); // // Add pcd information of selected instance to current moduleSA // - try{ - ffc.addFrameworkModulesPcdBuildDefs(libMi, null, ffc.getModuleSA(moduleKey)); - } - catch (Exception exception) { - JOptionPane.showMessageDialog(frame, "Adding Instance" + libMi.getName() + ": "+ exception.getMessage()); - } + ffc.addFrameworkModulesPcdBuildDefs(libMi, null, ffc.getModuleSA(moduleKey)); + ffc.genLibraryInstance(libMi, moduleKey); } /** * This method initializes this @@ -440,7 +436,7 @@ public class FpdModuleSA extends JDialog implements ActionListener { * @return void */ private void initialize() { - this.setSize(664, 515); + this.setSize(877, 555); this.setResizable(false); this.centerWindow(); this.setModal(true); @@ -488,7 +484,7 @@ public class FpdModuleSA extends JDialog implements ActionListener { private JPanel getJPanelPcd() { if (jPanelPcd == null) { jLabelPcdData = new JLabel(); - jLabelPcdData.setText("PcdData"); + jLabelPcdData.setText(" PCD Data"); jPanelPcd = new JPanel(); jPanelPcd.setLayout(new BorderLayout()); jPanelPcd.add(jLabelPcdData, java.awt.BorderLayout.NORTH); @@ -548,7 +544,7 @@ public class FpdModuleSA extends JDialog implements ActionListener { model = new IDefaultTableModel(); jTablePcd = new JTable(model); jTablePcd.setRowHeight(20); - jTablePcd.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF); + jTablePcd.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_ALL_COLUMNS); model.addColumn("CName"); model.addColumn("TokenSpaceGUID"); model.addColumn("ItemType"); @@ -573,17 +569,20 @@ public class FpdModuleSA extends JDialog implements ActionListener { String cName = model.getValueAt(selectedRow, 0)+""; String tsGuid = model.getValueAt(selectedRow, 1)+""; String itemType = model.getValueAt(selectedRow, 2)+""; - String[] pcdInfo = {"", ""}; + // + // array for pcd related information: helpText, itemType, moduleType. + // + String[] pcdInfo = {"", "", ""}; getPcdInfo(cName, tsGuid, pcdInfo); jTextAreaPcdHelp.setText(pcdInfo[0]); - initComboBox(pcdInfo[1]); + initComboBox(pcdInfo[1], pcdInfo[2]); jComboBoxItemType.setSelectedItem(itemType); jTextFieldMaxDatumSize.setEnabled(true); jTextFieldMaxDatumSize.setVisible(true); jTextFieldMaxDatumSize.setText(jTablePcd.getValueAt(selectedRow, 4)+""); jTextFieldPcdDefault.setEnabled(true); jTextFieldPcdDefault.setText(jTablePcd.getValueAt(selectedRow, 6)+""); - if (jTablePcd.getValueAt(selectedRow, 5).equals("VOID*")) { + if (model.getValueAt(selectedRow, 5).equals("VOID*")) { if (pcdInfo[1].equals("FEATURE_FLAG")) { jTextFieldMaxDatumSize.setVisible(false); } @@ -609,7 +608,7 @@ public class FpdModuleSA extends JDialog implements ActionListener { if (model.getValueAt(selectedRow, 2).equals("FEATURE_FLAG")){ jTextFieldPcdDefault.setVisible(false); jComboBoxFeatureFlagValue.setVisible(true); - jComboBoxFeatureFlagValue.setSelectedItem(jTablePcd.getValueAt(selectedRow, 6)+""); + jComboBoxFeatureFlagValue.setSelectedItem(model.getValueAt(selectedRow, 6)+""); } else{ jTextFieldPcdDefault.setVisible(true); @@ -630,10 +629,10 @@ public class FpdModuleSA extends JDialog implements ActionListener { return jTablePcd; } - private void initComboBox(String originalType) { + private void initComboBox(String originalType, String mType) { jComboBoxItemType.removeAllItems(); jComboBoxItemType.addItem(originalType); - if (originalType.equals("PATCHABLE_IN_MODULE")) { + if (originalType.equals("PATCHABLE_IN_MODULE") && mType.equalsIgnoreCase("false")) { jComboBoxItemType.addItem("FIXED_AT_BUILD"); } if (originalType.equals("DYNAMIC")) { @@ -780,7 +779,7 @@ public class FpdModuleSA extends JDialog implements ActionListener { private JScrollPane getJScrollPaneSelectedInstances() { if (jScrollPaneSelectedInstances == null) { jScrollPaneSelectedInstances = new JScrollPane(); - jScrollPaneSelectedInstances.setPreferredSize(new java.awt.Dimension(453,150)); + jScrollPaneSelectedInstances.setPreferredSize(new java.awt.Dimension(600,150)); jScrollPaneSelectedInstances.setViewportView(getJTableSelectedInstances()); } return jScrollPaneSelectedInstances; @@ -885,7 +884,7 @@ public class FpdModuleSA extends JDialog implements ActionListener { private JScrollPane getJScrollPaneQualifiedInstance() { if (jScrollPaneQualifiedInstance == null) { jScrollPaneQualifiedInstance = new JScrollPane(); - jScrollPaneQualifiedInstance.setPreferredSize(new java.awt.Dimension(430,170)); + jScrollPaneQualifiedInstance.setPreferredSize(new java.awt.Dimension(600,170)); jScrollPaneQualifiedInstance.setViewportView(getJTableLibInstances()); } return jScrollPaneQualifiedInstance; @@ -937,12 +936,11 @@ public class FpdModuleSA extends JDialog implements ActionListener { jLabelSelectedInstances = new JLabel(); jLabelSelectedInstances.setText("Selected Instances"); jPanelLibraryCenter = new JPanel(); - jPanelLibraryCenter.add(jLabelInstanceHelp, null); - jPanelLibraryCenter.add(getJScrollPaneInstanceHelp(), null); - jPanelLibraryCenter.add(getJButtonAdd(), null); - jPanelLibraryCenter.add(getJButtonDeleteInstance(), null); - jPanelLibraryCenter.add(jLabelSelectedInstances, null); - jPanelLibraryCenter.add(getJScrollPaneSelectedInstances(), null); + jPanelLibraryCenter.setLayout(new BorderLayout()); + + jPanelLibraryCenter.add(getJPanelLibraryCenterC(), java.awt.BorderLayout.CENTER); + jPanelLibraryCenter.add(getJPanelLibraryCenterN(), java.awt.BorderLayout.NORTH); + } return jPanelLibraryCenter; } @@ -955,7 +953,7 @@ public class FpdModuleSA extends JDialog implements ActionListener { private JScrollPane getJScrollPaneInstanceHelp() { if (jScrollPaneInstanceHelp == null) { jScrollPaneInstanceHelp = new JScrollPane(); - jScrollPaneInstanceHelp.setPreferredSize(new java.awt.Dimension(300,50)); + jScrollPaneInstanceHelp.setPreferredSize(new java.awt.Dimension(400,50)); jScrollPaneInstanceHelp.setViewportView(getJTextAreaInstanceHelp()); } return jScrollPaneInstanceHelp; @@ -990,17 +988,24 @@ public class FpdModuleSA extends JDialog implements ActionListener { if (row < 0) { return; } - docConsole.setSaved(false); - Object[] s = {libInstanceTableModel.getValueAt(row, 0), libInstanceTableModel.getValueAt(row, 1), - libInstanceTableModel.getValueAt(row, 2), libInstanceTableModel.getValueAt(row, 3), - libInstanceTableModel.getValueAt(row, 4)}; - selectedInstancesTableModel.addRow(s); + String instanceValue = libInstanceTableModel.getValueAt(row, 1) + " " + libInstanceTableModel.getValueAt(row, 2) + " " + libInstanceTableModel.getValueAt(row, 3) + " " + libInstanceTableModel.getValueAt(row, 4); ModuleIdentification libMi = WorkspaceProfile.getModuleId(instanceValue); - addLibInstance (libMi); + try { + addLibInstance (libMi); + } + catch (Exception exception) { + JOptionPane.showMessageDialog(frame, "Adding Instance" + libMi.getName() + ": "+ exception.getMessage()); + return; + } + docConsole.setSaved(false); + Object[] s = {libInstanceTableModel.getValueAt(row, 0), libInstanceTableModel.getValueAt(row, 1), + libInstanceTableModel.getValueAt(row, 2), libInstanceTableModel.getValueAt(row, 3), + libInstanceTableModel.getValueAt(row, 4)}; + selectedInstancesTableModel.addRow(s); resolveLibraryInstances(instanceValue); showClassToResolved(); } @@ -1120,7 +1125,8 @@ public class FpdModuleSA extends JDialog implements ActionListener { private JTextField getJTextFieldFvBinding() { if (jTextFieldFvBinding == null) { jTextFieldFvBinding = new JTextField(); - jTextFieldFvBinding.setPreferredSize(new java.awt.Dimension(150,20)); + jTextFieldFvBinding.setPreferredSize(new java.awt.Dimension(400,20)); + jTextFieldFvBinding.setEditable(false); jTextFieldFvBinding.addFocusListener(new java.awt.event.FocusAdapter() { public void focusLost(java.awt.event.FocusEvent e) { String originalFvBinding = ffc.getFvBinding(moduleKey); @@ -1453,14 +1459,14 @@ private JComboBox getJComboBoxItemType() { } if (jComboBoxItemType.getItemCount() == 3) { if (!jComboBoxItemType.getSelectedItem().equals("DYNAMIC")) { - pcdDynamicToNonDynamic(model.getValueAt(row, 0)+"", model.getValueAt(row, 1)+""); + if (jComboBoxItemType.getSelectedItem().equals("FIXED_AT_BUILD")) { jTextFieldPcdDefault.setText(""); jTextFieldPcdDefault.setEnabled(true); } } else{ - pcdNonDynamicToDynamic(model.getValueAt(row, 0)+"", model.getValueAt(row, 1)+""); + } } } @@ -1555,9 +1561,17 @@ private JButton getJButtonUpdatePcd() { return; } docConsole.setSaved(false); - model.setValueAt(jComboBoxItemType.getSelectedItem(), row, 2); + String oldItemType = model.getValueAt(row, 2)+""; + String newItemType = jComboBoxItemType.getSelectedItem()+""; + model.setValueAt(newItemType, row, 2); model.setValueAt(jTextFieldMaxDatumSize.getText(), row, 4); model.setValueAt(jTextFieldPcdDefault.isVisible()? jTextFieldPcdDefault.getText():jComboBoxFeatureFlagValue.getSelectedItem(), row, 6); + if (oldItemType.equals("DYNAMIC") && !newItemType.equals("DYNAMIC")) { + pcdDynamicToNonDynamic(model.getValueAt(row, 0)+"", model.getValueAt(row, 1)+""); + } + if (!oldItemType.equals("DYNAMIC") && newItemType.equals("DYNAMIC")) { + pcdNonDynamicToDynamic(model.getValueAt(row, 0)+"", model.getValueAt(row, 1)+""); + } ffc.updatePcdData(moduleKey, model.getValueAt(row, 0)+"", model.getValueAt(row, 1)+"", model.getValueAt(row, 2)+"", model.getValueAt(row, 4)+"", model.getValueAt(row, 6)+""); } }); @@ -1589,7 +1603,7 @@ private JPanel getJPanelCustomToolChain() { jPanelCustomToolChain = new JPanel(); jPanelCustomToolChain.setLayout(new BorderLayout()); jPanelCustomToolChain.add(getJPanelToolchainS(), java.awt.BorderLayout.SOUTH); - jPanelCustomToolChain.add(getJPanelToolchainC(), java.awt.BorderLayout.CENTER); + jPanelCustomToolChain.add(getJScrollPaneModuleSaOptions(), java.awt.BorderLayout.CENTER); jPanelCustomToolChain.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentShown(java.awt.event.ComponentEvent e) { initToolChainOptions(moduleKey); @@ -1611,17 +1625,38 @@ private JPanel getJPanelToolchainS() { } return jPanelToolchainS; } + +/** + * This method initializes jPanelLibraryCenterN + * + * @return javax.swing.JPanel + */ +private JPanel getJPanelLibraryCenterN() { + if (jPanelLibraryCenterN == null) { + FlowLayout flowLayout5 = new FlowLayout(); + flowLayout5.setAlignment(java.awt.FlowLayout.CENTER); + flowLayout5.setHgap(10); + jPanelLibraryCenterN = new JPanel(); + jPanelLibraryCenterN.setLayout(flowLayout5); + jPanelLibraryCenterN.add(jLabelInstanceHelp, null); + jPanelLibraryCenterN.add(getJScrollPaneInstanceHelp(), null); + jPanelLibraryCenterN.add(getJButtonAdd(), null); + jPanelLibraryCenterN.add(getJButtonDeleteInstance(), null); + } + return jPanelLibraryCenterN; +} /** - * This method initializes jPanelToolchainC + * This method initializes jPanelLibraryCenterC * * @return javax.swing.JPanel */ -private JPanel getJPanelToolchainC() { - if (jPanelToolchainC == null) { - jPanelToolchainC = new JPanel(); - jPanelToolchainC.add(getJScrollPaneModuleSaOptions(), null); +private JPanel getJPanelLibraryCenterC() { + if (jPanelLibraryCenterC == null) { + jPanelLibraryCenterC = new JPanel(); + jPanelLibraryCenterC.add(jLabelSelectedInstances, null); + jPanelLibraryCenterC.add(getJScrollPaneSelectedInstances(), null); } - return jPanelToolchainC; + return jPanelLibraryCenterC; }