Skip to content

Commit

Permalink
table.py modified to allow multiple rows to be selected. You can sele…
Browse files Browse the repository at this point in the history
…ct 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 branch information
terminalJunki3 committed Jan 13, 2023
1 parent b5db38e commit 1eb4d01
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions gui/table.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
from java.lang import Integer
from java.lang import String
from java.awt import Color
from javax.swing import ListSelectionModel
from javax.swing.event import ListSelectionListener

from helpers.filters import expand, collapse

Expand Down Expand Up @@ -148,6 +150,15 @@ def getValueAt(self, rowIndex, columnIndex):
return logEntry._enfocementStatusUnauthorized
return ""

class TableSelectionListener(ListSelectionListener):
"""Class Responsible for the multi-row deletion"""
def __init__(self, extender):
self._extender = extender

def valueChanged(self, e):
rows = [i for i in self._table.getSelectedRows()]
self._extender.tableModel.removeRows(rows)

class Table(JTable):
def __init__(self, extender):
self._extender = extender
Expand All @@ -156,11 +167,12 @@ def __init__(self, extender):
self.addMouseListener(Mouseclick(self._extender))
self.getColumnModel().getColumn(0).setPreferredWidth(450)
self.setRowSelectionAllowed(True)
# Enables multi-row selection
self.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION)

def prepareRenderer(self, renderer, row, col):
comp = JTable.prepareRenderer(self, renderer, row, col)
value = self._extender.tableModel.getValueAt(self._extender.logTable.convertRowIndexToModel(row), col)

if col == 6 or col == 7:
if value == self._extender.BYPASSSED_STR:
comp.setBackground(Color(255, 153, 153))
Expand All @@ -175,12 +187,11 @@ def prepareRenderer(self, renderer, row, col):
comp.setForeground(Color.BLACK)
comp.setBackground(Color.WHITE)

selectedRow = self._extender.logTable.getSelectedRow()
if selectedRow == row:
selectedRows = self._extender.logTable.getSelectedRows()
if row in selectedRows:
comp.setBackground(Color(201, 215, 255))
comp.setForeground(Color.BLACK)


return comp

def changeSelection(self, row, col, toggle, extend):
Expand Down

0 comments on commit 1eb4d01

Please sign in to comment.