]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/ModulePpis.java
1. Finish Enhancement EDKT345: Support deleting multiple rows together when remove...
[mirror_edk2.git] / Tools / Java / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / module / ui / ModulePpis.java
index ce817642eff7cc3ca4b3028188a4770be67e46ac..c7a3e424e9382f4dd481980ad5dc9ffd8b5bad72 100644 (file)
@@ -94,6 +94,8 @@ public class ModulePpis extends IInternalFrame {
     private IDefaultTableModel model = null;\r
 \r
     private int selectedRow = -1;\r
+    \r
+    private IFrame parentFrame = null;\r
 \r
     /**\r
      This method initializes jButtonAdd \r
@@ -104,10 +106,10 @@ public class ModulePpis extends IInternalFrame {
     private JButton getJButtonAdd() {\r
         if (jButtonAdd == null) {\r
             jButtonAdd = new JButton();\r
-            jButtonAdd.setBounds(new java.awt.Rectangle(230, 220, 80, 20));\r
+            jButtonAdd.setBounds(new java.awt.Rectangle(230, 220, 90, 20));\r
             jButtonAdd.setText("Add");\r
             jButtonAdd.addActionListener(this);\r
-            jButtonAdd.setPreferredSize(new java.awt.Dimension(80, 20));\r
+            jButtonAdd.setPreferredSize(new java.awt.Dimension(90, 20));\r
         }\r
         return jButtonAdd;\r
     }\r
@@ -121,10 +123,10 @@ public class ModulePpis extends IInternalFrame {
     private JButton getJButtonRemove() {\r
         if (jButtonRemove == null) {\r
             jButtonRemove = new JButton();\r
-            jButtonRemove.setBounds(new java.awt.Rectangle(400, 220, 80, 20));\r
+            jButtonRemove.setBounds(new java.awt.Rectangle(400, 220, 90, 20));\r
             jButtonRemove.setText("Remove");\r
             jButtonRemove.addActionListener(this);\r
-            jButtonRemove.setPreferredSize(new java.awt.Dimension(80, 20));\r
+            jButtonRemove.setPreferredSize(new java.awt.Dimension(90, 20));\r
         }\r
         return jButtonRemove;\r
     }\r
@@ -138,8 +140,8 @@ public class ModulePpis extends IInternalFrame {
     private JButton getJButtonUpdate() {\r
         if (jButtonUpdate == null) {\r
             jButtonUpdate = new JButton();\r
-            jButtonUpdate.setBounds(new java.awt.Rectangle(315, 220, 80, 20));\r
-            jButtonUpdate.setPreferredSize(new java.awt.Dimension(80, 20));\r
+            jButtonUpdate.setBounds(new java.awt.Rectangle(315, 220, 90, 20));\r
+            jButtonUpdate.setPreferredSize(new java.awt.Dimension(90, 20));\r
             jButtonUpdate.setText("Edit");\r
             jButtonUpdate.addActionListener(this);\r
         }\r
@@ -190,7 +192,7 @@ public class ModulePpis extends IInternalFrame {
             model.addColumn("Type");\r
             model.addColumn("Usage");\r
 \r
-            jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+            jTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);\r
             jTable.getSelectionModel().addListSelectionListener(this);\r
             jTable.getModel().addTableModelListener(this);\r
             jTable.addMouseListener(this);\r
@@ -279,10 +281,11 @@ public class ModulePpis extends IInternalFrame {
      @param inPpis The input data of PPIsDocument.PPIs\r
      \r
      **/\r
-    public ModulePpis(OpeningModuleType inOmt) {\r
+    public ModulePpis(OpeningModuleType inOmt, IFrame iFrame) {\r
         super();\r
         this.omt = inOmt;\r
         this.msa = omt.getXmlMsa();\r
+        this.parentFrame = iFrame;\r
         init(msa.getPPIs());\r
         this.setVisible(true);\r
     }\r
@@ -308,7 +311,7 @@ public class ModulePpis extends IInternalFrame {
     }\r
 \r
     private void showEdit(int index) {\r
-        PpisDlg dlg = new PpisDlg(vid.getPpis(index), new IFrame(), omt.getId());\r
+        PpisDlg dlg = new PpisDlg(vid.getPpis(index), this.parentFrame, omt.getId());\r
         int result = dlg.showDialog();\r
         if (result == DataType.RETURN_TYPE_OK) {\r
             if (index == -1) {\r
@@ -375,9 +378,14 @@ public class ModulePpis extends IInternalFrame {
             if (jTable.isEditing()) {\r
                 jTable.getCellEditor().stopCellEditing();\r
             }\r
-            if (selectedRow > -1) {\r
-                this.model.removeRow(selectedRow);\r
-                this.vid.removePpis(selectedRow);\r
+\r
+            int selectedRows[] = this.jTable.getSelectedRows();\r
+            \r
+            if (selectedRows != null) {\r
+                for (int index = selectedRows.length - 1; index > -1; index--) {\r
+                    this.model.removeRow(selectedRows[index]);\r
+                    this.vid.removePpis(selectedRows[index]);\r
+                }\r
                 selectedRow = -1;\r
                 this.save();\r
             }\r