import javax.swing.table.TableModel;\r
\r
import org.tianocore.frameworkwizard.common.DataValidation;\r
+import org.tianocore.frameworkwizard.common.GlobalData;\r
import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
-import org.tianocore.frameworkwizard.platform.ui.global.GlobalData;\r
+import org.tianocore.frameworkwizard.platform.ui.global.WorkspaceProfile;\r
import org.tianocore.frameworkwizard.platform.ui.global.SurfaceAreaQuery;\r
-import org.tianocore.frameworkwizard.platform.ui.id.ModuleIdentification;\r
-import org.tianocore.frameworkwizard.platform.ui.id.PackageIdentification;\r
+import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
+import org.tianocore.frameworkwizard.packaging.PackageIdentification;\r
\r
import java.awt.FlowLayout;\r
import java.awt.event.ActionEvent;\r
import java.util.HashMap;\r
import java.util.Iterator;\r
import java.util.ListIterator;\r
-import java.util.Set;\r
import java.util.Vector;\r
\r
import javax.swing.JTextField;\r
private JButton jButtonUpdatePcd = null;\r
private JComboBox jComboBoxFeatureFlagValue = null;\r
private OpeningPlatformType docConsole = null;\r
- private JLabel jLabelPad = null;\r
+ private JPanel jPanelCustomToolChain = null;\r
+ private JPanel jPanelToolchainS = null;\r
+ private JPanel jPanelToolchainC = null;\r
/**\r
* This is the default constructor\r
*/\r
// display pcd for key.\r
//\r
model.setRowCount(0);\r
+ jTextAreaPcdHelp.setText("");\r
+ jComboBoxItemType.setSelectedIndex(-1);\r
+ jTextFieldMaxDatumSize.setText("");\r
+ jTextFieldPcdDefault.setText("");\r
int pcdCount = ffc.getPcdDataCount(i);\r
if (pcdCount != 0) {\r
String[][] saa = new String[pcdCount][7];\r
String[][] saa = new String[instanceCount][5];\r
ffc.getLibraryInstances(key, saa);\r
for (int i = 0; i < saa.length; ++i) {\r
- ModuleIdentification mi = GlobalData.getModuleId(saa[i][1] + " " + saa[i][2] + " " + saa[i][3] + " " + saa[i][4]);\r
+ ModuleIdentification mi = WorkspaceProfile.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
+ saa[i][4] = mi.getPackageId().getVersion();\r
//\r
// re-evaluate lib instance usage when adding a already-selected lib instance.\r
//\r
}\r
}\r
\r
- public void initModuleSAOptions(String key) {\r
+ public void initFvInfo (String key) {\r
//\r
// display module SA options\r
//\r
if (ffsKey != null) {\r
jTextFieldFfsKey.setText(ffsKey);\r
}\r
+ }\r
+ \r
+ public void initToolChainOptions(String key) {\r
\r
optionsTableModel.setRowCount(0);\r
String[][] saa = new String[ffc.getModuleSAOptionsCount(key)][6];\r
}\r
\r
private void resolveLibraryInstances(String key) {\r
- ModuleIdentification mi = GlobalData.getModuleId(key);\r
+ ModuleIdentification mi = WorkspaceProfile.getModuleId(key);\r
PackageIdentification[] depPkgList = null;\r
try{\r
//\r
ArrayList<String> al = new ArrayList<String>();\r
\r
for (int i = 0; i < depPkgList.length; ++i) {\r
- Set<ModuleIdentification> smi = GlobalData.getModules(depPkgList[i]);\r
- Iterator ismi = smi.iterator();\r
+ Iterator ismi = GlobalData.vModuleList.iterator();\r
while(ismi.hasNext()) {\r
ModuleIdentification mi = (ModuleIdentification)ismi.next();\r
- \r
+ if (!mi.getPackageId().getGuid().equalsIgnoreCase(depPkgList[i].getGuid())) {\r
+ continue;\r
+ }\r
String[] clsProduced = getClassProduced(mi);\r
\r
boolean isPotential = false;\r
}\r
\r
private void removeInstance(String key) {\r
- ModuleIdentification mi = GlobalData.getModuleId(key); \r
+ ModuleIdentification mi = WorkspaceProfile.getModuleId(key); \r
//\r
// remove pcd information of instance from current ModuleSA\r
//\r
if (jTabbedPane == null) {\r
jTabbedPane = new JTabbedPane();\r
jTabbedPane.addTab("PCD Build Definition", null, getJPanelPcd(), null);\r
- jTabbedPane.addTab("Module SA Options", null, getJPanelModuleSaOpts(), null);\r
jTabbedPane.addTab("Libraries", null, getJPanelLibrary(), null);\r
+ jTabbedPane.addTab("FV Info", null, getJPanelModuleSaOpts(), null);\r
+ jTabbedPane.addTab("Custom Toolchain", null, getJPanelCustomToolChain(), null);\r
+ \r
}\r
return jTabbedPane;\r
}\r
ffc.getLibraryInstances(moduleKey, saa);\r
\r
try{\r
- if (ffc.getPcdBuildDataInfo(GlobalData.getModuleId(moduleKey), cName, tsGuid, sa)) {\r
+ if (ffc.getPcdBuildDataInfo(WorkspaceProfile.getModuleId(moduleKey), cName, tsGuid, sa)) {\r
return;\r
}\r
for (int j = 0; j < saa.length; ++j) {\r
- if (ffc.getPcdBuildDataInfo(GlobalData.getModuleId(saa[j][1] + " " + saa[j][2] + " " + saa[j][3] + " " + saa[j][4]),\r
+ if (ffc.getPcdBuildDataInfo(WorkspaceProfile.getModuleId(saa[j][1] + " " + saa[j][2] + " " + saa[j][3] + " " + saa[j][4]),\r
cName, tsGuid, sa)) {\r
return;\r
}\r
while(li.hasNext()) {\r
String instance = li.next();\r
String[] s = {"", "", "", "", ""};\r
- if (GlobalData.getModuleId(instance) != null) {\r
- s[0] = GlobalData.getModuleId(instance).getName();\r
+ if (WorkspaceProfile.getModuleId(instance) != null) {\r
+ s[0] = WorkspaceProfile.getModuleId(instance).getName();\r
}\r
\r
String[] instancePart = instance.split(" ");\r
libInstanceTableModel.getValueAt(row, 2) + " " +\r
libInstanceTableModel.getValueAt(row, 3) + " " +\r
libInstanceTableModel.getValueAt(row, 4);\r
- ModuleIdentification libMi = GlobalData.getModuleId(instanceValue);\r
+ ModuleIdentification libMi = WorkspaceProfile.getModuleId(instanceValue);\r
ffc.genLibraryInstance(libMi, moduleKey);\r
//\r
// Add pcd information of selected instance to current moduleSA\r
*/\r
private JPanel getJPanelModuleSaOpts() {\r
if (jPanelModuleSaOpts == null) {\r
- jLabelPad = new JLabel();\r
- jLabelPad.setText("");\r
- jLabelPad.setPreferredSize(new java.awt.Dimension(250,16));\r
FlowLayout flowLayout4 = new FlowLayout();\r
flowLayout4.setAlignment(java.awt.FlowLayout.LEFT);\r
jLabelFfsFormatKey = new JLabel();\r
jPanelModuleSaOpts.add(getJTextFieldFileGuid(), null);\r
jPanelModuleSaOpts.add(jLabelFfsFormatKey, null);\r
jPanelModuleSaOpts.add(getJTextFieldFfsKey(), null);\r
- jPanelModuleSaOpts.add(getJScrollPaneModuleSaOptions(), null);\r
- jPanelModuleSaOpts.add(jLabelPad, null);\r
- jPanelModuleSaOpts.add(getJButtonNew(), null);\r
- jPanelModuleSaOpts.add(getJButtonDeleteOption(), null);\r
jPanelModuleSaOpts.addComponentListener(new java.awt.event.ComponentAdapter() {\r
public void componentShown(java.awt.event.ComponentEvent e) {\r
- initModuleSAOptions(moduleKey);\r
+ initFvInfo(moduleKey);\r
}\r
});\r
}\r
private JScrollPane getJScrollPaneModuleSaOptions() {\r
if (jScrollPaneModuleSaOptions == null) {\r
jScrollPaneModuleSaOptions = new JScrollPane();\r
- jScrollPaneModuleSaOptions.setPreferredSize(new java.awt.Dimension(600,200));\r
+ jScrollPaneModuleSaOptions.setPreferredSize(new java.awt.Dimension(600,350));\r
jScrollPaneModuleSaOptions.setViewportView(getJTableModuleSaOptions());\r
}\r
return jScrollPaneModuleSaOptions;\r
if (jComboBoxItemType.getItemCount() == 3) {\r
if (!jComboBoxItemType.getSelectedItem().equals("DYNAMIC")) {\r
pcdDynamicToNonDynamic(jTablePcd.getValueAt(row, 0)+"", jTablePcd.getValueAt(row, 1)+"");\r
+ if (jComboBoxItemType.getSelectedItem().equals("FIXED_AT_BUILD")) {\r
+ jTextFieldPcdDefault.setText("");\r
+ jTextFieldPcdDefault.setEnabled(true);\r
+ }\r
}\r
else{\r
pcdNonDynamicToDynamic(jTablePcd.getValueAt(row, 0)+"", jTablePcd.getValueAt(row, 1)+"");\r
}\r
return jComboBoxFeatureFlagValue;\r
}\r
+/**\r
+ * This method initializes jPanelCustomToolChain \r
+ * \r
+ * @return javax.swing.JPanel \r
+ */\r
+private JPanel getJPanelCustomToolChain() {\r
+ if (jPanelCustomToolChain == null) {\r
+ jPanelCustomToolChain = new JPanel();\r
+ jPanelCustomToolChain.setLayout(new BorderLayout());\r
+ jPanelCustomToolChain.add(getJPanelToolchainS(), java.awt.BorderLayout.SOUTH);\r
+ jPanelCustomToolChain.add(getJPanelToolchainC(), java.awt.BorderLayout.CENTER);\r
+ jPanelCustomToolChain.addComponentListener(new java.awt.event.ComponentAdapter() {\r
+ public void componentShown(java.awt.event.ComponentEvent e) {\r
+ initToolChainOptions(moduleKey);\r
+ }\r
+ });\r
+ }\r
+ return jPanelCustomToolChain;\r
+}\r
+/**\r
+ * This method initializes jPanelToolchainS \r
+ * \r
+ * @return javax.swing.JPanel \r
+ */\r
+private JPanel getJPanelToolchainS() {\r
+ if (jPanelToolchainS == null) {\r
+ jPanelToolchainS = new JPanel();\r
+ jPanelToolchainS.add(getJButtonNew(), null);\r
+ jPanelToolchainS.add(getJButtonDeleteOption(), null);\r
+ }\r
+ return jPanelToolchainS;\r
+}\r
+/**\r
+ * This method initializes jPanelToolchainC \r
+ * \r
+ * @return javax.swing.JPanel \r
+ */\r
+private JPanel getJPanelToolchainC() {\r
+ if (jPanelToolchainC == null) {\r
+ jPanelToolchainC = new JPanel();\r
+ jPanelToolchainC.add(getJScrollPaneModuleSaOptions(), null);\r
+ }\r
+ return jPanelToolchainC;\r
+}\r
\r
\r
} // @jve:decl-index=0:visual-constraint="10,10"\r