]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdGuidDecls.java
Delete useless file SpdPackageDefinitions.java;
[mirror_edk2.git] / Tools / Java / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / packaging / ui / SpdGuidDecls.java
index 8cdcedd73d3b59e3d4182553d5f26e985657676a..c0c4b2698c3536d8a55652c2097e9002f85a4c5b 100644 (file)
@@ -13,6 +13,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 package org.tianocore.frameworkwizard.packaging.ui;\r
 \r
 import java.awt.Dimension;\r
+import java.awt.FontMetrics;\r
+import java.awt.Point;\r
 import java.awt.event.ActionEvent;\r
 import java.awt.event.ComponentEvent;\r
 import java.util.Vector;\r
@@ -33,6 +35,7 @@ import javax.swing.event.ListSelectionListener;
 import javax.swing.event.TableModelEvent;\r
 import javax.swing.event.TableModelListener;\r
 import javax.swing.table.DefaultTableModel;\r
+import javax.swing.table.TableColumn;\r
 import javax.swing.table.TableModel;\r
 \r
 import org.tianocore.PackageSurfaceAreaDocument;\r
@@ -43,6 +46,7 @@ import org.tianocore.frameworkwizard.common.ui.IInternalFrame;
 import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
 import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList;\r
 import org.tianocore.frameworkwizard.platform.ui.ListEditor;\r
+import org.tianocore.frameworkwizard.platform.ui.LongTextEditor;\r
 \r
 /**\r
  GUI for create library definition elements of spd file.\r
@@ -131,6 +135,17 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
 \r
     protected String[][] saa = null;\r
 \r
+    protected StarLabel starLabel = null;\r
+    \r
+    private final int guidNameMinWidth = 200;\r
+    private final int guidCNameMinWidth = 200;\r
+    private final int guidValueMinWidth = 300;\r
+    private final int helpTextMinWidth = 300;\r
+    private final int supArchMinWidth = 200;\r
+    private final int supModMinWidth = 200;\r
+    private final int guidTypeMinWidth = 200;\r
+    \r
+\r
     /**\r
       This method initializes this\r
      \r
@@ -149,7 +164,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
     protected JTextField getJTextFieldGuid() {\r
         if (jTextFieldGuid == null) {\r
             jTextFieldGuid = new JTextField();\r
-            jTextFieldGuid.setBounds(new java.awt.Rectangle(137,60,435,20));\r
+            jTextFieldGuid.setBounds(new java.awt.Rectangle(137,60,336,20));\r
             jTextFieldGuid.setPreferredSize(new java.awt.Dimension(200,20));\r
             \r
         }\r
@@ -188,7 +203,24 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
            model.addColumn("Supported Architectures");\r
            model.addColumn("Supported Module Types");\r
            model.addColumn("GuidTypes");\r
+           \r
+           TableColumn column = jTable.getColumnModel().getColumn(0);\r
+           column.setMinWidth(this.guidNameMinWidth);\r
+           column = jTable.getColumnModel().getColumn(1);\r
+           column.setMinWidth(this.guidCNameMinWidth);\r
+           column = jTable.getColumnModel().getColumn(2);\r
+           column.setMinWidth(this.guidValueMinWidth);\r
+           column = jTable.getColumnModel().getColumn(3);\r
+           column.setMinWidth(this.helpTextMinWidth);\r
+           column = jTable.getColumnModel().getColumn(4);\r
+           column.setMinWidth(this.supArchMinWidth);\r
+           column = jTable.getColumnModel().getColumn(5);\r
+           column.setMinWidth(this.supModMinWidth);\r
+           column = jTable.getColumnModel().getColumn(6);\r
+           column.setMinWidth(this.guidTypeMinWidth);\r
+           \r
            jTable.getColumnModel().getColumn(2).setCellEditor(new GuidEditor());\r
+           jTable.getColumnModel().getColumn(3).setCellEditor(new LongTextEditor());\r
 \r
            Vector<String> vArch = new Vector<String>();\r
            vArch.add("IA32");\r
@@ -223,7 +255,9 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
            vGuid.add("HII_PACKAGE_LIST");\r
            vGuid.add("HOB");\r
            vGuid.add("TOKEN_SPACE_GUID");\r
-           jTable.getColumnModel().getColumn(6).setCellEditor(new ListEditor(vGuid));\r
+           ListEditor le = new ListEditor(vGuid);\r
+           le.setCanNotBeEmpty(true);\r
+           jTable.getColumnModel().getColumn(6).setCellEditor(le);\r
            \r
            jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
            jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
@@ -269,6 +303,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
        if (cellData.equals(sa[column])) {\r
            return;\r
        }\r
+       \r
        if (cellData.toString().length() == 0 && sa[column] == null) {\r
            return;\r
        }\r
@@ -322,7 +357,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
         if (jButtonRemove == null) {\r
             jButtonRemove = new JButton();\r
             jButtonRemove.setBounds(new java.awt.Rectangle(270,227,90,20));\r
-            jButtonRemove.setText("Remove");\r
+            jButtonRemove.setText("Delete");\r
             jButtonRemove.addActionListener(this);\r
         }\r
         return jButtonRemove;\r
@@ -397,6 +432,10 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
     public SpdGuidDecls(OpeningPackageType opt) {\r
         this(opt.getXmlSpd());\r
         docConsole = opt;\r
+        if (sfc.getSpdPkgDefsRdOnly().equals("true")) {\r
+            JOptionPane.showMessageDialog(frame, "This is a read-only package. You will not be able to edit contents in table.");\r
+        }\r
+        initFrame();\r
     }\r
     /**\r
       This method initializes this\r
@@ -414,7 +453,6 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
         });\r
         this.setBounds(new java.awt.Rectangle(0, 0, 500, 370));\r
         this.setVisible(true);\r
-        initFrame();\r
     }\r
 \r
     protected void init(SpdFileContents sfc){\r
@@ -431,6 +469,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
             model.addRow(saa[i]);\r
             i++;\r
         }\r
+        \r
     }\r
     \r
     protected JScrollPane getJContentPane(){\r
@@ -450,18 +489,26 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
      **/\r
     protected JPanel getJContentPane1() {\r
         if (jContentPane == null) {\r
+            \r
             jLabelGuidType = new JLabel();\r
-            jLabelGuidType.setBounds(new java.awt.Rectangle(400,122,103,16));\r
+            jLabelGuidType.setBounds(new java.awt.Rectangle(420,122,103,16));\r
             jLabelGuidType.setText("GUID Type List");\r
             jLabelGuidType.setEnabled(true);\r
+            starLabel = new StarLabel();\r
+            starLabel.setLocation(new Point(jLabelGuidType.getX() - 10, jLabelGuidType.getY()));\r
+            starLabel.setVisible(true);\r
             jLabelSupArch = new JLabel();\r
             jLabelSupArch.setBounds(new java.awt.Rectangle(197,122,108,16));\r
-            jLabelSupArch.setText("Supported Arch");\r
+            jLabelSupArch.setText("Supported Architectures");\r
             jLabelSupArch.setEnabled(true);\r
+            FontMetrics fm = jLabelSupArch.getFontMetrics(jLabelSupArch.getFont());\r
+            jLabelSupArch.setSize(fm.stringWidth(jLabelSupArch.getText()) + 10, 20);\r
             jLabelSupMod = new JLabel();\r
             jLabelSupMod.setBounds(new java.awt.Rectangle(14,120,110,16));\r
-            jLabelSupMod.setText("Supported Module");\r
+            jLabelSupMod.setText("Supported Module Types");\r
             jLabelSupMod.setEnabled(true);\r
+            fm = jLabelSupMod.getFontMetrics(jLabelSupMod.getFont());\r
+            jLabelSupMod.setSize(fm.stringWidth(jLabelSupMod.getText()) + 10, 20);\r
             jLabelHelp = new JLabel();\r
             jLabelHelp.setText("HelpText");\r
             jLabelHelp.setSize(new java.awt.Dimension(109,20));\r
@@ -513,6 +560,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
             jContentPane.add(getJScrollPaneGuid(), null);\r
             jContentPane.add(getJScrollPaneModule(), null);\r
             jContentPane.add(jLabelGuidType, null);\r
+            jContentPane.add(starLabel, null);\r
         }\r
         return jContentPane;\r
     }\r
