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=daca39c657a03ef1c1c2edecd865e43fb9fd8bfb;hb=a0783edc77ae576d8032461935362f43293bc467;hpb=f3b0ed9a12ec287bb336b9672a0937667f1958ec 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 daca39c657..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 @@ -4,6 +4,7 @@ import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Toolkit; +import javax.swing.DefaultCellEditor; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; @@ -23,11 +24,14 @@ import javax.swing.event.TableModelListener; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; -import org.apache.xmlbeans.XmlObject; -import org.tianocore.frameworkwizard.platform.ui.global.GlobalData; +import org.tianocore.frameworkwizard.common.DataValidation; +import org.tianocore.frameworkwizard.common.GlobalData; +import org.tianocore.frameworkwizard.common.IDefaultTableModel; +import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType; +import org.tianocore.frameworkwizard.platform.ui.global.WorkspaceProfile; import org.tianocore.frameworkwizard.platform.ui.global.SurfaceAreaQuery; -import org.tianocore.frameworkwizard.platform.ui.id.ModuleIdentification; -import org.tianocore.frameworkwizard.platform.ui.id.PackageIdentification; +import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification; +import org.tianocore.frameworkwizard.packaging.PackageIdentification; import java.awt.FlowLayout; import java.awt.event.ActionEvent; @@ -36,11 +40,11 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.ListIterator; -import java.util.Map; -import java.util.Set; import java.util.Vector; import javax.swing.JTextField; +import java.awt.GridLayout; +import javax.swing.JComboBox; public class FpdModuleSA extends JDialog implements ActionListener { @@ -51,58 +55,76 @@ public class FpdModuleSA extends JDialog implements ActionListener { static JFrame frame; private JPanel jContentPane = null; private JTabbedPane jTabbedPane = null; - private JPanel jPanel = null; - private JPanel jPanel1 = null; - private JLabel jLabel = null; - private JScrollPane jScrollPane = null; - private JTable jTable = null; - private JPanel jPanel2 = null; - private JScrollPane jScrollPane1 = null; - private JTextArea jTextArea = null; - private JPanel jPanel3 = null; + private JPanel jPanelPcd = null; + private JPanel jPanelLibrary = null; + private JLabel jLabelPcdData = null; + private JScrollPane jScrollPaneTablePcd = null; + private JTable jTablePcd = null; + private JPanel jPanelPcdSouth = null; + private JScrollPane jScrollPanePcdHelp = null; + private JTextArea jTextAreaPcdHelp = null; + private JPanel jPanelContentPaneSouth = null; private JSplitPane jSplitPane = null; - private JPanel jPanel4 = null; - private JPanel jPanel5 = null; - private JLabel jLabel1 = null; - private JLabel jLabel2 = null; - private JScrollPane jScrollPane2 = null; - private JTable jTable1 = null; - private JScrollPane jScrollPane3 = null; - private JTable jTable2 = null; - private JScrollPane jScrollPane4 = null; - private JTable jTable3 = null; - private JPanel jPanel6 = null; - private JPanel jPanel7 = null; - private JScrollPane jScrollPane5 = null; - private JTextArea jTextArea1 = null; - private JLabel jLabel3 = null; - private JLabel jLabel4 = null; - private JButton jButton = null; - private JButton jButton1 = null; - private JLabel jLabel5 = null; - private JButton jButton2 = null; - private JButton jButton3 = null; - private PartialEditableTableModel model = null; - private LibraryTableModel model1 = null; - private LibraryTableModel model2 = null; - private LibraryTableModel model3 = null; + private JPanel jPanelLibraryLeft = null; + private JPanel jPanelLibraryRight = null; + private JLabel jLabelLibClass = null; + private JLabel jLabelQualifiedInstance = null; + private JScrollPane jScrollPaneSelectedInstances = null; + private JTable jTableSelectedInstances = null; + private JScrollPane jScrollPaneLibClass = null; + private JTable jTableLibClass = null; + private JScrollPane jScrollPaneQualifiedInstance = null; + private JTable jTableLibInstances = null; + private JPanel jPanelLibrarySouth = null; + private JPanel jPanelLibraryCenter = null; + private JScrollPane jScrollPaneInstanceHelp = null; + private JTextArea jTextAreaInstanceHelp = null; + private JLabel jLabelSelectedInstances = null; + private JLabel jLabelInstanceHelp = null; + private JButton jButtonAdd = null; + private JButton jButtonDeleteInstance = null; + private JLabel jLabelPcdHelp = null; + private JButton jButtonOk = null; + private JButton jButtonCancel = null; + private IDefaultTableModel model = null; + private IDefaultTableModel selectedInstancesTableModel = null; + private IDefaultTableModel libClassTableModel = null; + private IDefaultTableModel libInstanceTableModel = null; private DefaultTableModel optionsTableModel = null; private FpdFileContents ffc = null; private String moduleKey = null; + private int moduleSaNum = -1; private HashMap> classInstanceMap = null; private ArrayList classProduced = null; private HashMap> classConsumed = null; - private JPanel jPanel8 = null; - private JLabel jLabel6 = null; - private JTextField jTextField = null; - private JLabel jLabel7 = null; - private JTextField jTextField1 = null; - private JLabel jLabel8 = null; - private JTextField jTextField2 = null; - private JScrollPane jScrollPane6 = null; - private JTable jTable4 = null; - private JButton jButton4 = null; - private JButton jButton5 = null; + private JPanel jPanelModuleSaOpts = null; + private JLabel jLabelFvBinding = null; + private JTextField jTextFieldFvBinding = null; + private JLabel jLabelFfsFileGuid = null; + private JTextField jTextFieldFileGuid = null; + private JLabel jLabelFfsFormatKey = null; + private JTextField jTextFieldFfsKey = null; + private JScrollPane jScrollPaneModuleSaOptions = null; + private JTable jTableModuleSaOptions = null; + private JButton jButtonNew = null; + private JButton jButtonDeleteOption = null; + private JPanel jPanelPcdFields = null; + private JPanel jPanelPcdFieldsSecondRow = null; + private JPanel jPanelPcdFieldsThirdRow = null; + private JPanel jPanelPcdFieldsFirstRow = null; + private JLabel jLabelItemType = null; + private JComboBox jComboBoxItemType = null; + private JLabel jLabelMaxDatumSize = null; + private JTextField jTextFieldMaxDatumSize = null; + private JLabel jLabelPcdDefaultValue = null; + private JTextField jTextFieldPcdDefault = null; + private JButton jButtonUpdatePcd = null; + private JComboBox jComboBoxFeatureFlagValue = null; + private OpeningPlatformType docConsole = null; + private JPanel jPanelCustomToolChain = null; + private JPanel jPanelToolchainS = null; + private JPanel jPanelLibraryCenterN = null; + private JPanel jPanelLibraryCenterC = null; // @jve:decl-index=0:visual-constraint="20,224" /** * This is the default constructor */ @@ -115,111 +137,136 @@ public class FpdModuleSA extends JDialog implements ActionListener { this.ffc = ffc; } - public void setKey(String k){ + public void setKey(String k, int i, OpeningPlatformType dc){ this.moduleKey = k; + moduleSaNum = i; + this.docConsole = dc; + classProduced = null; + classConsumed = null; + jTabbedPane.setSelectedIndex(0); + initPcdBuildDefinition(i); } /** init will be called each time FpdModuleSA object is to be shown. @param key Module information. **/ - public void init(String key) { + public void initPcdBuildDefinition(int i) { // // display pcd for key. // model.setRowCount(0); - int pcdCount = ffc.getPcdDataCount(key); + jTextAreaPcdHelp.setText(""); + jComboBoxItemType.setSelectedIndex(-1); + jTextFieldMaxDatumSize.setText(""); + jTextFieldPcdDefault.setText(""); + int pcdCount = ffc.getPcdDataCount(i); if (pcdCount != 0) { - String[][] saa = new String[pcdCount][6]; - ffc.getPcdData(key, saa); - for (int i = 0; i < saa.length; ++i) { - model.addRow(saa[i]); + String[][] saa = new String[pcdCount][7]; + ffc.getPcdData(i, saa); + for (int j = 0; j < saa.length; ++j) { + model.addRow(saa[j]); } } - + } + + public void initLibraries(String key) { + // + // display library classes that need to be resolved. also potential instances for them. + // + resolveLibraryInstances(moduleKey); // // display lib instances already selected for key // - model1.setRowCount(0); + selectedInstancesTableModel.setRowCount(0); int instanceCount = ffc.getLibraryInstancesCount(key); if (instanceCount != 0) { String[][] saa = new String[instanceCount][5]; ffc.getLibraryInstances(key, saa); for (int i = 0; i < saa.length; ++i) { - if (getModuleId(saa[i][1] + " " + saa[i][2] + " " + saa[i][3] + " " + saa[i][4]) != null) { - saa[i][0] = getModuleId(saa[i][1] + " " + saa[i][2] + " " + saa[i][3] + " " + saa[i][4]).getName(); + ModuleIdentification mi = WorkspaceProfile.getModuleId(saa[i][1] + " " + saa[i][2] + " " + saa[i][3] + " " + saa[i][4]); + if (mi != null) { + saa[i][0] = mi.getName(); + saa[i][2] = mi.getVersion(); + saa[i][4] = mi.getPackageId().getVersion(); + // + // re-evaluate lib instance usage when adding a already-selected lib instance. + // + resolveLibraryInstances(saa[i][1] + " " + saa[i][2] + " " + saa[i][3] + " " + saa[i][4]); + selectedInstancesTableModel.addRow(saa[i]); } - - model1.addRow(saa[i]); } } - // - // display library classes that need to be resolved. also potential instances for them. - // - resolveLibraryInstances(key); + showClassToResolved(); + } + + public void initFvInfo (String key) { // // display module SA options // + jTextFieldFvBinding.setText(""); String fvBinding = ffc.getFvBinding(key); if (fvBinding != null) { - jTextField.setText(fvBinding); + jTextFieldFvBinding.setText(fvBinding); } + jTextFieldFileGuid.setText(""); String fileGuid = ffc.getFfsFileNameGuid(key); if (fileGuid != null) { - jTextField1.setText(fileGuid); + jTextFieldFileGuid.setText(fileGuid); } + jTextFieldFfsKey.setText(""); String ffsKey = ffc.getFfsFormatKey(key); if (ffsKey != null) { - jTextField2.setText(ffsKey); + jTextFieldFfsKey.setText(ffsKey); + } + } + + public void initToolChainOptions(String key) { + + optionsTableModel.setRowCount(0); + String[][] saa = new String[ffc.getModuleSAOptionsCount(key)][6]; + ffc.getModuleSAOptions(key, saa); + for (int i = 0; i < saa.length; ++i) { + optionsTableModel.addRow(saa[i]); } } private void resolveLibraryInstances(String key) { - ModuleIdentification mi = getModuleId(key); + ModuleIdentification mi = WorkspaceProfile.getModuleId(key); PackageIdentification[] depPkgList = null; try{ - Map m = GlobalData.getNativeMsa(mi); - SurfaceAreaQuery.setDoc(m); // // Get dependency pkg list into which we will search lib instances. // - depPkgList = SurfaceAreaQuery.getDependencePkg(null); + depPkgList = SurfaceAreaQuery.getDependencePkg(null, mi); // // Get the lib class consumed, produced by this module itself. // - String[] classConsumed = SurfaceAreaQuery.getLibraryClasses("ALWAYS_CONSUMED"); + Vector vClassConsumed = SurfaceAreaQuery.getLibraryClasses("ALWAYS_CONSUMED", mi); if (this.classConsumed == null) { this.classConsumed = new HashMap>(); } - for(int i = 0; i < classConsumed.length; ++i){ - ArrayList consumedBy = this.classConsumed.get(classConsumed[i]); + for(int i = 0; i < vClassConsumed.size(); ++i){ + ArrayList consumedBy = this.classConsumed.get(vClassConsumed.get(i)); if (consumedBy == null) { consumedBy = new ArrayList(); } consumedBy.add(key); - this.classConsumed.put(classConsumed[i], consumedBy); + this.classConsumed.put(vClassConsumed.get(i), consumedBy); } - String[] classProduced = SurfaceAreaQuery.getLibraryClasses("ALWAYS_PRODUCED"); + Vector vClassProduced = SurfaceAreaQuery.getLibraryClasses("ALWAYS_PRODUCED", mi); if (this.classProduced == null) { this.classProduced = new ArrayList(); } - for(int i = 0; i < classProduced.length; ++i){ - if (!this.classProduced.contains(classProduced[i])){ - this.classProduced.add(classProduced[i]); + for(int i = 0; i < vClassProduced.size(); ++i){ + if (!this.classProduced.contains(vClassProduced.get(i))){ + this.classProduced.add(vClassProduced.get(i)); } } - // - // Get classes unresolved - // -// Iterator lip = this.classProduced.listIterator(); -// while(lip.hasNext()){ -// String clsProduced = lip.next(); -// this.classConsumed.remove(clsProduced); -// -// } + // // find potential instances in all dependency pkgs for classes still in classConsumed. // @@ -241,7 +288,7 @@ public class FpdModuleSA extends JDialog implements ActionListener { } - showClassToResolved(); +// showClassToResolved(); } catch(Exception e) { e.printStackTrace(); @@ -251,12 +298,13 @@ public class FpdModuleSA extends JDialog implements ActionListener { private ArrayList getInstancesForClass(String cls, PackageIdentification[] depPkgList) throws Exception{ ArrayList al = new ArrayList(); - for (int i = 0; i < depPkgList.length; ++i) { - Set smi = GlobalData.getModules(depPkgList[i]); - Iterator ismi = smi.iterator(); +// for (int i = 0; i < depPkgList.length; ++i) { + Iterator ismi = GlobalData.vModuleList.iterator(); while(ismi.hasNext()) { ModuleIdentification mi = (ModuleIdentification)ismi.next(); - +// if (!mi.getPackageId().getGuid().equalsIgnoreCase(depPkgList[i].getGuid())) { +// continue; +// } String[] clsProduced = getClassProduced(mi); boolean isPotential = false; @@ -274,20 +322,20 @@ public class FpdModuleSA extends JDialog implements ActionListener { } if (isPotential) { al.add(mi.getGuid() + " " + mi.getVersion() + " " + - depPkgList[i].getGuid() + " " + depPkgList[i].getVersion()); + mi.getPackageId().getGuid() + " " + mi.getPackageId().getVersion()); } } - } +// } return al; } private void removeInstance(String key) { - ModuleIdentification mi = getModuleId(key); + ModuleIdentification mi = WorkspaceProfile.getModuleId(key); // // remove pcd information of instance from current ModuleSA // - ffc.removePcdDataFromLibraryInstance(moduleKey, key); + ffc.removePcdData(moduleKey, mi); // // remove class produced by this instance and add back these produced class to be bound. // @@ -318,38 +366,16 @@ public class FpdModuleSA extends JDialog implements ActionListener { } - private ModuleIdentification getModuleId(String key){ - // - // Get ModuleGuid, ModuleVersion, PackageGuid, PackageVersion into string array. - // - String[] keyPart = key.split(" "); - Set spi = GlobalData.getPackageList(); - Iterator ispi = spi.iterator(); - - while(ispi.hasNext()) { - PackageIdentification pi = (PackageIdentification)ispi.next(); - if ( !pi.getGuid().equals(keyPart[2]) || !pi.getVersion().equals(keyPart[3])){ - continue; - } - Set smi = GlobalData.getModules(pi); - Iterator ismi = smi.iterator(); - while(ismi.hasNext()) { - ModuleIdentification mi = (ModuleIdentification)ismi.next(); - if (mi.getGuid().equals(keyPart[0]) && mi.getVersion().equals(keyPart[1])){ - return mi; - } - } - } - return null; - } private String[] getClassProduced(ModuleIdentification mi){ try{ - Map m = GlobalData.getNativeMsa(mi); - SurfaceAreaQuery.setDoc(m); - String[] clsProduced = SurfaceAreaQuery.getLibraryClasses("ALWAYS_PRODUCED"); - return clsProduced; + Vector clsProduced = SurfaceAreaQuery.getLibraryClasses("ALWAYS_PRODUCED", mi); + String[] sClassProduced = new String[clsProduced.size()]; + for (int i = 0; i < clsProduced.size(); ++i) { + sClassProduced[i] = clsProduced.get(i); + } + return sClassProduced; }catch (Exception e) { e.printStackTrace(); @@ -360,20 +386,21 @@ public class FpdModuleSA extends JDialog implements ActionListener { private String[] getClassConsumed(ModuleIdentification mi){ - String[] clsConsumed = null; try{ - Map m = GlobalData.getNativeMsa(mi); - SurfaceAreaQuery.setDoc(m); - clsConsumed = SurfaceAreaQuery.getLibraryClasses("ALWAYS_CONSUMED"); - + Vector clsConsumed = SurfaceAreaQuery.getLibraryClasses("ALWAYS_CONSUMED", mi); + String[] sClassConsumed = new String[clsConsumed.size()]; + for (int i = 0; i < clsConsumed.size(); ++i) { + sClassConsumed[i] = clsConsumed.get(i); + } + return sClassConsumed; }catch (Exception e) { e.printStackTrace(); } - return clsConsumed; + return new String[0]; } private void showClassToResolved(){ - model2.setRowCount(0); + libClassTableModel.setRowCount(0); if (classConsumed.size() == 0) { return; } @@ -381,17 +408,27 @@ public class FpdModuleSA extends JDialog implements ActionListener { while(li.hasNext()){ String[] s = {li.next()}; - if (classConsumed.get(s[0]) == null) { - continue; - } - if (classConsumed.get(s[0]).size() == 0) { - continue; - } +// if (classConsumed.get(s[0]) == null) { +// continue; +// } +// if (classConsumed.get(s[0]).size() == 0) { +// continue; +// } if (!classProduced.contains(s[0])){ - model2.addRow(s); + libClassTableModel.addRow(s); } } - model3.setRowCount(0); + libInstanceTableModel.setRowCount(0); + } + + private void addLibInstance (ModuleIdentification libMi) throws Exception{ + + // + // Add pcd information of selected instance to current moduleSA + // + ffc.addFrameworkModulesPcdBuildDefs(libMi, null, ffc.getModuleSA(moduleKey)); + + ffc.genLibraryInstance(libMi, moduleKey); } /** * This method initializes this @@ -399,7 +436,8 @@ 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); this.setTitle("Module Settings"); @@ -416,7 +454,7 @@ public class FpdModuleSA extends JDialog implements ActionListener { jContentPane = new JPanel(); jContentPane.setLayout(new BorderLayout()); jContentPane.add(getJTabbedPane(), java.awt.BorderLayout.CENTER); - jContentPane.add(getJPanel3(), java.awt.BorderLayout.SOUTH); + jContentPane.add(getJPanelContentPaneSouth(), java.awt.BorderLayout.SOUTH); } return jContentPane; } @@ -429,68 +467,71 @@ public class FpdModuleSA extends JDialog implements ActionListener { private JTabbedPane getJTabbedPane() { if (jTabbedPane == null) { jTabbedPane = new JTabbedPane(); - jTabbedPane.addTab("PCD Build Definition", null, getJPanel(), null); - jTabbedPane.addTab("Module SA Options", null, getJPanel8(), null); - jTabbedPane.addTab("Libraries", null, getJPanel1(), null); + jTabbedPane.addTab("PCD Build Definition", null, getJPanelPcd(), null); + jTabbedPane.addTab("Libraries", null, getJPanelLibrary(), null); + jTabbedPane.addTab("FV Info", null, getJPanelModuleSaOpts(), null); + jTabbedPane.addTab("Custom Toolchain", null, getJPanelCustomToolChain(), null); + } return jTabbedPane; } /** - * This method initializes jPanel + * This method initializes jPanelPcd * * @return javax.swing.JPanel */ - private JPanel getJPanel() { - if (jPanel == null) { - jLabel = new JLabel(); - jLabel.setText("PcdData"); - jPanel = new JPanel(); - jPanel.setLayout(new BorderLayout()); - jPanel.add(jLabel, java.awt.BorderLayout.NORTH); - jPanel.add(getJScrollPane(), java.awt.BorderLayout.CENTER); - jPanel.add(getJPanel2(), java.awt.BorderLayout.SOUTH); - jPanel.addComponentListener(new java.awt.event.ComponentAdapter() { + private JPanel getJPanelPcd() { + if (jPanelPcd == null) { + jLabelPcdData = new JLabel(); + jLabelPcdData.setText(" PCD Data"); + jPanelPcd = new JPanel(); + jPanelPcd.setLayout(new BorderLayout()); + jPanelPcd.add(jLabelPcdData, java.awt.BorderLayout.NORTH); + jPanelPcd.add(getJScrollPaneTablePcd(), java.awt.BorderLayout.CENTER); + jPanelPcd.add(getJPanelPcdSouth(), java.awt.BorderLayout.SOUTH); + jPanelPcd.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentShown(java.awt.event.ComponentEvent e) { - init(moduleKey); + initPcdBuildDefinition(moduleSaNum); } }); } - return jPanel; + return jPanelPcd; } /** - * This method initializes jPanel1 + * This method initializes jPanelLibrary * * @return javax.swing.JPanel */ - private JPanel getJPanel1() { - if (jPanel1 == null) { - jPanel1 = new JPanel(); - jPanel1.setLayout(new BorderLayout()); - jPanel1.add(getJSplitPane(), java.awt.BorderLayout.NORTH); - jPanel1.add(getJPanel6(), java.awt.BorderLayout.SOUTH); - jPanel1.add(getJPanel7(), java.awt.BorderLayout.CENTER); - jPanel1.addComponentListener(new java.awt.event.ComponentAdapter() { + private JPanel getJPanelLibrary() { + if (jPanelLibrary == null) { + jPanelLibrary = new JPanel(); + jPanelLibrary.setLayout(new BorderLayout()); + jPanelLibrary.add(getJSplitPane(), java.awt.BorderLayout.NORTH); + jPanelLibrary.add(getJPanelLibrarySouth(), java.awt.BorderLayout.SOUTH); + jPanelLibrary.add(getJPanelLibraryCenter(), java.awt.BorderLayout.CENTER); + jPanelLibrary.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentShown(java.awt.event.ComponentEvent e) { + initLibraries(moduleKey); } }); } - return jPanel1; + return jPanelLibrary; } /** - * This method initializes jScrollPane + * This method initializes jScrollPaneTablePcd * * @return javax.swing.JScrollPane */ - private JScrollPane getJScrollPane() { - if (jScrollPane == null) { - jScrollPane = new JScrollPane(); - jScrollPane.setViewportView(getJTable()); + private JScrollPane getJScrollPaneTablePcd() { + if (jScrollPaneTablePcd == null) { + jScrollPaneTablePcd = new JScrollPane(); + jScrollPaneTablePcd.setViewportView(getJTablePcd()); } - return jScrollPane; + return jScrollPaneTablePcd; } /** @@ -498,20 +539,22 @@ public class FpdModuleSA extends JDialog implements ActionListener { * * @return javax.swing.JTable */ - private JTable getJTable() { - if (jTable == null) { - model = new PartialEditableTableModel(); - jTable = new JTable(model); - jTable.setRowHeight(20); + private JTable getJTablePcd() { + if (jTablePcd == null) { + model = new IDefaultTableModel(); + jTablePcd = new JTable(model); + jTablePcd.setRowHeight(20); + jTablePcd.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_ALL_COLUMNS); model.addColumn("CName"); model.addColumn("TokenSpaceGUID"); model.addColumn("ItemType"); model.addColumn("Token"); + model.addColumn("MaxDatumSize"); model.addColumn("DataType"); model.addColumn("DefaultValue"); - jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ + jTablePcd.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + jTablePcd.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ public void valueChanged(ListSelectionEvent e) { if (e.getValueIsAdjusting()){ @@ -522,92 +565,162 @@ public class FpdModuleSA extends JDialog implements ActionListener { return; } else{ -// int selectedRow = lsm.getMinSelectionIndex(); - - - } - } - }); - - jTable.getModel().addTableModelListener(new TableModelListener() { - public void tableChanged(TableModelEvent arg0) { - // TODO Auto-generated method stub - int row = arg0.getFirstRow(); - TableModel m = (TableModel)arg0.getSource(); - if (arg0.getType() == TableModelEvent.INSERT) { + int selectedRow = lsm.getMinSelectionIndex(); + String cName = model.getValueAt(selectedRow, 0)+""; + String tsGuid = model.getValueAt(selectedRow, 1)+""; + String itemType = model.getValueAt(selectedRow, 2)+""; // - // Set combo box values for item type according to pcd values added. + // array for pcd related information: helpText, itemType, moduleType. // + String[] pcdInfo = {"", "", ""}; + getPcdInfo(cName, tsGuid, pcdInfo); + jTextAreaPcdHelp.setText(pcdInfo[0]); + 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 (model.getValueAt(selectedRow, 5).equals("VOID*")) { + if (pcdInfo[1].equals("FEATURE_FLAG")) { + jTextFieldMaxDatumSize.setVisible(false); + } + else if (pcdInfo[1].equals("FIXED_AT_BUILD")) { + try{ + jTextFieldMaxDatumSize.setEnabled(false); + jTextFieldMaxDatumSize.setText(ffc.setMaxSizeForPointer(jTablePcd.getValueAt(selectedRow, 6)+"")+""); + } + catch(Exception except){ + JOptionPane.showMessageDialog(frame, "Unacceptable PCD Value: " + except.getMessage()); + } + } + else{ + jTextFieldMaxDatumSize.setText(jTablePcd.getValueAt(selectedRow, 4)+""); + } + } + else { + jTextFieldMaxDatumSize.setEnabled(false); + } + if (!model.getValueAt(selectedRow, 2).equals("DYNAMIC") && !model.getValueAt(selectedRow, 2).equals("DYNAMIC_EX")) { + jTextFieldPcdDefault.setText(model.getValueAt(selectedRow, 6)+""); + if (model.getValueAt(selectedRow, 2).equals("FEATURE_FLAG")){ + jTextFieldPcdDefault.setVisible(false); + jComboBoxFeatureFlagValue.setVisible(true); + jComboBoxFeatureFlagValue.setSelectedItem(model.getValueAt(selectedRow, 6)+""); + } + else{ + jTextFieldPcdDefault.setVisible(true); + jTextFieldPcdDefault.setEnabled(true); + jComboBoxFeatureFlagValue.setVisible(false); + } + } + else{ + jTextFieldPcdDefault.setEnabled(false); + } } - if (arg0.getType() == TableModelEvent.UPDATE){ - //ToDo Data Validition check. - - } + + } }); + + } + return jTablePcd; + } + + private void initComboBox(String originalType, String mType) { + jComboBoxItemType.removeAllItems(); + jComboBoxItemType.addItem(originalType); + if (originalType.equals("PATCHABLE_IN_MODULE") && mType.equalsIgnoreCase("false")) { + jComboBoxItemType.addItem("FIXED_AT_BUILD"); + } + if (originalType.equals("DYNAMIC")) { + jComboBoxItemType.addItem("FIXED_AT_BUILD"); + jComboBoxItemType.addItem("PATCHABLE_IN_MODULE"); + } + } + + private void getPcdInfo(String cName, String tsGuid, String[] sa) { + String[][] saa = new String[ffc.getLibraryInstancesCount(moduleKey)][5]; + ffc.getLibraryInstances(moduleKey, saa); + + try{ + if (ffc.getPcdBuildDataInfo(WorkspaceProfile.getModuleId(moduleKey), cName, tsGuid, sa)) { + return; + } + for (int j = 0; j < saa.length; ++j) { + if (ffc.getPcdBuildDataInfo(WorkspaceProfile.getModuleId(saa[j][1] + " " + saa[j][2] + " " + saa[j][3] + " " + saa[j][4]), + cName, tsGuid, sa)) { + return; + } + } + } + catch(Exception e) { + JOptionPane.showMessageDialog(this, "Get PCD details fail: " + e.getMessage()); } - return jTable; } /** - * This method initializes jPanel2 + * This method initializes jPanelPcdSouth * * @return javax.swing.JPanel */ - private JPanel getJPanel2() { - if (jPanel2 == null) { - jLabel5 = new JLabel(); - jLabel5.setText("PCD Description"); - jPanel2 = new JPanel(); - jPanel2.add(jLabel5, null); - jPanel2.add(getJScrollPane1(), null); + private JPanel getJPanelPcdSouth() { + if (jPanelPcdSouth == null) { + jLabelPcdHelp = new JLabel(); + jLabelPcdHelp.setText("PCD Description"); + jPanelPcdSouth = new JPanel(); + jPanelPcdSouth.setPreferredSize(new java.awt.Dimension(607,200)); + jPanelPcdSouth.add(jLabelPcdHelp, null); + jPanelPcdSouth.add(getJScrollPanePcdHelp(), null); + jPanelPcdSouth.add(getJPanelPcdFields(), null); } - return jPanel2; + return jPanelPcdSouth; } /** - * This method initializes jScrollPane1 + * This method initializes jScrollPanePcdHelp * * @return javax.swing.JScrollPane */ - private JScrollPane getJScrollPane1() { - if (jScrollPane1 == null) { - jScrollPane1 = new JScrollPane(); - jScrollPane1.setPreferredSize(new java.awt.Dimension(500,100)); - jScrollPane1.setViewportView(getJTextArea()); + private JScrollPane getJScrollPanePcdHelp() { + if (jScrollPanePcdHelp == null) { + jScrollPanePcdHelp = new JScrollPane(); + jScrollPanePcdHelp.setPreferredSize(new java.awt.Dimension(500,100)); + jScrollPanePcdHelp.setViewportView(getJTextAreaPcdHelp()); } - return jScrollPane1; + return jScrollPanePcdHelp; } /** - * This method initializes jTextArea + * This method initializes jTextAreaPcdHelp * * @return javax.swing.JTextArea */ - private JTextArea getJTextArea() { - if (jTextArea == null) { - jTextArea = new JTextArea(); - jTextArea.setEditable(false); + private JTextArea getJTextAreaPcdHelp() { + if (jTextAreaPcdHelp == null) { + jTextAreaPcdHelp = new JTextArea(); + jTextAreaPcdHelp.setEditable(false); } - return jTextArea; + return jTextAreaPcdHelp; } /** - * This method initializes jPanel3 + * This method initializes jPanelContentPaneSouth * * @return javax.swing.JPanel */ - private JPanel getJPanel3() { - if (jPanel3 == null) { + private JPanel getJPanelContentPaneSouth() { + if (jPanelContentPaneSouth == null) { FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(java.awt.FlowLayout.RIGHT); - jPanel3 = new JPanel(); - jPanel3.setLayout(flowLayout); - jPanel3.add(getJButton2(), null); - jPanel3.add(getJButton3(), null); + jPanelContentPaneSouth = new JPanel(); + jPanelContentPaneSouth.setLayout(flowLayout); + jPanelContentPaneSouth.add(getJButtonOk(), null); + jPanelContentPaneSouth.add(getJButtonCancel(), null); } - return jPanel3; + return jPanelContentPaneSouth; } /** @@ -619,126 +732,109 @@ public class FpdModuleSA extends JDialog implements ActionListener { if (jSplitPane == null) { jSplitPane = new JSplitPane(); jSplitPane.setDividerLocation(200); - jSplitPane.setLeftComponent(getJPanel4()); - jSplitPane.setRightComponent(getJPanel5()); + jSplitPane.setLeftComponent(getJPanelLibraryLeft()); + jSplitPane.setRightComponent(getJPanelLibraryRight()); jSplitPane.setPreferredSize(new java.awt.Dimension(202,200)); } return jSplitPane; } /** - * This method initializes jPanel4 + * This method initializes jPanelLibraryLeft * * @return javax.swing.JPanel */ - private JPanel getJPanel4() { - if (jPanel4 == null) { - jLabel1 = new JLabel(); - jLabel1.setText("Library Classes Consumed"); - jPanel4 = new JPanel(); - jPanel4.add(jLabel1, null); - jPanel4.add(getJScrollPane3(), null); + private JPanel getJPanelLibraryLeft() { + if (jPanelLibraryLeft == null) { + jLabelLibClass = new JLabel(); + jLabelLibClass.setText("Library Classes Uninstantiated"); + jPanelLibraryLeft = new JPanel(); + jPanelLibraryLeft.add(jLabelLibClass, null); + jPanelLibraryLeft.add(getJScrollPaneLibClass(), null); } - return jPanel4; + return jPanelLibraryLeft; } /** - * This method initializes jPanel5 + * This method initializes jPanelLibraryRight * * @return javax.swing.JPanel */ - private JPanel getJPanel5() { - if (jPanel5 == null) { - jLabel2 = new JLabel(); - jLabel2.setText("Instances Available"); - jPanel5 = new JPanel(); - jPanel5.add(jLabel2, null); - jPanel5.add(getJScrollPane4(), null); + private JPanel getJPanelLibraryRight() { + if (jPanelLibraryRight == null) { + jLabelQualifiedInstance = new JLabel(); + jLabelQualifiedInstance.setText("Instances Available"); + jPanelLibraryRight = new JPanel(); + jPanelLibraryRight.add(jLabelQualifiedInstance, null); + jPanelLibraryRight.add(getJScrollPaneQualifiedInstance(), null); } - return jPanel5; + return jPanelLibraryRight; } /** - * This method initializes jScrollPane2 + * This method initializes jScrollPaneSelectedInstances * * @return javax.swing.JScrollPane */ - private JScrollPane getJScrollPane2() { - if (jScrollPane2 == null) { - jScrollPane2 = new JScrollPane(); - jScrollPane2.setPreferredSize(new java.awt.Dimension(453,150)); - jScrollPane2.setViewportView(getJTable1()); + private JScrollPane getJScrollPaneSelectedInstances() { + if (jScrollPaneSelectedInstances == null) { + jScrollPaneSelectedInstances = new JScrollPane(); + jScrollPaneSelectedInstances.setPreferredSize(new java.awt.Dimension(600,150)); + jScrollPaneSelectedInstances.setViewportView(getJTableSelectedInstances()); } - return jScrollPane2; + return jScrollPaneSelectedInstances; } /** - * This method initializes jTable1 + * This method initializes jTableSelectedInstances * * @return javax.swing.JTable */ - private JTable getJTable1() { - if (jTable1 == null) { - model1 = new LibraryTableModel(); - model1.addColumn("Name"); - model1.addColumn("ModuleGUID"); - model1.addColumn("ModuleVersion"); - model1.addColumn("PackageGUID"); - model1.addColumn("PackageVersion"); - jTable1 = new JTable(model1); - jTable1.setRowHeight(20); - jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - jTable1.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ - public void valueChanged(ListSelectionEvent e) { - int selectedRow1 = -1; - if (e.getValueIsAdjusting()){ - return; - } - ListSelectionModel lsm = (ListSelectionModel)e.getSource(); - if (lsm.isSelectionEmpty()) { - return; - } - else{ - selectedRow1 = lsm.getMinSelectionIndex(); - - - } - } - }); - + private JTable getJTableSelectedInstances() { + if (jTableSelectedInstances == null) { + selectedInstancesTableModel = new IDefaultTableModel(); + selectedInstancesTableModel.addColumn("Name"); + selectedInstancesTableModel.addColumn("ModuleGUID"); + selectedInstancesTableModel.addColumn("ModuleVersion"); + selectedInstancesTableModel.addColumn("PackageGUID"); + selectedInstancesTableModel.addColumn("PackageVersion"); + jTableSelectedInstances = new JTable(selectedInstancesTableModel); + jTableSelectedInstances.setRowHeight(20); + jTableSelectedInstances.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS); + jTableSelectedInstances.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); } - return jTable1; + return jTableSelectedInstances; } /** - * This method initializes jScrollPane3 + * This method initializes jScrollPaneLibClass * * @return javax.swing.JScrollPane */ - private JScrollPane getJScrollPane3() { - if (jScrollPane3 == null) { - jScrollPane3 = new JScrollPane(); - jScrollPane3.setPreferredSize(new java.awt.Dimension(200,170)); - jScrollPane3.setViewportView(getJTable2()); + private JScrollPane getJScrollPaneLibClass() { + if (jScrollPaneLibClass == null) { + jScrollPaneLibClass = new JScrollPane(); + jScrollPaneLibClass.setPreferredSize(new java.awt.Dimension(200,170)); + jScrollPaneLibClass.setViewportView(getJTableLibClass()); } - return jScrollPane3; + return jScrollPaneLibClass; } /** - * This method initializes jTable2 + * This method initializes jTableLibClass * * @return javax.swing.JTable */ - private JTable getJTable2() { - if (jTable2 == null) { - model2 = new LibraryTableModel(); - model2.addColumn("LibraryClass"); - jTable2 = new JTable(model2); - jTable2.setRowHeight(20); - jTable2.setShowGrid(false); - jTable2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - jTable2.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ + private JTable getJTableLibClass() { + if (jTableLibClass == null) { + libClassTableModel = new IDefaultTableModel(); + libClassTableModel.addColumn("LibraryClass"); + jTableLibClass = new JTable(libClassTableModel); + jTableLibClass.setRowHeight(20); + jTableLibClass.setShowGrid(false); + jTableLibClass.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + jTableLibClass.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ public void valueChanged(ListSelectionEvent e) { if (e.getValueIsAdjusting()){ return; @@ -755,205 +851,197 @@ public class FpdModuleSA extends JDialog implements ActionListener { // // display potential lib instances according to class selection // - model3.setRowCount(0); - String cls = model2.getValueAt(selectedRow2, 0).toString(); + libInstanceTableModel.setRowCount(0); + String cls = libClassTableModel.getValueAt(selectedRow2, 0).toString(); ArrayList al = classInstanceMap.get(cls); ListIterator li = al.listIterator(); while(li.hasNext()) { String instance = li.next(); String[] s = {"", "", "", "", ""}; - if (getModuleId(instance) != null) { - s[0] = getModuleId(instance).getName(); + if (WorkspaceProfile.getModuleId(instance) != null) { + s[0] = WorkspaceProfile.getModuleId(instance).getName(); } String[] instancePart = instance.split(" "); for (int i = 0; i < instancePart.length; ++i){ s[i+1] = instancePart[i]; } - model3.addRow(s); + libInstanceTableModel.addRow(s); } } } }); } - return jTable2; + return jTableLibClass; } /** - * This method initializes jScrollPane4 + * This method initializes jScrollPaneQualifiedInstance * * @return javax.swing.JScrollPane */ - private JScrollPane getJScrollPane4() { - if (jScrollPane4 == null) { - jScrollPane4 = new JScrollPane(); - jScrollPane4.setPreferredSize(new java.awt.Dimension(450,170)); - jScrollPane4.setViewportView(getJTable3()); + private JScrollPane getJScrollPaneQualifiedInstance() { + if (jScrollPaneQualifiedInstance == null) { + jScrollPaneQualifiedInstance = new JScrollPane(); + jScrollPaneQualifiedInstance.setPreferredSize(new java.awt.Dimension(600,170)); + jScrollPaneQualifiedInstance.setViewportView(getJTableLibInstances()); } - return jScrollPane4; + return jScrollPaneQualifiedInstance; } /** - * This method initializes jTable3 + * This method initializes jTableLibInstances * * @return javax.swing.JTable */ - private JTable getJTable3() { - if (jTable3 == null) { - model3 = new LibraryTableModel(); - model3.addColumn("Name"); - model3.addColumn("ModuleGUID"); - model3.addColumn("ModuleVersion"); - model3.addColumn("PackageGUID"); - model3.addColumn("PackageVersion"); - jTable3 = new JTable(model3); - jTable3.setRowHeight(20); - jTable3.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - jTable3.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ - public void valueChanged(ListSelectionEvent e) { - int selectedRow3 = -1; - if (e.getValueIsAdjusting()){ - return; - } - ListSelectionModel lsm = (ListSelectionModel)e.getSource(); - if (lsm.isSelectionEmpty()) { - return; - } - else{ - selectedRow3 = lsm.getMinSelectionIndex(); - - - } - } - }); + private JTable getJTableLibInstances() { + if (jTableLibInstances == null) { + libInstanceTableModel = new IDefaultTableModel(); + libInstanceTableModel.addColumn("Name"); + libInstanceTableModel.addColumn("ModuleGUID"); + libInstanceTableModel.addColumn("ModuleVersion"); + libInstanceTableModel.addColumn("PackageGUID"); + libInstanceTableModel.addColumn("PackageVersion"); + jTableLibInstances = new JTable(libInstanceTableModel); + jTableLibInstances.setRowHeight(20); + jTableLibInstances.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS); + jTableLibInstances.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + } - return jTable3; + return jTableLibInstances; } /** - * This method initializes jPanel6 + * This method initializes jPanelLibrarySouth * * @return javax.swing.JPanel */ - private JPanel getJPanel6() { - if (jPanel6 == null) { - jPanel6 = new JPanel(); + private JPanel getJPanelLibrarySouth() { + if (jPanelLibrarySouth == null) { + jPanelLibrarySouth = new JPanel(); } - return jPanel6; + return jPanelLibrarySouth; } /** - * This method initializes jPanel7 + * This method initializes jPanelLibraryCenter * * @return javax.swing.JPanel */ - private JPanel getJPanel7() { - if (jPanel7 == null) { - jLabel4 = new JLabel(); - jLabel4.setText("Instance Description"); - jLabel3 = new JLabel(); - jLabel3.setText("Selected Instances"); - jPanel7 = new JPanel(); - jPanel7.add(jLabel4, null); - jPanel7.add(getJScrollPane5(), null); - jPanel7.add(getJButton(), null); - jPanel7.add(getJButton1(), null); - jPanel7.add(jLabel3, null); - jPanel7.add(getJScrollPane2(), null); + private JPanel getJPanelLibraryCenter() { + if (jPanelLibraryCenter == null) { + jLabelInstanceHelp = new JLabel(); + jLabelInstanceHelp.setText("Instance Description"); + jLabelSelectedInstances = new JLabel(); + jLabelSelectedInstances.setText("Selected Instances"); + jPanelLibraryCenter = new JPanel(); + jPanelLibraryCenter.setLayout(new BorderLayout()); + + jPanelLibraryCenter.add(getJPanelLibraryCenterC(), java.awt.BorderLayout.CENTER); + jPanelLibraryCenter.add(getJPanelLibraryCenterN(), java.awt.BorderLayout.NORTH); + } - return jPanel7; + return jPanelLibraryCenter; } /** - * This method initializes jScrollPane5 + * This method initializes jScrollPaneInstanceHelp * * @return javax.swing.JScrollPane */ - private JScrollPane getJScrollPane5() { - if (jScrollPane5 == null) { - jScrollPane5 = new JScrollPane(); - jScrollPane5.setPreferredSize(new java.awt.Dimension(300,50)); - jScrollPane5.setViewportView(getJTextArea1()); + private JScrollPane getJScrollPaneInstanceHelp() { + if (jScrollPaneInstanceHelp == null) { + jScrollPaneInstanceHelp = new JScrollPane(); + jScrollPaneInstanceHelp.setPreferredSize(new java.awt.Dimension(400,50)); + jScrollPaneInstanceHelp.setViewportView(getJTextAreaInstanceHelp()); } - return jScrollPane5; + return jScrollPaneInstanceHelp; } /** - * This method initializes jTextArea1 + * This method initializes jTextAreaInstanceHelp * * @return javax.swing.JTextArea */ - private JTextArea getJTextArea1() { - if (jTextArea1 == null) { - jTextArea1 = new JTextArea(); - jTextArea1.setEditable(false); + private JTextArea getJTextAreaInstanceHelp() { + if (jTextAreaInstanceHelp == null) { + jTextAreaInstanceHelp = new JTextArea(); + jTextAreaInstanceHelp.setEditable(false); } - return jTextArea1; + return jTextAreaInstanceHelp; } /** - * This method initializes jButton + * This method initializes jButtonAdd * * @return javax.swing.JButton */ - private JButton getJButton() { - if (jButton == null) { - jButton = new JButton(); - jButton.setPreferredSize(new java.awt.Dimension(80,20)); - jButton.setText("Add"); - jButton.addActionListener(new java.awt.event.ActionListener() { + private JButton getJButtonAdd() { + if (jButtonAdd == null) { + jButtonAdd = new JButton(); + jButtonAdd.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonAdd.setText("Add"); + jButtonAdd.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { - int row = jTable3.getSelectedRow(); + int row = jTableLibInstances.getSelectedRow(); if (row < 0) { return; } - Object[] s = {model3.getValueAt(row, 0), model3.getValueAt(row, 1), - model3.getValueAt(row, 2), model3.getValueAt(row, 3), - model3.getValueAt(row, 4)}; - model1.addRow(s); - String instanceValue = model3.getValueAt(row, 1) + " " + - model3.getValueAt(row, 2) + " " + - model3.getValueAt(row, 3) + " " + - model3.getValueAt(row, 4); - // - // Add pcd information of selected instance to current moduleSA - // - ffc.addFrameworkModulesPcdBuildDefs(getModuleId(instanceValue), ffc.getModuleSA(moduleKey)); + String instanceValue = libInstanceTableModel.getValueAt(row, 1) + " " + + libInstanceTableModel.getValueAt(row, 2) + " " + + libInstanceTableModel.getValueAt(row, 3) + " " + + libInstanceTableModel.getValueAt(row, 4); + ModuleIdentification libMi = WorkspaceProfile.getModuleId(instanceValue); + 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(); } }); } - return jButton; + return jButtonAdd; } /** - * This method initializes jButton1 + * This method initializes jButton1 * * @return javax.swing.JButton */ - private JButton getJButton1() { - if (jButton1 == null) { - jButton1 = new JButton(); - jButton1.setPreferredSize(new java.awt.Dimension(80,20)); - jButton1.setText("Delete"); - jButton1.addActionListener(new java.awt.event.ActionListener() { + private JButton getJButtonDeleteInstance() { + if (jButtonDeleteInstance == null) { + jButtonDeleteInstance = new JButton(); + jButtonDeleteInstance.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonDeleteInstance.setText("Delete"); + jButtonDeleteInstance.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { - int row = jTable1.getSelectedRow(); + int row = jTableSelectedInstances.getSelectedRow(); if (row < 0) { return; } - removeInstance(model1.getValueAt(row, 1) + " " + - model1.getValueAt(row, 2) + " " + - model1.getValueAt(row, 3) + " " + - model1.getValueAt(row, 4)); - model1.removeRow(row); + docConsole.setSaved(false); + removeInstance(selectedInstancesTableModel.getValueAt(row, 1) + " " + + selectedInstancesTableModel.getValueAt(row, 2) + " " + + selectedInstancesTableModel.getValueAt(row, 3) + " " + + selectedInstancesTableModel.getValueAt(row, 4)); + ffc.removeLibraryInstance(moduleKey, row); + selectedInstancesTableModel.removeRow(row); } }); } - return jButton1; + return jButtonDeleteInstance; } /** @@ -961,14 +1049,14 @@ public class FpdModuleSA extends JDialog implements ActionListener { * * @return javax.swing.JButton */ - private JButton getJButton2() { - if (jButton2 == null) { - jButton2 = new JButton(); - jButton2.setPreferredSize(new java.awt.Dimension(80,20)); - jButton2.setText("Ok"); - jButton2.addActionListener(this); + private JButton getJButtonOk() { + if (jButtonOk == null) { + jButtonOk = new JButton(); + jButtonOk.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonOk.setText("Ok"); + jButtonOk.addActionListener(this); } - return jButton2; + return jButtonOk; } /** @@ -976,126 +1064,172 @@ public class FpdModuleSA extends JDialog implements ActionListener { * * @return javax.swing.JButton */ - private JButton getJButton3() { - if (jButton3 == null) { - jButton3 = new JButton(); - jButton3.setPreferredSize(new java.awt.Dimension(80,20)); - jButton3.setText("Cancel"); - jButton3.setVisible(false); + private JButton getJButtonCancel() { + if (jButtonCancel == null) { + jButtonCancel = new JButton(); + jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonCancel.setText("Cancel"); + jButtonCancel.setVisible(false); } - return jButton3; + return jButtonCancel; } public void actionPerformed(ActionEvent arg0) { - if (arg0.getSource() == jButton2) { - ffc.removeLibraryInstances(moduleKey); - for (int i = 0; i < model1.getRowCount(); ++i) { - String mg = model1.getValueAt(i, 1)+""; - String mv = model1.getValueAt(i, 2)+""; - String pg = model1.getValueAt(i, 3)+""; - String pv = model1.getValueAt(i, 4)+""; - ffc.genLibraryInstance(mg, mv, pg, pv, moduleKey); + if (arg0.getSource() == jButtonOk) { + if (jTableModuleSaOptions.isEditing()) { + jTableModuleSaOptions.getCellEditor().stopCellEditing(); } this.setVisible(false); } } /** - * This method initializes jPanel8 + * This method initializes jPanelModuleSaOpts * * @return javax.swing.JPanel */ - private JPanel getJPanel8() { - if (jPanel8 == null) { - jLabel8 = new JLabel(); - jLabel8.setText("FFS Format Key"); - jLabel7 = new JLabel(); - jLabel7.setText("FFS File GUID"); - jLabel6 = new JLabel(); - jLabel6.setText("FV Binding"); - jPanel8 = new JPanel(); - jPanel8.add(jLabel6, null); - jPanel8.add(getJTextField(), null); - jPanel8.add(jLabel7, null); - jPanel8.add(getJTextField1(), null); - jPanel8.add(jLabel8, null); - jPanel8.add(getJTextField2(), null); - jPanel8.add(getJScrollPane6(), null); - jPanel8.add(getJButton4(), null); - jPanel8.add(getJButton5(), null); + private JPanel getJPanelModuleSaOpts() { + if (jPanelModuleSaOpts == null) { + FlowLayout flowLayout4 = new FlowLayout(); + flowLayout4.setAlignment(java.awt.FlowLayout.LEFT); + jLabelFfsFormatKey = new JLabel(); + jLabelFfsFormatKey.setText("FFS Format Key"); + jLabelFfsFormatKey.setPreferredSize(new java.awt.Dimension(90,16)); + jLabelFfsFileGuid = new JLabel(); + jLabelFfsFileGuid.setText("FFS File GUID"); + jLabelFfsFileGuid.setPreferredSize(new java.awt.Dimension(90,16)); + jLabelFfsFileGuid.setVisible(false); + jLabelFvBinding = new JLabel(); + jLabelFvBinding.setText("FV Binding"); + jLabelFvBinding.setPreferredSize(new java.awt.Dimension(90,16)); + jPanelModuleSaOpts = new JPanel(); + jPanelModuleSaOpts.setLayout(flowLayout4); + jPanelModuleSaOpts.add(jLabelFvBinding, null); + jPanelModuleSaOpts.add(getJTextFieldFvBinding(), null); + jPanelModuleSaOpts.add(jLabelFfsFileGuid, null); + jPanelModuleSaOpts.add(getJTextFieldFileGuid(), null); + jPanelModuleSaOpts.add(jLabelFfsFormatKey, null); + jPanelModuleSaOpts.add(getJTextFieldFfsKey(), null); + jPanelModuleSaOpts.addComponentListener(new java.awt.event.ComponentAdapter() { + public void componentShown(java.awt.event.ComponentEvent e) { + initFvInfo(moduleKey); + } + }); } - return jPanel8; + return jPanelModuleSaOpts; } /** * This method initializes jTextField * * @return javax.swing.JTextField */ - private JTextField getJTextField() { - if (jTextField == null) { - jTextField = new JTextField(); - jTextField.setPreferredSize(new java.awt.Dimension(100,20)); - jTextField.addFocusListener(new java.awt.event.FocusAdapter() { + private JTextField getJTextFieldFvBinding() { + if (jTextFieldFvBinding == null) { + jTextFieldFvBinding = new JTextField(); + 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) { - ffc.setFvBinding(moduleKey, jTextField.getText()); + String originalFvBinding = ffc.getFvBinding(moduleKey); + String newFvBinding = jTextFieldFvBinding.getText(); + if (newFvBinding.equals(originalFvBinding)) { + return; + } + if (newFvBinding.length() == 0 && originalFvBinding == null) { + return; + } + docConsole.setSaved(false); + ffc.setFvBinding(moduleKey, newFvBinding); } }); + } - return jTextField; + return jTextFieldFvBinding; } /** * This method initializes jTextField1 * * @return javax.swing.JTextField */ - private JTextField getJTextField1() { - if (jTextField1 == null) { - jTextField1 = new JTextField(); - jTextField1.setPreferredSize(new java.awt.Dimension(100,20)); - jTextField1.addFocusListener(new java.awt.event.FocusAdapter() { + private JTextField getJTextFieldFileGuid() { + if (jTextFieldFileGuid == null) { + jTextFieldFileGuid = new JTextField(); + jTextFieldFileGuid.setPreferredSize(new java.awt.Dimension(300,20)); + jTextFieldFileGuid.setVisible(false); + jTextFieldFileGuid.addFocusListener(new java.awt.event.FocusAdapter() { public void focusLost(java.awt.event.FocusEvent e) { - ffc.setFfsFileNameGuid(moduleKey, jTextField1.getText()); + String originalFileGuid = ffc.getFfsFileNameGuid(moduleKey); + String newFileGuid = jTextFieldFileGuid.getText(); + if (newFileGuid.equals(originalFileGuid)) { + return; + } + if (newFileGuid.length() == 0 && originalFileGuid == null) { + return; + } + if (newFileGuid.length() > 0) { + if (!DataValidation.isGuid(newFileGuid)) { + JOptionPane.showMessageDialog(frame, "FFS File Guid is NOT GUID Type."); + return; + } + } + + docConsole.setSaved(false); + if (newFileGuid.length() == 0) { + newFileGuid = null; + } + ffc.setFfsFileNameGuid(moduleKey, newFileGuid); } }); + } - return jTextField1; + return jTextFieldFileGuid; } /** - * This method initializes jTextField2 + * This method initializes jTextFieldFfsKey * * @return javax.swing.JTextField */ - private JTextField getJTextField2() { - if (jTextField2 == null) { - jTextField2 = new JTextField(); - jTextField2.setPreferredSize(new java.awt.Dimension(100,20)); - jTextField2.addFocusListener(new java.awt.event.FocusAdapter() { + private JTextField getJTextFieldFfsKey() { + if (jTextFieldFfsKey == null) { + jTextFieldFfsKey = new JTextField(); + jTextFieldFfsKey.setPreferredSize(new java.awt.Dimension(250,20)); + jTextFieldFfsKey.addFocusListener(new java.awt.event.FocusAdapter() { public void focusLost(java.awt.event.FocusEvent e) { - ffc.setFfsFormatKey(moduleKey, jTextField2.getText()); + String originalFfsKey = ffc.getFfsFormatKey(moduleKey); + String newFfsKey = jTextFieldFfsKey.getText(); + if (newFfsKey.equals(originalFfsKey)) { + return; + } + if (newFfsKey.length() == 0 && originalFfsKey == null) { + return; + } + docConsole.setSaved(false); + ffc.setFfsFormatKey(moduleKey, newFfsKey); } }); + } - return jTextField2; + return jTextFieldFfsKey; } /** - * This method initializes jScrollPane6 + * This method initializes jScrollPaneModuleSaOptions * * @return javax.swing.JScrollPane */ - private JScrollPane getJScrollPane6() { - if (jScrollPane6 == null) { - jScrollPane6 = new JScrollPane(); - jScrollPane6.setPreferredSize(new java.awt.Dimension(600,200)); - jScrollPane6.setViewportView(getJTable4()); + private JScrollPane getJScrollPaneModuleSaOptions() { + if (jScrollPaneModuleSaOptions == null) { + jScrollPaneModuleSaOptions = new JScrollPane(); + jScrollPaneModuleSaOptions.setPreferredSize(new java.awt.Dimension(600,350)); + jScrollPaneModuleSaOptions.setViewportView(getJTableModuleSaOptions()); } - return jScrollPane6; + return jScrollPaneModuleSaOptions; } /** - * This method initializes jTable4 + * This method initializes jTableModuleSaOptions * * @return javax.swing.JTable */ - private JTable getJTable4() { - if (jTable4 == null) { + private JTable getJTableModuleSaOptions() { + if (jTableModuleSaOptions == null) { optionsTableModel = new DefaultTableModel(); optionsTableModel.addColumn("BuildTargets"); optionsTableModel.addColumn("ToolChainFamily"); @@ -1103,8 +1237,18 @@ public class FpdModuleSA extends JDialog implements ActionListener { optionsTableModel.addColumn("ToolCode"); optionsTableModel.addColumn("SupportedArchs"); optionsTableModel.addColumn("Contents"); - jTable4 = new JTable(optionsTableModel); - jTable4.setRowHeight(20); + jTableModuleSaOptions = new JTable(optionsTableModel); + jTableModuleSaOptions.setRowHeight(20); + + javax.swing.table.TableColumn toolFamilyCol = jTableModuleSaOptions.getColumnModel().getColumn(1); + JComboBox cb = new JComboBox(); + cb.addItem("MSFT"); + cb.addItem("GCC"); + cb.addItem("CYGWIN"); + cb.addItem("INTEL"); + cb.addItem("USER_DEFINED"); + toolFamilyCol.setCellEditor(new DefaultCellEditor(cb)); + Vector vArch = new Vector(); vArch.add("IA32"); vArch.add("X64"); @@ -1112,9 +1256,13 @@ public class FpdModuleSA extends JDialog implements ActionListener { vArch.add("EBC"); vArch.add("ARM"); vArch.add("PPC"); - jTable4.getColumnModel().getColumn(4).setCellEditor(new ListEditor(vArch)); - jTable4.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - jTable4.getModel().addTableModelListener(new TableModelListener() { + jTableModuleSaOptions.getColumnModel().getColumn(4).setCellEditor(new ListEditor(vArch)); + + jTableModuleSaOptions.getColumnModel().getColumn(5).setCellEditor(new LongTextEditor()); + + jTableModuleSaOptions.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + jTableModuleSaOptions.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF); + jTableModuleSaOptions.getModel().addTableModelListener(new TableModelListener() { public void tableChanged(TableModelEvent arg0) { // TODO Auto-generated method stub int row = arg0.getFirstRow(); @@ -1146,59 +1294,59 @@ public class FpdModuleSA extends JDialog implements ActionListener { } String contents = m.getValueAt(row, 5) + ""; - + docConsole.setSaved(false); ffc.updateModuleSAOptionsOpt(moduleKey, row, targetName, toolChain, tagName, toolCode, supArch, contents); } } }); } - return jTable4; + return jTableModuleSaOptions; } /** - * This method initializes jButton4 + * This method initializes jButtonNew * * @return javax.swing.JButton */ - private JButton getJButton4() { - if (jButton4 == null) { - jButton4 = new JButton(); - jButton4.setPreferredSize(new java.awt.Dimension(80,20)); - jButton4.setText("New"); - jButton4.addActionListener(new java.awt.event.ActionListener() { + private JButton getJButtonNew() { + if (jButtonNew == null) { + jButtonNew = new JButton(); + jButtonNew.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonNew.setText("New"); + jButtonNew.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { - String[] row = {"", "", "", "", "IA32", ""}; + String[] row = {"", "", "", "", "", ""}; optionsTableModel.addRow(row); Vector v = new Vector(); - Vector v1 = new Vector(); - v1.add("IA32"); + Vector v1 = null; + docConsole.setSaved(false); ffc.genModuleSAOptionsOpt(moduleKey, v, "", "", "", v1, ""); } }); } - return jButton4; + return jButtonNew; } /** - * This method initializes jButton5 + * This method initializes jButtonDelete * * @return javax.swing.JButton */ - private JButton getJButton5() { - if (jButton5 == null) { - jButton5 = new JButton(); - jButton5.setPreferredSize(new java.awt.Dimension(80,20)); - jButton5.setText("Delete"); - jButton5.addActionListener(new java.awt.event.ActionListener() { + private JButton getJButtonDeleteOption() { + if (jButtonDeleteOption == null) { + jButtonDeleteOption = new JButton(); + jButtonDeleteOption.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonDeleteOption.setText("Delete"); + jButtonDeleteOption.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { - if (jTable4.getSelectedRow() < 0) { + if (jTableModuleSaOptions.getSelectedRow() < 0) { return; } - - ffc.removeModuleSAOptionsOpt(moduleKey, jTable4.getSelectedRow()); - optionsTableModel.removeRow(jTable4.getSelectedRow()); + docConsole.setSaved(false); + ffc.removeModuleSAOptionsOpt(moduleKey, jTableModuleSaOptions.getSelectedRow()); + optionsTableModel.removeRow(jTableModuleSaOptions.getSelectedRow()); } }); } - return jButton5; + return jButtonDeleteOption; } /** @@ -1217,34 +1365,299 @@ public class FpdModuleSA extends JDialog implements ActionListener { protected void centerWindow() { centerWindow(this.getSize().width, this.getSize().height); } +/** + * This method initializes jPanelPcdFields + * + * @return javax.swing.JPanel + */ +private JPanel getJPanelPcdFields() { + if (jPanelPcdFields == null) { + GridLayout gridLayout = new GridLayout(); + gridLayout.setRows(3); + gridLayout.setColumns(2); + jPanelPcdFields = new JPanel(); + jPanelPcdFields.setLayout(gridLayout); + jPanelPcdFields.setPreferredSize(new java.awt.Dimension(600,90)); + jPanelPcdFields.add(getJPanelPcdFieldsFirstRow(), null); + jPanelPcdFields.add(getJPanelPcdFieldsSecondRow(), null); + jPanelPcdFields.add(getJPanelPcdFieldsThirdRow(), null); + } + return jPanelPcdFields; +} +/** + * This method initializes jPanelPcdFieldsSecondRow + * + * @return javax.swing.JPanel + */ +private JPanel getJPanelPcdFieldsSecondRow() { + if (jPanelPcdFieldsSecondRow == null) { + FlowLayout flowLayout2 = new FlowLayout(); + flowLayout2.setAlignment(java.awt.FlowLayout.LEFT); + jLabelMaxDatumSize = new JLabel(); + jLabelMaxDatumSize.setText("Max Datum Size"); + jPanelPcdFieldsSecondRow = new JPanel(); + jPanelPcdFieldsSecondRow.setLayout(flowLayout2); + jPanelPcdFieldsSecondRow.add(jLabelMaxDatumSize, null); + jPanelPcdFieldsSecondRow.add(getJTextFieldMaxDatumSize(), null); + } + return jPanelPcdFieldsSecondRow; +} +/** + * This method initializes jPanelPcdFieldsThirdRow + * + * @return javax.swing.JPanel + */ +private JPanel getJPanelPcdFieldsThirdRow() { + if (jPanelPcdFieldsThirdRow == null) { + FlowLayout flowLayout3 = new FlowLayout(); + flowLayout3.setAlignment(java.awt.FlowLayout.LEFT); + jLabelPcdDefaultValue = new JLabel(); + jLabelPcdDefaultValue.setText("Default Value"); + jLabelPcdDefaultValue.setPreferredSize(new java.awt.Dimension(91,16)); + jPanelPcdFieldsThirdRow = new JPanel(); + jPanelPcdFieldsThirdRow.setLayout(flowLayout3); + jPanelPcdFieldsThirdRow.add(jLabelPcdDefaultValue, null); + jPanelPcdFieldsThirdRow.add(getJTextFieldPcdDefault(), null); + jPanelPcdFieldsThirdRow.add(getJComboBoxFeatureFlagValue(), null); + jPanelPcdFieldsThirdRow.add(getJButtonUpdatePcd(), null); + } + return jPanelPcdFieldsThirdRow; +} +/** + * This method initializes jPanelPcdFieldsFirstRow + * + * @return javax.swing.JPanel + */ +private JPanel getJPanelPcdFieldsFirstRow() { + if (jPanelPcdFieldsFirstRow == null) { + FlowLayout flowLayout1 = new FlowLayout(); + flowLayout1.setAlignment(java.awt.FlowLayout.LEFT); + jLabelItemType = new JLabel(); + jLabelItemType.setText("Item Type"); + jLabelItemType.setPreferredSize(new java.awt.Dimension(91,16)); + jPanelPcdFieldsFirstRow = new JPanel(); + jPanelPcdFieldsFirstRow.setLayout(flowLayout1); + jPanelPcdFieldsFirstRow.add(jLabelItemType, null); + jPanelPcdFieldsFirstRow.add(getJComboBoxItemType(), null); + } + return jPanelPcdFieldsFirstRow; +} +/** + * This method initializes jComboBoxItemType + * + * @return javax.swing.JComboBox + */ +private JComboBox getJComboBoxItemType() { + if (jComboBoxItemType == null) { + jComboBoxItemType = new JComboBox(); + jComboBoxItemType.setPreferredSize(new java.awt.Dimension(200,20)); + jComboBoxItemType.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent e) { + int row = jTablePcd.getSelectedRow(); + if (row < 0 || model.getValueAt(row, 2).equals(jComboBoxItemType.getSelectedItem())) { + return; + } + if (jComboBoxItemType.getItemCount() == 3) { + if (!jComboBoxItemType.getSelectedItem().equals("DYNAMIC")) { + + if (jComboBoxItemType.getSelectedItem().equals("FIXED_AT_BUILD")) { + jTextFieldPcdDefault.setText(""); + jTextFieldPcdDefault.setEnabled(true); + } + } + else{ + + } + } + } + }); + } + return jComboBoxItemType; +} +private void pcdDynamicToNonDynamic(String cName, String tsGuid) { + String[][] saa = new String[ffc.getDynamicPcdBuildDataCount()][5]; + ffc.getDynamicPcdBuildData(saa); + String maxSize = ""; + String value = ""; + for (int i = 0; i < saa.length; ++i) { + if (saa[i][0].equals(cName) && saa[i][2].equals(tsGuid)) { + maxSize = saa[i][3]; + value = ffc.getDynamicPcdBuildDataValue(i); + break; + } + } + + ArrayList al = ffc.getDynPcdMapValue(cName + " " + tsGuid); + for (int i = 0; i < al.size(); ++i) { + String mKey = moduleInfo (al.get(i)); + ffc.updatePcdData(mKey, cName, tsGuid, jComboBoxItemType.getSelectedItem()+"", maxSize, value); + String itemType = jComboBoxItemType.getSelectedItem()+""; + al.set(i, mKey + " " + itemType); + } + + ffc.removeDynamicPcdBuildData(cName, tsGuid); +} -} // @jve:decl-index=0:visual-constraint="10,10" +private void pcdNonDynamicToDynamic(String cName, String tsGuid) { + ArrayList al = ffc.getDynPcdMapValue(cName + " " + tsGuid); + for (int i = 0; i < al.size(); ++i) { + String mKey = moduleInfo (al.get(i)); + ffc.updatePcdData(mKey, cName, tsGuid, jComboBoxItemType.getSelectedItem()+"", jTextFieldMaxDatumSize.getText(), jTextFieldPcdDefault.isVisible() ? jTextFieldPcdDefault.getText() : jComboBoxFeatureFlagValue.getSelectedItem()+""); + String itemType = jComboBoxItemType.getSelectedItem()+""; + al.set(i, mKey + " " + itemType); + } + try{ + ffc.addDynamicPcdBuildData(cName, jTablePcd.getValueAt(jTablePcd.getSelectedRow(), 3), tsGuid, "DYNAMIC", jTablePcd.getValueAt(jTablePcd.getSelectedRow(), 5)+"", jTextFieldPcdDefault.isVisible() ? jTextFieldPcdDefault.getText() : jComboBoxFeatureFlagValue.getSelectedItem()+""); + } + catch(Exception e){ + JOptionPane.showMessageDialog(frame, "PCD value format: " + e.getMessage()); + } +} -class PartialEditableTableModel extends DefaultTableModel { - /** - * - */ - private static final long serialVersionUID = 1L; +private String moduleInfo (String pcdInfo) { + + return pcdInfo.substring(0, pcdInfo.lastIndexOf(" ")); +} - public boolean isCellEditable(int row, int col) { - switch (col){ - case 2: - return true; - default: - return false; - } - +/** + * This method initializes jTextFieldMaxDatumSize + * + * @return javax.swing.JTextField + */ +private JTextField getJTextFieldMaxDatumSize() { + if (jTextFieldMaxDatumSize == null) { + jTextFieldMaxDatumSize = new JTextField(); + jTextFieldMaxDatumSize.setPreferredSize(new java.awt.Dimension(200,20)); } + return jTextFieldMaxDatumSize; +} +/** + * This method initializes jTextField4 + * + * @return javax.swing.JTextField + */ +private JTextField getJTextFieldPcdDefault() { + if (jTextFieldPcdDefault == null) { + jTextFieldPcdDefault = new JTextField(); + jTextFieldPcdDefault.setPreferredSize(new java.awt.Dimension(200,20)); + } + return jTextFieldPcdDefault; +} +/** + * This method initializes jButton6 + * + * @return javax.swing.JButton + */ +private JButton getJButtonUpdatePcd() { + if (jButtonUpdatePcd == null) { + jButtonUpdatePcd = new JButton(); + jButtonUpdatePcd.setPreferredSize(new java.awt.Dimension(150,20)); + jButtonUpdatePcd.setText("Update PCD Data"); + jButtonUpdatePcd.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + int row = jTablePcd.getSelectedRow(); + if (row < 0) { + return; + } + docConsole.setSaved(false); + 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)+""); + } + }); + } + return jButtonUpdatePcd; +} +/** + * This method initializes jComboBoxFeatureFlagValue + * + * @return javax.swing.JComboBox + */ +private JComboBox getJComboBoxFeatureFlagValue() { + if (jComboBoxFeatureFlagValue == null) { + jComboBoxFeatureFlagValue = new JComboBox(); + jComboBoxFeatureFlagValue.setPreferredSize(new java.awt.Dimension(100,20)); + jComboBoxFeatureFlagValue.setVisible(false); + jComboBoxFeatureFlagValue.addItem("TRUE"); + jComboBoxFeatureFlagValue.addItem("FALSE"); + } + return jComboBoxFeatureFlagValue; +} +/** + * This method initializes jPanelCustomToolChain + * + * @return javax.swing.JPanel + */ +private JPanel getJPanelCustomToolChain() { + if (jPanelCustomToolChain == null) { + jPanelCustomToolChain = new JPanel(); + jPanelCustomToolChain.setLayout(new BorderLayout()); + jPanelCustomToolChain.add(getJPanelToolchainS(), java.awt.BorderLayout.SOUTH); + jPanelCustomToolChain.add(getJScrollPaneModuleSaOptions(), java.awt.BorderLayout.CENTER); + jPanelCustomToolChain.addComponentListener(new java.awt.event.ComponentAdapter() { + public void componentShown(java.awt.event.ComponentEvent e) { + initToolChainOptions(moduleKey); + } + }); + } + return jPanelCustomToolChain; +} +/** + * This method initializes jPanelToolchainS + * + * @return javax.swing.JPanel + */ +private JPanel getJPanelToolchainS() { + if (jPanelToolchainS == null) { + jPanelToolchainS = new JPanel(); + jPanelToolchainS.add(getJButtonNew(), null); + jPanelToolchainS.add(getJButtonDeleteOption(), null); + } + return jPanelToolchainS; } -class LibraryTableModel extends DefaultTableModel { - /** - * - */ - private static final long serialVersionUID = 1L; - - public boolean isCellEditable(int row, int col) { - return false; +/** + * 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 jPanelLibraryCenterC + * + * @return javax.swing.JPanel + */ +private JPanel getJPanelLibraryCenterC() { + if (jPanelLibraryCenterC == null) { + jPanelLibraryCenterC = new JPanel(); + jPanelLibraryCenterC.add(jLabelSelectedInstances, null); + jPanelLibraryCenterC.add(getJScrollPaneSelectedInstances(), null); } + return jPanelLibraryCenterC; } + + +} // @jve:decl-index=0:visual-constraint="10,10"