mirror of https://github.com/acidanthera/audk.git
Flash UI add new FV feature. modify FvImageNames and FvBindings in fpd file if FV name changes.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1416 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
0719317158
commit
eb8ea8292e
|
@ -746,11 +746,15 @@ public class FpdFileContents {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getFvBinding(String moduleKey){
|
public String getFvBinding(String moduleKey){
|
||||||
ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);
|
ModuleSADocument.ModuleSA moduleSa = getModuleSA(moduleKey);
|
||||||
if (msa == null || msa.getModuleSaBuildOptions() == null) {
|
return getFvBinding (moduleSa);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFvBinding (ModuleSADocument.ModuleSA moduleSa) {
|
||||||
|
if (moduleSa == null || moduleSa.getModuleSaBuildOptions() == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return msa.getModuleSaBuildOptions().getFvBinding();
|
return moduleSa.getModuleSaBuildOptions().getFvBinding();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setFvBinding(ModuleSADocument.ModuleSA moduleSa, String fvBinding) {
|
public void setFvBinding(ModuleSADocument.ModuleSA moduleSa, String fvBinding) {
|
||||||
|
@ -776,6 +780,23 @@ public class FpdFileContents {
|
||||||
setFvBinding (moduleSa, fvBinding);
|
setFvBinding (moduleSa, fvBinding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int fvBindingForModuleSA (ModuleSADocument.ModuleSA moduleSa, String fvName) {
|
||||||
|
if (moduleSa == null || moduleSa.getModuleSaBuildOptions() == null || moduleSa.getModuleSaBuildOptions().getFvBinding() == null) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
String fvNameList = moduleSa.getModuleSaBuildOptions().getFvBinding();
|
||||||
|
String[] fvNamesArray = fvNameList.split(" ");
|
||||||
|
int occursAt = -1;
|
||||||
|
for (int i = 0; i < fvNamesArray.length; ++i) {
|
||||||
|
if (fvNamesArray[i].equals(fvName)) {
|
||||||
|
occursAt = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return occursAt;
|
||||||
|
}
|
||||||
|
|
||||||
public void removeFvBinding (ModuleSADocument.ModuleSA moduleSa, String fvName) {
|
public void removeFvBinding (ModuleSADocument.ModuleSA moduleSa, String fvName) {
|
||||||
if (moduleSa == null || moduleSa.getModuleSaBuildOptions() == null || moduleSa.getModuleSaBuildOptions().getFvBinding() == null) {
|
if (moduleSa == null || moduleSa.getModuleSaBuildOptions() == null || moduleSa.getModuleSaBuildOptions().getFvBinding() == null) {
|
||||||
return;
|
return;
|
||||||
|
@ -821,6 +842,37 @@ public class FpdFileContents {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void appendFvBindingAll (String fvName) {
|
||||||
|
if (getfpdFrameworkModules().getModuleSAList() == null || getfpdFrameworkModules().getModuleSAList().size() == 0){
|
||||||
|
removeElement(getfpdFrameworkModules());
|
||||||
|
fpdFrameworkModules = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Iterator<ModuleSADocument.ModuleSA> li = getfpdFrameworkModules().getModuleSAList().iterator();
|
||||||
|
while (li.hasNext()) {
|
||||||
|
ModuleSADocument.ModuleSA moduleSa = li.next();
|
||||||
|
appendFvBinding (moduleSa, fvName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void appendFvBindingFor (String oldFvName, String newFvName) {
|
||||||
|
if (getfpdFrameworkModules().getModuleSAList() == null || getfpdFrameworkModules().getModuleSAList().size() == 0){
|
||||||
|
removeElement(getfpdFrameworkModules());
|
||||||
|
fpdFrameworkModules = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Iterator<ModuleSADocument.ModuleSA> li = getfpdFrameworkModules().getModuleSAList().iterator();
|
||||||
|
while (li.hasNext()) {
|
||||||
|
ModuleSADocument.ModuleSA moduleSa = li.next();
|
||||||
|
String fvBinding = getFvBinding (moduleSa);
|
||||||
|
if (fvBinding != null && fvBindingForModuleSA (moduleSa, oldFvName) >= 0) {
|
||||||
|
appendFvBinding (moduleSa, newFvName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void appendFvBinding (String moduleKey, String fvName) {
|
public void appendFvBinding (String moduleKey, String fvName) {
|
||||||
ModuleSADocument.ModuleSA moduleSa = getModuleSA(moduleKey);
|
ModuleSADocument.ModuleSA moduleSa = getModuleSA(moduleKey);
|
||||||
appendFvBinding (moduleSa, fvName);
|
appendFvBinding (moduleSa, fvName);
|
||||||
|
@ -1602,23 +1654,28 @@ public class FpdFileContents {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void genBuildOptionsUserExtensions(String fvName, String outputFileName, Vector<String[]> includeModules) {
|
public void genBuildOptionsUserExtensions(String fvName, String outputFileName, Vector<String[]> includeModules) {
|
||||||
|
QName elementFvName = new QName (xmlNs, "FvName");
|
||||||
|
QName elementIncludeModules = new QName(xmlNs, "IncludeModules");
|
||||||
|
QName elementInfFileName = new QName(xmlNs, "InfFileName");
|
||||||
|
QName elementModule = new QName(xmlNs, "Module");
|
||||||
|
|
||||||
UserExtensionsDocument.UserExtensions userExts = getfpdBuildOpts().addNewUserExtensions();
|
UserExtensionsDocument.UserExtensions userExts = getfpdBuildOpts().addNewUserExtensions();
|
||||||
userExts.setUserID("IMAGES");
|
userExts.setUserID("IMAGES");
|
||||||
userExts.setIdentifier(new BigInteger("1"));
|
userExts.setIdentifier(new BigInteger("1"));
|
||||||
XmlCursor cursor = userExts.newCursor();
|
XmlCursor cursor = userExts.newCursor();
|
||||||
cursor.toEndToken();
|
cursor.toEndToken();
|
||||||
|
|
||||||
cursor.beginElement("FvName");
|
cursor.beginElement(elementFvName);
|
||||||
cursor.insertChars(fvName);
|
cursor.insertChars(fvName);
|
||||||
cursor.toNextToken();
|
cursor.toNextToken();
|
||||||
|
|
||||||
cursor.beginElement("InfFileName");
|
cursor.beginElement(elementInfFileName);
|
||||||
cursor.insertChars(fvName + ".inf");
|
cursor.insertChars(fvName + ".inf");
|
||||||
cursor.toNextToken();
|
cursor.toNextToken();
|
||||||
|
|
||||||
cursor.beginElement("IncludeModules");
|
cursor.beginElement(elementIncludeModules);
|
||||||
for (int i = 0; i < includeModules.size(); ++i) {
|
for (int i = 0; i < includeModules.size(); ++i) {
|
||||||
cursor.beginElement("Module");
|
cursor.beginElement(elementModule);
|
||||||
cursor.insertAttributeWithValue("ModuleGuid", includeModules.get(i)[0]);
|
cursor.insertAttributeWithValue("ModuleGuid", includeModules.get(i)[0]);
|
||||||
cursor.insertAttributeWithValue("BaseName", includeModules.get(i)[1]);
|
cursor.insertAttributeWithValue("BaseName", includeModules.get(i)[1]);
|
||||||
cursor.toEndToken();
|
cursor.toEndToken();
|
||||||
|
@ -1632,6 +1689,7 @@ public class FpdFileContents {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
ListIterator<UserExtensionsDocument.UserExtensions> li = getfpdBuildOpts().getUserExtensionsList().listIterator();
|
ListIterator<UserExtensionsDocument.UserExtensions> li = getfpdBuildOpts().getUserExtensionsList().listIterator();
|
||||||
|
QName elementIncludeModules = new QName(xmlNs, "IncludeModules");
|
||||||
while (li.hasNext()) {
|
while (li.hasNext()) {
|
||||||
UserExtensionsDocument.UserExtensions ues = li.next();
|
UserExtensionsDocument.UserExtensions ues = li.next();
|
||||||
if (!ues.getUserID().equals("IMAGES")) {
|
if (!ues.getUserID().equals("IMAGES")) {
|
||||||
|
@ -1641,7 +1699,7 @@ public class FpdFileContents {
|
||||||
cursor.toFirstChild();
|
cursor.toFirstChild();
|
||||||
String elementName = cursor.getTextValue();
|
String elementName = cursor.getTextValue();
|
||||||
if (elementName.equals(fvName)) {
|
if (elementName.equals(fvName)) {
|
||||||
cursor.toNextSibling(new QName("", "IncludeModules"));
|
cursor.toNextSibling(elementIncludeModules);
|
||||||
if (cursor.toFirstChild()) {
|
if (cursor.toFirstChild()) {
|
||||||
int i = 1;
|
int i = 1;
|
||||||
for (i = 1; cursor.toNextSibling(); ++i);
|
for (i = 1; cursor.toNextSibling(); ++i);
|
||||||
|
@ -1660,6 +1718,45 @@ public class FpdFileContents {
|
||||||
if (getfpdBuildOpts().getUserExtensionsList() == null) {
|
if (getfpdBuildOpts().getUserExtensionsList() == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
XmlCursor cursor = getfpdBuildOpts().newCursor();
|
||||||
|
QName elementUserExts = new QName (xmlNs, "UserExtensions");
|
||||||
|
QName attribUserId = new QName ("UserID");
|
||||||
|
QName elementFvName = new QName (xmlNs, "FvName");
|
||||||
|
QName elementIncludeModules = new QName(xmlNs, "IncludeModules");
|
||||||
|
QName attribModuleGuid = new QName("ModuleGuid");
|
||||||
|
QName attribBaseName = new QName("BaseName");
|
||||||
|
|
||||||
|
if (cursor.toChild(elementUserExts)) {
|
||||||
|
do {
|
||||||
|
cursor.push();
|
||||||
|
if (cursor.getAttributeText(attribUserId).equals("IMAGES")) {
|
||||||
|
cursor.toChild(elementFvName);
|
||||||
|
String elementName = cursor.getTextValue();
|
||||||
|
if (elementName.equals(fvName)) {
|
||||||
|
cursor.toNextSibling(elementIncludeModules);
|
||||||
|
if (cursor.toFirstChild()) {
|
||||||
|
int i = 0;
|
||||||
|
do {
|
||||||
|
saa[i][0] = cursor.getAttributeText(attribModuleGuid);
|
||||||
|
saa[i][1] = cursor.getAttributeText(attribBaseName);
|
||||||
|
++i;
|
||||||
|
}while (cursor.toNextSibling());
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cursor.pop();
|
||||||
|
}while (cursor.toNextSibling(elementUserExts));
|
||||||
|
}
|
||||||
|
cursor.dispose();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateBuildOptionsUserExtensions (String oldFvName, String newFvName) {
|
||||||
|
if (getfpdBuildOpts().getUserExtensionsList() == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
ListIterator<UserExtensionsDocument.UserExtensions> li = getfpdBuildOpts().getUserExtensionsList().listIterator();
|
ListIterator<UserExtensionsDocument.UserExtensions> li = getfpdBuildOpts().getUserExtensionsList().listIterator();
|
||||||
while (li.hasNext()) {
|
while (li.hasNext()) {
|
||||||
UserExtensionsDocument.UserExtensions ues = li.next();
|
UserExtensionsDocument.UserExtensions ues = li.next();
|
||||||
|
@ -1669,18 +1766,8 @@ public class FpdFileContents {
|
||||||
XmlCursor cursor = ues.newCursor();
|
XmlCursor cursor = ues.newCursor();
|
||||||
cursor.toFirstChild();
|
cursor.toFirstChild();
|
||||||
String elementName = cursor.getTextValue();
|
String elementName = cursor.getTextValue();
|
||||||
if (elementName.equals(fvName)) {
|
if (elementName.equals(oldFvName)) {
|
||||||
cursor.toNextSibling(new QName("", "IncludeModules"));
|
cursor.setTextValue(newFvName);
|
||||||
if (cursor.toFirstChild()) {
|
|
||||||
int i = 0;
|
|
||||||
do {
|
|
||||||
saa[i][0] = cursor.getAttributeText(new QName("ModuleGuid"));
|
|
||||||
saa[i][1] = cursor.getAttributeText(new QName("BaseName"));
|
|
||||||
++i;
|
|
||||||
}while (cursor.toNextSibling());
|
|
||||||
}
|
|
||||||
cursor.dispose();
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
cursor.dispose();
|
cursor.dispose();
|
||||||
}
|
}
|
||||||
|
@ -2501,6 +2588,31 @@ public class FpdFileContents {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void getFvImagesFvImageFvImageNames (Vector<String> vImageNames) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddFvImageFvImageNames (String[] fvNames) {
|
||||||
|
FvImagesDocument.FvImages fis = getfpdFlash().getFvImages();
|
||||||
|
if (fis == null || fis.getFvImageList() == null) {
|
||||||
|
genFvImagesFvImage (fvNames, "ImageName", null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ListIterator<FvImagesDocument.FvImages.FvImage> li = fis.getFvImageList().listIterator();
|
||||||
|
while (li.hasNext()) {
|
||||||
|
FvImagesDocument.FvImages.FvImage fi = li.next();
|
||||||
|
if (fi.getType().toString().equals("ImageName")) {
|
||||||
|
for (int i = 0; i < fvNames.length; ++i) {
|
||||||
|
fi.addFvImageNames(fvNames[i]);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
genFvImagesFvImage (fvNames, "ImageName", null);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void genFvImagesFvImage(String[] names, String types, Map<String, String> options) {
|
public void genFvImagesFvImage(String[] names, String types, Map<String, String> options) {
|
||||||
|
|
||||||
FvImagesDocument.FvImages fis = null;
|
FvImagesDocument.FvImages fis = null;
|
||||||
|
@ -2560,6 +2672,32 @@ public class FpdFileContents {
|
||||||
cursor.dispose();
|
cursor.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateFvImageNameAll (String oldFvName, String newFvName) {
|
||||||
|
if (getfpdFlash().getFvImages() == null || getfpdFlash().getFvImages().getFvImageList() == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ListIterator<FvImagesDocument.FvImages.FvImage> li = getfpdFlash().getFvImages().getFvImageList().listIterator();
|
||||||
|
while (li.hasNext()) {
|
||||||
|
FvImagesDocument.FvImages.FvImage fi = li.next();
|
||||||
|
updateFvImageNamesInFvImage (fi, oldFvName, newFvName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateFvImageNamesInFvImage (FvImagesDocument.FvImages.FvImage fi, String oldFvName, String newFvName) {
|
||||||
|
QName qFvImageNames = new QName(xmlNs, "FvImageNames");
|
||||||
|
XmlCursor cursor = fi.newCursor();
|
||||||
|
|
||||||
|
if (cursor.toChild(qFvImageNames)) {
|
||||||
|
do {
|
||||||
|
if (cursor.getTextValue().equals(oldFvName)){
|
||||||
|
cursor.setTextValue(newFvName);
|
||||||
|
}
|
||||||
|
}while (cursor.toNextSibling(qFvImageNames));
|
||||||
|
}
|
||||||
|
|
||||||
|
cursor.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
public void updateFvImagesFvImage(int i, String[] names, String types, Map<String, String> options){
|
public void updateFvImagesFvImage(int i, String[] names, String types, Map<String, String> options){
|
||||||
|
|
||||||
XmlObject o = getfpdFlash().getFvImages();
|
XmlObject o = getfpdFlash().getFvImages();
|
||||||
|
|
|
@ -75,6 +75,7 @@ public class FpdFlash extends IInternalFrame {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
private final int startIndexOfDynamicTab = 2;
|
||||||
static JFrame frame;
|
static JFrame frame;
|
||||||
private JPanel jContentPane = null;
|
private JPanel jContentPane = null;
|
||||||
private JPanel jPanelContentEast = null;
|
private JPanel jPanelContentEast = null;
|
||||||
|
@ -155,6 +156,9 @@ public class FpdFlash extends IInternalFrame {
|
||||||
private JButton jButtonAddFv = null;
|
private JButton jButtonAddFv = null;
|
||||||
private JButton jButtonDelFv = null;
|
private JButton jButtonDelFv = null;
|
||||||
private JButton jButtonAddFvOptions = null;
|
private JButton jButtonAddFvOptions = null;
|
||||||
|
private int tabIndexForFv = -1;
|
||||||
|
private int selectedRowInFvAdditionalTable = -1;
|
||||||
|
private String oldFvName = null;
|
||||||
|
|
||||||
|
|
||||||
public FpdFlash() {
|
public FpdFlash() {
|
||||||
|
@ -258,6 +262,30 @@ public class FpdFlash extends IInternalFrame {
|
||||||
// jPanelFvImages.add(getJPanelFvImageW(), java.awt.BorderLayout.WEST);
|
// jPanelFvImages.add(getJPanelFvImageW(), java.awt.BorderLayout.WEST);
|
||||||
jPanelFvImages.add(getJPanelFvImageS(), java.awt.BorderLayout.SOUTH);
|
jPanelFvImages.add(getJPanelFvImageS(), java.awt.BorderLayout.SOUTH);
|
||||||
jPanelFvImages.add(getJPanelFvImageC(), java.awt.BorderLayout.CENTER);
|
jPanelFvImages.add(getJPanelFvImageC(), java.awt.BorderLayout.CENTER);
|
||||||
|
jPanelFvImages.addComponentListener(new java.awt.event.ComponentAdapter() {
|
||||||
|
public void componentShown(java.awt.event.ComponentEvent e) {
|
||||||
|
fvImageParaTableModel.setRowCount(0);
|
||||||
|
fvPropertyTableModel.setRowCount(0);
|
||||||
|
|
||||||
|
if (ffc.getFvImagesFvImageCount() == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String[][] saa = new String[ffc.getFvImagesFvImageCount()][2];
|
||||||
|
ffc.getFvImagesFvImages(saa);
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
while (i < saa.length) {
|
||||||
|
fvImageParaTableModel.addRow(saa[i]);
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
|
||||||
|
saa = new String[ffc.getFvImagesNameValueCount()][2];
|
||||||
|
ffc.getFvImagesNameValues(saa);
|
||||||
|
for (int m = 0; m < saa.length; ++m) {
|
||||||
|
fvPropertyTableModel.addRow(saa[m]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
return jPanelFvImages;
|
return jPanelFvImages;
|
||||||
|
@ -1102,6 +1130,10 @@ public class FpdFlash extends IInternalFrame {
|
||||||
return jButtonFdfBrowse;
|
return jButtonFdfBrowse;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void initFvAdditionalTable() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private void initFvInFdfTable(String fdfPath){
|
private void initFvInFdfTable(String fdfPath){
|
||||||
Vector<FvInfoFromFdf> vFvInfo = new Vector<FvInfoFromFdf>();
|
Vector<FvInfoFromFdf> vFvInfo = new Vector<FvInfoFromFdf>();
|
||||||
getFvInfoFromFdf(fdfPath, vFvInfo);
|
getFvInfoFromFdf(fdfPath, vFvInfo);
|
||||||
|
@ -1121,11 +1153,10 @@ public class FpdFlash extends IInternalFrame {
|
||||||
private void addTabForFv (FvInfoFromFdf fvInfo) {
|
private void addTabForFv (FvInfoFromFdf fvInfo) {
|
||||||
String fvName = fvInfo.getFvName();
|
String fvName = fvInfo.getFvName();
|
||||||
String outputFile = fvInfo.getEfiFileName();
|
String outputFile = fvInfo.getEfiFileName();
|
||||||
for (int i = 2; i < jTabbedPane.getTabCount(); ++i) {
|
int index = jTabbedPane.indexOfTab(fvName);
|
||||||
if (jTabbedPane.getTitleAt(i).equals(fvName)) {
|
if (index >= startIndexOfDynamicTab) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
jTabbedPane.addTab(fvName, null, new ModuleOrderPane(fvName, outputFile), null);
|
jTabbedPane.addTab(fvName, null, new ModuleOrderPane(fvName, outputFile), null);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
@ -1560,10 +1591,82 @@ public class FpdFlash extends IInternalFrame {
|
||||||
jTableFvAdditional.setRowHeight(20);
|
jTableFvAdditional.setRowHeight(20);
|
||||||
jTableFvAdditional.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
|
jTableFvAdditional.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
|
||||||
jTableFvAdditional.setModel(getFvAddtionalTableModel());
|
jTableFvAdditional.setModel(getFvAddtionalTableModel());
|
||||||
|
|
||||||
|
jTableFvAdditional.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
|
||||||
|
public void valueChanged(ListSelectionEvent e) {
|
||||||
|
if (e.getValueIsAdjusting()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ListSelectionModel lsm = (ListSelectionModel) e.getSource();
|
||||||
|
if (lsm.isSelectionEmpty()) {
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
selectedRowInFvAdditionalTable = lsm.getMinSelectionIndex();
|
||||||
|
oldFvName = jTableFvAdditional.getValueAt(selectedRowInFvAdditionalTable, 0)+"";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
jTableFvAdditional.getModel().addTableModelListener(new TableModelListener() {
|
||||||
|
public void tableChanged(TableModelEvent arg0) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
int row = arg0.getFirstRow();
|
||||||
|
int col = arg0.getColumn();
|
||||||
|
TableModel m = (TableModel) arg0.getSource();
|
||||||
|
if (arg0.getType() == TableModelEvent.UPDATE) {
|
||||||
|
if (col == 0) {
|
||||||
|
String newFvName = m.getValueAt(row, 0) + "";
|
||||||
|
if (newFvName.equals(oldFvName)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (fvNameExists(newFvName)) {
|
||||||
|
JOptionPane.showMessageDialog(frame, "This FV already exists. Please choose another FV name.");
|
||||||
|
m.setValueAt(oldFvName, row, 0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
tabIndexForFv = jTabbedPane.indexOfTab(oldFvName);
|
||||||
|
if (tabIndexForFv >= startIndexOfDynamicTab) {
|
||||||
|
jTabbedPane.setTitleAt(tabIndexForFv, newFvName);
|
||||||
|
// change FvName in UserExtensions
|
||||||
|
ffc.updateBuildOptionsUserExtensions(oldFvName, newFvName);
|
||||||
|
// change FvBinding in ModuleSA
|
||||||
|
ffc.appendFvBindingFor(oldFvName, newFvName);
|
||||||
|
ffc.removeFvBindingAll(oldFvName);
|
||||||
|
// change FvImageNames in Flash
|
||||||
|
ffc.updateFvImageNameAll(oldFvName, newFvName);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
jTabbedPane.addTab(newFvName, new ModuleOrderPane(newFvName, ""));
|
||||||
|
// Add FvImageNames in Flash
|
||||||
|
String[] fvNames = {newFvName};
|
||||||
|
ffc.AddFvImageFvImageNames(fvNames);
|
||||||
|
}
|
||||||
|
|
||||||
|
oldFvName = newFvName;
|
||||||
|
}
|
||||||
|
docConsole.setSaved(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
return jTableFvAdditional;
|
return jTableFvAdditional;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean fvNameExists (String fvName) {
|
||||||
|
for (int i = 0; i < jTableFvInFdf.getRowCount(); ++i) {
|
||||||
|
if (fvInFdfTableModel.getValueAt(i, 0).equals(fvName)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (int j = 0; j < jTableFvAdditional.getRowCount(); ++j) {
|
||||||
|
if (fvAddtionalTableModel.getValueAt(j, 0).equals(fvName) && j != selectedRowInFvAdditionalTable) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method initializes fvAddtionalTableModel
|
* This method initializes fvAddtionalTableModel
|
||||||
*
|
*
|
||||||
|
@ -1588,11 +1691,15 @@ public class FpdFlash extends IInternalFrame {
|
||||||
if (jButtonAddFv == null) {
|
if (jButtonAddFv == null) {
|
||||||
jButtonAddFv = new JButton();
|
jButtonAddFv = new JButton();
|
||||||
jButtonAddFv.setPreferredSize(new java.awt.Dimension(80,20));
|
jButtonAddFv.setPreferredSize(new java.awt.Dimension(80,20));
|
||||||
jButtonAddFv.setEnabled(false);
|
jButtonAddFv.setEnabled(true);
|
||||||
jButtonAddFv.setText("New");
|
jButtonAddFv.setText("New");
|
||||||
jButtonAddFv.addActionListener(new java.awt.event.ActionListener() {
|
jButtonAddFv.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent e) {
|
public void actionPerformed(java.awt.event.ActionEvent e) {
|
||||||
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
|
if (jTableFvAdditional.isEditing()) {
|
||||||
|
jTableFvAdditional.getCellEditor().stopCellEditing();
|
||||||
|
}
|
||||||
|
String[] row = {"", "", ""};
|
||||||
|
fvAddtionalTableModel.addRow(row);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1673,24 +1780,6 @@ public class FpdFlash extends IInternalFrame {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void init(FpdFileContents ffc) {
|
private void init(FpdFileContents ffc) {
|
||||||
if (ffc.getFvImagesFvImageCount() == 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
String[][] saa = new String[ffc.getFvImagesFvImageCount()][2];
|
|
||||||
ffc.getFvImagesFvImages(saa);
|
|
||||||
|
|
||||||
int i = 0;
|
|
||||||
while (i < saa.length) {
|
|
||||||
|
|
||||||
fvImageParaTableModel.addRow(saa[i]);
|
|
||||||
++i;
|
|
||||||
}
|
|
||||||
|
|
||||||
saa = new String[ffc.getFvImagesNameValueCount()][2];
|
|
||||||
ffc.getFvImagesNameValues(saa);
|
|
||||||
for (int m = 0; m < saa.length; ++m) {
|
|
||||||
fvPropertyTableModel.addRow(saa[m]);
|
|
||||||
}
|
|
||||||
|
|
||||||
jTextFieldFdf.setText("");
|
jTextFieldFdf.setText("");
|
||||||
String fdfFile = ffc.getFlashDefinitionFile();
|
String fdfFile = ffc.getFlashDefinitionFile();
|
||||||
|
@ -1700,6 +1789,7 @@ public class FpdFlash extends IInternalFrame {
|
||||||
|
|
||||||
String fdfPath = System.getenv("WORKSPACE") + File.separator + fdfFile;
|
String fdfPath = System.getenv("WORKSPACE") + File.separator + fdfFile;
|
||||||
initFvInFdfTable(fdfPath);
|
initFvInFdfTable(fdfPath);
|
||||||
|
initFvAdditionalTable();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void getOptionNameValue(Map<String, String> m){
|
private void getOptionNameValue(Map<String, String> m){
|
||||||
|
@ -2216,7 +2306,7 @@ public class FpdFlash extends IInternalFrame {
|
||||||
if (jButtonOk == null) {
|
if (jButtonOk == null) {
|
||||||
jButtonOk = new JButton();
|
jButtonOk = new JButton();
|
||||||
jButtonOk.setPreferredSize(new java.awt.Dimension(80,20));
|
jButtonOk.setPreferredSize(new java.awt.Dimension(80,20));
|
||||||
jButtonOk.setText("Save");
|
jButtonOk.setText("Ok");
|
||||||
jButtonOk.addActionListener(new java.awt.event.ActionListener() {
|
jButtonOk.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent e) {
|
public void actionPerformed(java.awt.event.ActionEvent e) {
|
||||||
// need reset FvBindings in ModuleSA.
|
// need reset FvBindings in ModuleSA.
|
||||||
|
|
Loading…
Reference in New Issue