@@ -523,7 +571,16 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
     protected void initFrame() {\r
         \r
         this.setTitle("GUID Declarations");\r
-\r
+        \r
+        boolean editable = true;\r
+        if (getSfc().getSpdPkgDefsRdOnly().equals("true")) {\r
+            editable = false;\r
+        }\r
+        \r
+        jButtonAdd.setEnabled(editable);\r
+        jButtonRemove.setEnabled(editable);\r
+        jButtonClearAll.setEnabled(editable);\r
+        jTable.setEnabled(editable);\r
     }\r
 \r
     /* (non-Javadoc)\r
@@ -638,7 +695,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
             vguidType = null;\r
         }\r
         if (vguidType == null) {\r
-            JOptionPane.showMessageDialog(this, "You must select one GUID type.");\r
+            JOptionPane.showMessageDialog(this, "You must select at least one GUID type.");\r
             return -1;\r
         }\r
         if (docConsole != null) {\r
@@ -677,8 +734,8 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
     protected JButton getJButtonGen() {\r
         if (jButtonGen == null) {\r
             jButtonGen = new JButton();\r
-            jButtonGen.setBounds(new java.awt.Rectangle(379,58,92,21));\r
-            jButtonGen.setText("Gen GUID");\r
+            jButtonGen.setBounds(new java.awt.Rectangle(485,58,92,21));\r
+            jButtonGen.setText("Gen");\r
             jButtonGen.setPreferredSize(new java.awt.Dimension(80,20));\r
             jButtonGen.addActionListener(this);\r
         }\r
@@ -875,6 +932,13 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
     protected JLabel getJLabelGuidType() {\r
         return jLabelGuidType;\r
     }\r
+\r
+    /**\r
+     * @return Returns the sfc.\r
+     */\r
+    protected SpdFileContents getSfc() {\r
+        return sfc;\r
+    }\r
 }\r
 \r
 \r