]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/ModuleVariables.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 / ModuleVariables.java
index 7711c2f0fc78e6182233b3aa8c7062cffcf5a12c..29eb4ff8528facdb1c1771401ca02565ebb0590e 100644 (file)
@@ -89,6 +89,8 @@ public class ModuleVariables 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
@@ -185,7 +187,7 @@ public class ModuleVariables extends IInternalFrame {
             model.addColumn("Guid C_Name");\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
@@ -257,10 +259,11 @@ public class ModuleVariables extends IInternalFrame {
      @param inVariables The input data of VariablesDocument.Variables\r
      \r
      **/\r
-    public ModuleVariables(OpeningModuleType inOmt) {\r
+    public ModuleVariables(OpeningModuleType inOmt, IFrame iFrame) {\r
         super();\r
         this.omt = inOmt;\r
         this.msa = omt.getXmlMsa();\r
+        this.parentFrame = iFrame;\r
         init(msa.getVariables());\r
         this.setVisible(true);\r
     }\r
@@ -286,7 +289,7 @@ public class ModuleVariables extends IInternalFrame {
     }\r
 \r
     private void showEdit(int index) {\r
-        VariablesDlg dlg = new VariablesDlg(vid.getVariables(index), new IFrame(), omt.getId());\r
+        VariablesDlg dlg = new VariablesDlg(vid.getVariables(index), this.parentFrame, omt.getId());\r
         int result = dlg.showDialog();\r
         if (result == DataType.RETURN_TYPE_OK) {\r
             if (index == -1) {\r
@@ -353,9 +356,14 @@ public class ModuleVariables extends IInternalFrame {
             if (jTable.isEditing()) {\r
                 jTable.getCellEditor().stopCellEditing();\r
             }\r
-            if (selectedRow > -1) {\r
-                this.model.removeRow(selectedRow);\r
-                this.vid.removeVariables(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.removeVariables(selectedRows[index]);\r
+                }\r
                 selectedRow = -1;\r
                 this.save();\r
             }\r