X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FFrameworkWizard%2Fsrc%2Forg%2Ftianocore%2Fframeworkwizard%2Fpackaging%2Fui%2FSpdMsaFiles.java;h=efaf0ef53fcff072776094b3a0519974a29262c4;hp=f21ddd716c49c878523107cfd834fc0865528c81;hb=04a13d6c501bd4b70331a11a88d480bb254a3693;hpb=a13899c5acad2f5e125abdae972b4c3d1e522f69 diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdMsaFiles.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdMsaFiles.java index f21ddd716c..efaf0ef53f 100644 --- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdMsaFiles.java +++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdMsaFiles.java @@ -12,26 +12,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ package org.tianocore.frameworkwizard.packaging.ui; -import java.awt.BorderLayout; import java.awt.Dimension; -import java.awt.Toolkit; import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.awt.event.ComponentEvent; import java.io.File; -import java.util.Vector; import javax.swing.AbstractAction; -import javax.swing.DefaultListModel; import javax.swing.JFileChooser; import javax.swing.JOptionPane; import javax.swing.JPanel; -import javax.swing.JRadioButton; import javax.swing.JTable; import javax.swing.JTextField; -import javax.swing.JComboBox; import javax.swing.JLabel; -import javax.swing.JList; import javax.swing.JScrollPane; import javax.swing.JButton; import javax.swing.JFrame; @@ -46,8 +38,8 @@ import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; import org.tianocore.PackageSurfaceAreaDocument; -import org.tianocore.frameworkwizard.common.DataType; import org.tianocore.frameworkwizard.common.Tools; +import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType; import org.tianocore.frameworkwizard.common.ui.IInternalFrame; import org.tianocore.frameworkwizard.common.ui.StarLabel; @@ -57,6 +49,11 @@ import org.tianocore.frameworkwizard.common.ui.StarLabel; @since PackageEditor 1.0 **/ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{ + /** + * + */ + private static final long serialVersionUID = 1L; + static JFrame frame; private JScrollPane jScrollPane = null; // @jve:decl-index=0:visual-constraint="10,95" @@ -67,7 +64,7 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{ private JPanel jContentPane = null; - private JScrollPane jScrollPane1 = null; + private JScrollPane jScrollPaneMsa = null; private JButton jButtonAdd = null; @@ -88,6 +85,8 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{ private StarLabel jStarLabel2 = null; private SpdFileContents sfc = null; + + private OpeningPackageType docConsole = null; private int selectedRow = -1; @@ -106,13 +105,13 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{ @return javax.swing.JScrollPane **/ - private JScrollPane getJScrollPane1() { - if (jScrollPane1 == null) { - jScrollPane1 = new JScrollPane(); - jScrollPane1.setBounds(new java.awt.Rectangle(13,177,461,139)); - jScrollPane1.setViewportView(getJTable()); + private JScrollPane getJScrollPaneMsa() { + if (jScrollPaneMsa == null) { + jScrollPaneMsa = new JScrollPane(); + jScrollPaneMsa.setBounds(new java.awt.Rectangle(13,177,461,421)); + jScrollPaneMsa.setViewportView(getJTable()); } - return jScrollPane1; + return jScrollPaneMsa; } /** @@ -242,6 +241,11 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{ sfc = new SpdFileContents(inPsa); init(sfc); } + + public SpdMsaFiles(OpeningPackageType opt){ + this(opt.getXmlSpd()); + docConsole = opt; + } /** This method initializes this @@ -304,7 +308,7 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{ jContentPane.setLayout(null); jContentPane.add(jLabel, null); jContentPane.add(jStarLabel2, null); - jContentPane.add(getJScrollPane1(), null); + jContentPane.add(getJScrollPaneMsa(), null); jContentPane.add(getJButtonAdd(), null); jContentPane.add(getJButtonRemove(), null); jContentPane.add(getJButtonClearAll(), null); @@ -328,6 +332,7 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{ * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ public void actionPerformed(ActionEvent arg0) { + if (arg0.getSource() == jButtonOk) { this.save(); this.dispose(); @@ -340,9 +345,20 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{ if (arg0.getSource() == jButtonAdd) { //ToDo: check before add String[] row = {jTextField.getText().replace('\\', '/')}; - + if (jTextField.getText().length() == 0) { + JOptionPane.showMessageDialog(this, "Msa File is NOT PathAndFilename type."); + return; + } + + String dirPrefix = Tools.dirForNewSpd.substring(0, Tools.dirForNewSpd.lastIndexOf(File.separator)); + if (!new File(dirPrefix + File.separator + jTextField.getText()).exists()) { + JOptionPane.showMessageDialog(this, "File NOT Exists in Current Package."); + return; + } model.addRow(row); + jTable.changeSelection(model.getRowCount()-1, 0, false, false); sfc.genSpdMsaFiles(row[0], null, null, null); + docConsole.setSaved(false); } // // remove selected line @@ -355,6 +371,7 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{ if (rowSelected >= 0) { model.removeRow(rowSelected); sfc.removeSpdMsaFile(rowSelected); + docConsole.setSaved(false); } } @@ -364,6 +381,7 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{ } model.setRowCount(0); sfc.removeSpdMsaFile(); + docConsole.setSaved(false); } } @@ -371,10 +389,27 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{ public void tableChanged(TableModelEvent arg0) { // TODO Auto-generated method stub int row = arg0.getFirstRow(); + int column = arg0.getColumn(); TableModel m = (TableModel)arg0.getSource(); if (arg0.getType() == TableModelEvent.UPDATE){ + String[] sa = new String[1]; + sfc.getSpdMsaFile(sa, row); + Object cellData = m.getValueAt(row, column); + if (cellData == null) { + cellData = ""; + } + if (cellData.equals(sa[column])) { + return; + } + if (cellData.toString().length() == 0 && sa[column] == null) { + return; + } String file = m.getValueAt(row, 0) + ""; - + if (file.length() == 0) { + JOptionPane.showMessageDialog(this, "Msa File is NOT PathAndFilename type."); + return; + } + docConsole.setSaved(false); sfc.updateSpdMsaFile(row, file, null, null, null); } } @@ -412,6 +447,11 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{ jButtonBrowse.setText("Browse"); jButtonBrowse.setPreferredSize(new java.awt.Dimension(90,20)); jButtonBrowse.addActionListener(new AbstractAction() { + /** + * + */ + private static final long serialVersionUID = 1L; + public void actionPerformed(ActionEvent e) { // // Select files from current workspace @@ -453,9 +493,9 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{ public void componentResized(ComponentEvent arg0) { int intPreferredWidth = 500; - resizeComponentWidth(this.jScrollPane1, this.getWidth(), intPreferredWidth); - resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth); - relocateComponentX(this.jButtonBrowse, this.getWidth(), this.getPreferredSize().width, 25); + Tools.resizeComponentWidth(this.jScrollPaneMsa, this.getWidth(), intPreferredWidth); + Tools.resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth); + Tools.relocateComponentX(this.jButtonBrowse, this.getWidth(), this.getPreferredSize().width, 25); } public static void main(String[] args){