]> 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 0da492202c910a5fd40d1da0dfd9814e651d6336..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
@@ -99,10 +101,10 @@ public class ModuleVariables 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
@@ -116,10 +118,10 @@ public class ModuleVariables 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
@@ -133,8 +135,8 @@ public class ModuleVariables 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
@@ -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