]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/ModuleDataHubs.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 / ModuleDataHubs.java
index 94999d0ce346650f3805058d96a1c71420c790ef..b2217f15cdc0dde8adb5dd4bbfabf08705f0e6f6 100644 (file)
@@ -91,6 +91,8 @@ public class ModuleDataHubs 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
@@ -101,10 +103,10 @@ public class ModuleDataHubs extends IInternalFrame {
     private JButton getJButtonAdd() {\r
         if (jButtonAdd == null) {\r
             jButtonAdd = new JButton();\r
-            jButtonAdd.setBounds(new java.awt.Rectangle(230, 195, 80, 20));\r
+            jButtonAdd.setBounds(new java.awt.Rectangle(230, 195, 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
@@ -118,10 +120,10 @@ public class ModuleDataHubs extends IInternalFrame {
     private JButton getJButtonRemove() {\r
         if (jButtonRemove == null) {\r
             jButtonRemove = new JButton();\r
-            jButtonRemove.setBounds(new java.awt.Rectangle(400, 195, 80, 20));\r
+            jButtonRemove.setBounds(new java.awt.Rectangle(400, 195, 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
@@ -135,8 +137,8 @@ public class ModuleDataHubs extends IInternalFrame {
     private JButton getJButtonUpdate() {\r
         if (jButtonUpdate == null) {\r
             jButtonUpdate = new JButton();\r
-            jButtonUpdate.setBounds(new java.awt.Rectangle(315, 195, 80, 20));\r
-            jButtonUpdate.setPreferredSize(new java.awt.Dimension(80, 20));\r
+            jButtonUpdate.setBounds(new java.awt.Rectangle(315, 195, 90, 20));\r
+            jButtonUpdate.setPreferredSize(new java.awt.Dimension(90, 20));\r
             jButtonUpdate.setText("Edit");\r
             jButtonUpdate.addActionListener(this);\r
         }\r
@@ -186,7 +188,7 @@ public class ModuleDataHubs extends IInternalFrame {
             model.addColumn("Data Hub 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 ModuleDataHubs extends IInternalFrame {
      @param inDataHubs The input DataHubsDocument.DataHubs\r
      \r
      **/\r
-    public ModuleDataHubs(OpeningModuleType inOmt) {\r
+    public ModuleDataHubs(OpeningModuleType inOmt, IFrame iFrame) {\r
         super();\r
         this.omt = inOmt;\r
         this.msa = omt.getXmlMsa();\r
+        this.parentFrame = iFrame;\r
         init(msa.getDataHubs());\r
         this.setVisible(true);\r
     }\r
@@ -286,7 +289,7 @@ public class ModuleDataHubs extends IInternalFrame {
     }\r
 \r
     private void showEdit(int index) {\r
-        DataHubsDlg dlg = new DataHubsDlg(vid.getDataHubs(index), new IFrame(), omt.getId());\r
+        DataHubsDlg dlg = new DataHubsDlg(vid.getDataHubs(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 ModuleDataHubs extends IInternalFrame {
             if (jTable.isEditing()) {\r
                 jTable.getCellEditor().stopCellEditing();\r
             }\r
-            if (selectedRow > -1) {\r
-                this.model.removeRow(selectedRow);\r
-                this.vid.removeDataHubs(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.removeDataHubs(selectedRows[index]);\r
+                }\r
                 selectedRow = -1;\r
                 this.save();\r
             }\r