import org.tianocore.frameworkwizard.common.Tools;\r
import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
+import org.tianocore.frameworkwizard.workspace.Workspace;\r
\r
import java.io.File;\r
import java.util.ArrayList;\r
//\r
// Select files from current workspace\r
//\r
- String dirPrefix = System.getenv("WORKSPACE");\r
+ String dirPrefix = Workspace.getCurrentWorkspace();\r
JFileChooser chooser = new JFileChooser(dirPrefix);\r
File theFile = null;\r
String headerDest = null;\r
// should display default sku info here, as no selection event of table1 will be triggered when change selection of rows in table. \r
//\r
private void displayDetails(int i) {\r
- jTableSkuInfo.changeSelection(0, 1, false, false);\r
+ int defaultSkuRow = getDefaultSkuInfoRow();\r
+ jTableSkuInfo.changeSelection(defaultSkuRow, 0, false, false);\r
+ \r
int skuCount = ffc.getDynamicPcdSkuInfoCount(i);\r
String defaultVal = ffc.getDynamicPcdBuildDataValue(i);\r
if (defaultVal != null) {\r
\r
}\r
\r
- private void displaySkuInfoDetails(int i) {\r
+ private void displaySkuInfoDetails(String id) {\r
int pcdSelected = jTableDynPcd.getSelectedRow();\r
if (pcdSelected < 0) {\r
return;\r
}\r
\r
- String[][] saa = new String[ffc.getDynamicPcdSkuInfoCount(pcdSelected)][7];\r
+ int skuInfoCount = ffc.getDynamicPcdSkuInfoCount(pcdSelected);\r
+ String[][] saa = new String[skuInfoCount][7];\r
ffc.getDynamicPcdSkuInfos(pcdSelected, saa);\r
- \r
- if (saa[i][5] != null){\r
- jRadioButtonVpd.setSelected(true);\r
- jTextFieldVpdOffset.setText(saa[i][5]);\r
- } \r
- \r
- else if (saa[i][1] != null) {\r
- jRadioButtonHii.setSelected(true);\r
- String varDisplayName = Tools.convertUnicodeHexStringToString(saa[i][1]);\r
- jTextFieldVarName.setText(varDisplayName);\r
- jTextFieldVarGuid.setText(saa[i][2]);\r
- jTextFieldVarOffset.setText(saa[i][3]);\r
- jTextFieldHiiDefaultValue.setText(saa[i][4]);\r
- }\r
- \r
- else{\r
- jRadioButtonDefaultValue.setSelected(true);\r
- jTextFieldDefaultValue.setText(saa[i][6]);\r
+ int i = 0;\r
+ while (i < skuInfoCount) {\r
+ if (id.equals(saa[i][0])) {\r
+ if (saa[i][5] != null){\r
+ jRadioButtonVpd.setSelected(true);\r
+ jTextFieldVpdOffset.setText(saa[i][5]);\r
+ } \r
+ \r
+ else if (saa[i][1] != null) {\r
+ jRadioButtonHii.setSelected(true);\r
+ String varDisplayName = Tools.convertUnicodeHexStringToString(saa[i][1]);\r
+ jTextFieldVarName.setText(varDisplayName);\r
+ jTextFieldVarGuid.setText(saa[i][2]);\r
+ jTextFieldVarOffset.setText(saa[i][3]);\r
+ jTextFieldHiiDefaultValue.setText(saa[i][4]);\r
+ }\r
+ \r
+ else{\r
+ jRadioButtonDefaultValue.setSelected(true);\r
+ jTextFieldDefaultValue.setText(saa[i][6]);\r
+ }\r
+ return;\r
+ }\r
+ ++i;\r
}\r
- \r
+ }\r
+ \r
+ private int getDefaultSkuInfoRow () {\r
+ for (int i = 0; i < modelSku.getRowCount(); ++i) {\r
+ if (modelSku.getValueAt(i, 0).equals("0")) {\r
+ return i;\r
+ }\r
+ }\r
+ return 0;\r
}\r
\r
/**\r
jCheckBoxSkuEnable.setText("SKU Enable");\r
jCheckBoxSkuEnable.addItemListener(new java.awt.event.ItemListener() {\r
public void itemStateChanged(java.awt.event.ItemEvent e) {\r
+ if (!jCheckBoxSkuEnable.isSelected()) {\r
+ int defaultSkuRow = getDefaultSkuInfoRow();\r
+ jTableSkuInfo.changeSelection(defaultSkuRow, 0, false, false);\r
+ }\r
jTableSkuInfo.setEnabled(jCheckBoxSkuEnable.isSelected());\r
}\r
});\r
jTableSkuInfo = new JTable(modelSku);\r
modelSku.addColumn("SKU ID");\r
modelSku.addColumn("SKU Name");\r
- \r
+ jTableSkuInfo.setEnabled(false);\r
jTableSkuInfo.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
jTableSkuInfo.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
public void valueChanged(ListSelectionEvent e) {\r
jTextFieldVarOffset.setText("");\r
jTextFieldHiiDefaultValue.setText("");\r
int selected = lsm.getMinSelectionIndex();\r
- displaySkuInfoDetails(selected);\r
+ String skuId = modelSku.getValueAt(selected, 0)+"";\r
+ displaySkuInfoDetails(skuId);\r
}\r
}\r
});\r
if (skuCount == 1) {\r
\r
for (int i = 1; i < jTableSkuInfo.getRowCount(); ++i) {\r
- ffc.genDynamicPcdBuildDataSkuInfo(jTableSkuInfo.getValueAt(i, 0)+"", varName, varGuid, varOffset, hiiDefault, vpdOffset, value, pcdSelected);\r
+ ffc.genDynamicPcdBuildDataSkuInfo(modelSku.getValueAt(i, 0)+"", varName, varGuid, varOffset, hiiDefault, vpdOffset, value, pcdSelected);\r
}\r
}\r
else {\r
if (row < 0) {\r
return;\r
}\r
- ffc.updateDynamicPcdBuildDataSkuInfo(jTableSkuInfo.getValueAt(row, 0)+"", varName, varGuid, varOffset, hiiDefault, vpdOffset, value, pcdSelected);\r
+ ffc.updateDynamicPcdBuildDataSkuInfo(modelSku.getValueAt(row, 0)+"", varName, varGuid, varOffset, hiiDefault, vpdOffset, value, pcdSelected);\r
}\r
}\r
}\r
import org.tianocore.frameworkwizard.platform.ui.global.SurfaceAreaQuery;\r
import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
import org.tianocore.frameworkwizard.packaging.PackageIdentification;\r
+import org.tianocore.frameworkwizard.workspace.Workspace;\r
\r
/**\r
This class processes fpd file contents such as add remove xml elements. \r
XmlCursor cursor = instance.newCursor();\r
try{\r
String comment = "Pkg: " + pn + " Mod: " + mn \r
- + " Path: " + libMi.getPath().substring(System.getenv("WORKSPACE").length() + 1);\r
+ + " Path: " + libMi.getPath().substring(Workspace.getCurrentWorkspace().length() + 1);\r
cursor.insertComment(comment);\r
}\r
catch (Exception e){\r
XmlCursor cursor = msa.newCursor();\r
try{\r
String comment = "Mod: " + mi.getName() + " Type: " + SurfaceAreaQuery.getModuleType(mi) + " Path: "\r
- + mi.getPath().substring(System.getenv("WORKSPACE").length() + 1);\r
+ + mi.getPath().substring(Workspace.getCurrentWorkspace().length() + 1);\r
cursor.insertComment(comment);\r
}\r
catch(Exception e){\r
saa[i][1] = dynPcd.getToken().toString();\r
saa[i][2] = dynPcd.getTokenSpaceGuidCName();\r
saa[i][3] = dynPcd.getMaxDatumSize()+"";\r
- saa[i][4] = dynPcd.getDatumType().toString();\r
+ saa[i][4] = dynPcd.getDatumType()+"";\r
\r
++i;\r
}\r
return;\r
}\r
else {\r
- QName qSkuInfo = new QName(xmlNs, "SkuInfo");\r
- cursor.toChild(qSkuInfo);\r
- cursor.removeXml();\r
+ pcdData.getSkuInfoList().clear();\r
+// QName qSkuInfo = new QName(xmlNs, "SkuInfo");\r
+// cursor.toChild(qSkuInfo);\r
+// cursor.removeXml();\r
}\r
}\r
cursor.dispose();\r
import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
import org.tianocore.frameworkwizard.platform.ui.global.WorkspaceProfile;\r
+import org.tianocore.frameworkwizard.workspace.Workspace;\r
\r
import java.awt.FlowLayout;\r
import java.awt.event.ActionEvent;\r
public void componentShown(ComponentEvent e) {\r
// if (ffc.getFlashDefinitionFile() != null) {\r
// jTextFieldFdf.setText(ffc.getFlashDefinitionFile());\r
-// initFvInFdfTable(System.getenv("WORKSPACE") + File.separator + jTextFieldFdf.getText());\r
+// initFvInFdfTable(Workspace.getCurrenetWorkspace() + File.separator + jTextFieldFdf.getText());\r
// \r
// }\r
}\r
\r
public void actionPerformed(ActionEvent e) {\r
// TODO Auto-generated method stub\r
- String wsDir = System.getenv("WORKSPACE");\r
+ String wsDir = Workspace.getCurrentWorkspace();\r
JFileChooser chooser = new JFileChooser(wsDir);\r
chooser.setMultiSelectionEnabled(false);\r
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);\r
if (fdfFile != null && fdfFile.length() > 0) {\r
jCheckBoxFdf.setSelected(true);\r
jTextFieldFdf.setText(fdfFile);\r
- String fdfPath = System.getenv("WORKSPACE") + File.separator + fdfFile;\r
+ String fdfPath = Workspace.getCurrentWorkspace() + File.separator + fdfFile;\r
initFvInFdfTable(fdfPath);\r
}\r
\r
import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
import org.tianocore.frameworkwizard.platform.ui.global.SurfaceAreaQuery;\r
import org.tianocore.frameworkwizard.platform.ui.global.WorkspaceProfile;\r
+import org.tianocore.frameworkwizard.workspace.Workspace;\r
import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
\r
import java.awt.FlowLayout;\r
row[pkgVerColForFpdModTable] = mi.getPackageId().getVersion();\r
row[archColForFpdModTable] = saa[i][ffcModArch];\r
try {\r
- row[pathColForFpdModTable] = mi.getPath().substring(System.getenv("WORKSPACE").length() + 1);\r
+ row[pathColForFpdModTable] = mi.getPath().substring(Workspace.getCurrentWorkspace().length() + 1);\r
} catch (Exception e) {\r
JOptionPane.showMessageDialog(frame, "Show FPD Modules:" + e.getMessage());\r
}\r
s[pkgNameColForAllModTable] = mi.getPackageId().getName();\r
s[pkgVerColForAllModTable] = mi.getPackageId().getVersion();\r
try {\r
- s[pathColForAllModTable] = mi.getPath().substring(System.getenv("WORKSPACE").length() + 1);\r
+ s[pathColForAllModTable] = mi.getPath().substring(Workspace.getCurrentWorkspace().length() + 1);\r
} catch (Exception e) {\r
JOptionPane.showMessageDialog(frame, "Show All Modules:" + e.getMessage());\r
}\r
if (jComboBoxItemType == null) {\r
jComboBoxItemType = new JComboBox();\r
jComboBoxItemType.setPreferredSize(new java.awt.Dimension(200,20));\r
-// jComboBoxItemType.addItemListener(new java.awt.event.ItemListener() {\r
-// public void itemStateChanged(java.awt.event.ItemEvent e) {\r
-// \r
-// int row = jTablePcd.getSelectedRow();\r
-// if (row < 0 || model.getValueAt(row, 2).equals(jComboBoxItemType.getSelectedItem())) {\r
-// return;\r
-// }\r
-// if (!jComboBoxItemType.getSelectedItem().equals("DYNAMIC")) {\r
-// \r
-// if (jComboBoxItemType.getSelectedItem().equals("FIXED_AT_BUILD")) {\r
-// jTextFieldPcdDefault.setText("");\r
-// jTextFieldPcdDefault.setEnabled(true);\r
-// }\r
-// }\r
-// else{\r
-// \r
-// }\r
-// }\r
-// });\r
+ jComboBoxItemType.addItemListener(new java.awt.event.ItemListener() {\r
+ public void itemStateChanged(java.awt.event.ItemEvent e) {\r
+ \r
+ int row = jTablePcd.getSelectedRow();\r
+ if (row < 0 || model.getValueAt(row, 2).equals(jComboBoxItemType.getSelectedItem())) {\r
+ return;\r
+ }\r
+ \r
+ if (jComboBoxItemType.getSelectedItem().equals("FIXED_AT_BUILD")) {\r
+ jTextFieldPcdDefault.setEnabled(true);\r
+ }\r
+ else {\r
+ jTextFieldPcdDefault.setEnabled(false);\r
+ }\r
+ } \r
+ });\r
}\r
return jComboBoxItemType;\r
}\r
al.set(i, mKey + " " + itemType);\r
}\r
try{\r
- ffc.addDynamicPcdBuildData(cName, jTablePcd.getValueAt(jTablePcd.getSelectedRow(), 3), tsGuid, "DYNAMIC", jTablePcd.getValueAt(jTablePcd.getSelectedRow(), 5)+"", jTextFieldPcdDefault.isVisible() ? jTextFieldPcdDefault.getText() : jComboBoxFeatureFlagValue.getSelectedItem()+"");\r
+ ffc.addDynamicPcdBuildData(cName, model.getValueAt(jTablePcd.getSelectedRow(), 3), tsGuid, "DYNAMIC", model.getValueAt(jTablePcd.getSelectedRow(), 5)+"", jTextFieldPcdDefault.isVisible() ? jTextFieldPcdDefault.getText() : jComboBoxFeatureFlagValue.getSelectedItem()+"");\r
}\r
catch(Exception e){\r
JOptionPane.showMessageDialog(frame, "PCD value format: " + e.getMessage());\r