Projects STRLCPY autorize Commits 1eb4d014
🤬
  • table.py modified to allow multiple rows to be selected. You can select multiple rows by holding control and clicking each one. At this point you are only able to delete them. The deletion also removes them from the report. I'm working on the "retest selected request" to make it compatable now that multiple rows can be selected.

  • Loading...
  • terminalJunki3 committed 1 year ago
    1eb4d014
    1 parent b5db38e4
  • ■ ■ ■ ■ ■
    gui/table.py
    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
Please wait...
Page is in error, reload to recover