package org.tianocore.frameworkwizard.platform.ui;\r
\r
import java.awt.BorderLayout;\r
+import java.awt.Dimension;\r
+import java.awt.Toolkit;\r
\r
import javax.swing.JFrame;\r
import javax.swing.JOptionPane;\r
model.setRowCount(0);\r
int pcdCount = ffc.getPcdDataCount(key);\r
if (pcdCount != 0) {\r
- String[][] saa = new String[pcdCount][6];\r
+ String[][] saa = new String[pcdCount][7];\r
ffc.getPcdData(key, saa);\r
for (int i = 0; i < saa.length; ++i) {\r
model.addRow(saa[i]);\r
}\r
}\r
- \r
+ //\r
+ // display library classes that need to be resolved. also potential instances for them.\r
+ //\r
+ resolveLibraryInstances(key);\r
//\r
// display lib instances already selected for key\r
//\r
String[][] saa = new String[instanceCount][5];\r
ffc.getLibraryInstances(key, saa);\r
for (int i = 0; i < saa.length; ++i) {\r
- if (getModuleId(saa[i][1] + " " + saa[i][2] + " " + saa[i][3] + " " + saa[i][4]) != null) {\r
- saa[i][0] = getModuleId(saa[i][1] + " " + saa[i][2] + " " + saa[i][3] + " " + saa[i][4]).getName();\r
+ ModuleIdentification mi = getModuleId(saa[i][1] + " " + saa[i][2] + " " + saa[i][3] + " " + saa[i][4]);\r
+ if (mi != null) {\r
+ saa[i][0] = mi.getName();\r
+ saa[i][2] = mi.getVersion();\r
+ saa[i][4] = mi.getPackage().getVersion();\r
+ //\r
+ // re-evaluate lib instance usage when adding a already-selected lib instance.\r
+ //\r
+ resolveLibraryInstances(saa[i][1] + " " + saa[i][2] + " " + saa[i][3] + " " + saa[i][4]);\r
+ model1.addRow(saa[i]);\r
}\r
\r
- model1.addRow(saa[i]);\r
+ \r
}\r
}\r
- //\r
- // display library classes that need to be resolved. also potential instances for them.\r
- //\r
- resolveLibraryInstances(key);\r
+ \r
//\r
// display module SA options\r
//\r
\r
while(ispi.hasNext()) {\r
PackageIdentification pi = (PackageIdentification)ispi.next();\r
- if ( !pi.getGuid().equals(keyPart[2]) || !pi.getVersion().equals(keyPart[3])){\r
+ if ( !pi.getGuid().equals(keyPart[2])){\r
+// || !pi.getVersion().equals(keyPart[3])){\r
continue;\r
}\r
Set<ModuleIdentification> smi = GlobalData.getModules(pi);\r
Iterator ismi = smi.iterator();\r
while(ismi.hasNext()) {\r
ModuleIdentification mi = (ModuleIdentification)ismi.next();\r
- if (mi.getGuid().equals(keyPart[0]) && mi.getVersion().equals(keyPart[1])){\r
+ if (mi.getGuid().equals(keyPart[0])){\r
+// && mi.getVersion().equals(keyPart[1])){\r
return mi;\r
}\r
}\r
*/\r
private void initialize() {\r
this.setSize(664, 515);\r
+ this.centerWindow();\r
this.setModal(true);\r
this.setTitle("Module Settings");\r
this.setContentPane(getJContentPane());\r
jPanel1.add(getJPanel7(), java.awt.BorderLayout.CENTER);\r
jPanel1.addComponentListener(new java.awt.event.ComponentAdapter() {\r
public void componentShown(java.awt.event.ComponentEvent e) {\r
+ init(moduleKey);\r
}\r
});\r
}\r
if (jTable == null) {\r
model = new PartialEditableTableModel();\r
jTable = new JTable(model);\r
+ jTable.setRowHeight(20);\r
+ jTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
model.addColumn("CName");\r
model.addColumn("TokenSpaceGUID");\r
model.addColumn("ItemType");\r
model.addColumn("Token");\r
+ model.addColumn("MaxDatumSize");\r
model.addColumn("DataType");\r
model.addColumn("DefaultValue");\r
\r
model1.addColumn("PackageGUID");\r
model1.addColumn("PackageVersion");\r
jTable1 = new JTable(model1);\r
- \r
+ jTable1.setRowHeight(20);\r
+ jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
jTable1.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
public void valueChanged(ListSelectionEvent e) {\r
model2 = new LibraryTableModel();\r
model2.addColumn("LibraryClass");\r
jTable2 = new JTable(model2);\r
- \r
+ jTable2.setRowHeight(20);\r
+ jTable2.setShowGrid(false);\r
jTable2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
jTable2.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
public void valueChanged(ListSelectionEvent e) {\r
model3.addColumn("PackageGUID");\r
model3.addColumn("PackageVersion");\r
jTable3 = new JTable(model3);\r
- \r
+ jTable3.setRowHeight(20);\r
+ jTable3.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
jTable3.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
jTable3.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
public void valueChanged(ListSelectionEvent e) {\r
//\r
// Add pcd information of selected instance to current moduleSA\r
//\r
+ try{\r
ffc.addFrameworkModulesPcdBuildDefs(getModuleId(instanceValue), ffc.getModuleSA(moduleKey));\r
- \r
+ }\r
+ catch (Exception exception) {\r
+ JOptionPane.showMessageDialog(frame, "PCD Insertion Fail. " + exception.getMessage());\r
+ }\r
resolveLibraryInstances(instanceValue);\r
}\r
});\r
jPanel8.add(getJScrollPane6(), null);\r
jPanel8.add(getJButton4(), null);\r
jPanel8.add(getJButton5(), null);\r
+ jPanel8.addComponentListener(new java.awt.event.ComponentAdapter() {\r
+ public void componentShown(java.awt.event.ComponentEvent e) {\r
+ init(moduleKey);\r
+ }\r
+ });\r
}\r
return jPanel8;\r
}\r
optionsTableModel.addColumn("SupportedArchs");\r
optionsTableModel.addColumn("Contents");\r
jTable4 = new JTable(optionsTableModel);\r
+ jTable4.setRowHeight(20);\r
+ Vector<String> vArch = new Vector<String>();\r
+ vArch.add("IA32");\r
+ vArch.add("X64");\r
+ vArch.add("IPF");\r
+ vArch.add("EBC");\r
+ vArch.add("ARM");\r
+ vArch.add("PPC");\r
+ jTable4.getColumnModel().getColumn(4).setCellEditor(new ListEditor(vArch));\r
jTable4.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+ jTable4.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
jTable4.getModel().addTableModelListener(new TableModelListener() {\r
public void tableChanged(TableModelEvent arg0) {\r
// TODO Auto-generated method stub\r
if (arg0.getType() == TableModelEvent.UPDATE){\r
//ToDo Data Validition check.\r
String targets = m.getValueAt(row, 0) + "";\r
- Vector<Object> targetName = new Vector<Object>();\r
- String[] sArray = targets.split(" ");\r
- for (int i = 0; i < sArray.length; ++i) {\r
- targetName.add(sArray[i]);\r
+ Vector<Object> targetName = null;\r
+ if (targets.length() > 0) {\r
+ targetName = new Vector<Object>();\r
+ String[] sArray = targets.split(" ");\r
+ for (int i = 0; i < sArray.length; ++i) {\r
+ targetName.add(sArray[i]);\r
+ }\r
}\r
+ \r
String toolChain = m.getValueAt(row, 1) + "";\r
String tagName = m.getValueAt(row, 2) + "";\r
String toolCode = m.getValueAt(row, 3) + "";\r
String archs = m.getValueAt(row, 4) + "";\r
- Vector<Object> supArch = new Vector<Object>();\r
- String[] sArray1 = archs.split(" ");\r
- for (int i = 0; i < sArray1.length; ++i) {\r
- supArch.add(sArray1[i]);\r
- }\r
- if (supArch.size() == 0) {\r
- supArch.add("IA32");\r
+ Vector<Object> supArch = null;\r
+ if (archs.length() > 0) {\r
+ supArch = new Vector<Object>();\r
+ String[] sArray1 = archs.split(" ");\r
+ for (int i = 0; i < sArray1.length; ++i) {\r
+ supArch.add(sArray1[i]);\r
+ }\r
}\r
+ \r
String contents = m.getValueAt(row, 5) + "";\r
\r
ffc.updateModuleSAOptionsOpt(moduleKey, row, targetName, toolChain, tagName, toolCode, supArch, contents);\r
}\r
return jButton5;\r
}\r
+ \r
+ /**\r
+ Start the window at the center of screen\r
+ \r
+ **/\r
+ protected void centerWindow(int intWidth, int intHeight) {\r
+ Dimension d = Toolkit.getDefaultToolkit().getScreenSize();\r
+ this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);\r
+ }\r
+\r
+ /**\r
+ Start the window at the center of screen\r
+ \r
+ **/\r
+ protected void centerWindow() {\r
+ centerWindow(this.getSize().width, this.getSize().height);\r
+ }\r
+\r
\r
} // @jve:decl-index=0:visual-constraint="10,10"\r
\r
public boolean isCellEditable(int row, int col) {\r
switch (col){\r
case 2:\r
- return true;\r
+ return false;\r
default:\r
return false; \r
}\r