skipped 13 lines 14 14 from java.lang import Integer 15 15 from java.lang import String 16 16 from java.awt import Color 17 + from javax.swing import ListSelectionModel 18 + from javax.swing.event import ListSelectionListener 17 19 18 20 from helpers.filters import expand, collapse 19 21 skipped 128 lines 148 150 return logEntry._enfocementStatusUnauthorized 149 151 return "" 150 152 153 + class TableSelectionListener(ListSelectionListener): 154 + """Class Responsible for the multi-row deletion""" 155 + def __init__(self, extender): 156 + self._extender = extender 157 + 158 + def valueChanged(self, e): 159 + rows = [i for i in self._table.getSelectedRows()] 160 + self._extender.tableModel.removeRows(rows) 161 + 151 162 class Table(JTable): 152 163 def __init__(self, extender): 153 164 self._extender = extender skipped 2 lines 156 167 self.addMouseListener(Mouseclick(self._extender)) 157 168 self.getColumnModel().getColumn(0).setPreferredWidth(450) 158 169 self.setRowSelectionAllowed(True) 170 + # Enables multi-row selection 171 + self.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION) 159 172 160 173 def prepareRenderer(self, renderer, row, col): 161 174 comp = JTable.prepareRenderer(self, renderer, row, col) 162 175 value = self._extender.tableModel.getValueAt(self._extender.logTable.convertRowIndexToModel(row), col) 163 - 164 176 if col == 6 or col == 7: 165 177 if value == self._extender.BYPASSSED_STR: 166 178 comp.setBackground(Color(255, 153, 153)) skipped 8 lines 175 187 comp.setForeground(Color.BLACK) 176 188 comp.setBackground(Color.WHITE) 177 189 178 - selectedRow = self._extender.logTable.getSelectedRow () 179 - if selectedRow == row: 190 + selectedRows = self._extender.logTable.getSelectedRows () 191 + if row in selectedRows: 180 192 comp.setBackground(Color(201, 215, 255)) 181 193 comp.setForeground(Color.BLACK) 182 - 183 194 184 195 return comp 185 196 skipped 97 lines