[add] events can be removed by clicking a button in event_table
This commit is contained in:
parent
60594c97cf
commit
be588252cf
53
QtPyLoT.py
53
QtPyLoT.py
@ -917,9 +917,16 @@ class MainWindow(QMainWindow):
|
|||||||
self.init_events()
|
self.init_events()
|
||||||
self.setDirty(True)
|
self.setDirty(True)
|
||||||
|
|
||||||
def removeEvent(self, eventID):
|
def remove_event(self, event):
|
||||||
self.project.remove_event_by_id(eventID)
|
qmb = QMessageBox(self, icon=QMessageBox.Question,
|
||||||
self.init_events()
|
text='Are you sure you want to delete event {}?'.format(event.pylot_id))
|
||||||
|
qmb.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
|
||||||
|
qmb.setDefaultButton(QMessageBox.Yes)
|
||||||
|
ret = qmb.exec_()
|
||||||
|
if not ret == qmb.Yes:
|
||||||
|
return
|
||||||
|
self.project.remove_event(event)
|
||||||
|
self.init_events(True)
|
||||||
|
|
||||||
def createEventBox(self):
|
def createEventBox(self):
|
||||||
'''
|
'''
|
||||||
@ -2187,27 +2194,31 @@ class MainWindow(QMainWindow):
|
|||||||
# changes attributes of the corresponding event
|
# changes attributes of the corresponding event
|
||||||
table = self.project._table
|
table = self.project._table
|
||||||
event = self.project.getEventFromPath(table[row][0].text())
|
event = self.project.getEventFromPath(table[row][0].text())
|
||||||
if column == 8 or column == 9:
|
if column == 9 or column == 10:
|
||||||
# toggle checked states (exclusive)
|
# toggle checked states (exclusive)
|
||||||
item_ref = table[row][8]
|
item_ref = table[row][9]
|
||||||
item_test = table[row][9]
|
item_test = table[row][10]
|
||||||
if column == 8 and item_ref.checkState():
|
if column == 9 and item_ref.checkState():
|
||||||
item_test.setCheckState(QtCore.Qt.Unchecked)
|
item_test.setCheckState(QtCore.Qt.Unchecked)
|
||||||
event.setRefEvent(True)
|
event.setRefEvent(True)
|
||||||
elif column == 8 and not item_ref.checkState():
|
elif column == 9 and not item_ref.checkState():
|
||||||
event.setRefEvent(False)
|
event.setRefEvent(False)
|
||||||
elif column == 9 and item_test.checkState():
|
elif column == 10 and item_test.checkState():
|
||||||
item_ref.setCheckState(QtCore.Qt.Unchecked)
|
item_ref.setCheckState(QtCore.Qt.Unchecked)
|
||||||
event.setTestEvent(True)
|
event.setTestEvent(True)
|
||||||
elif column == 9 and not item_test.checkState():
|
elif column == 10 and not item_test.checkState():
|
||||||
event.setTestEvent(False)
|
event.setTestEvent(False)
|
||||||
self.fill_eventbox()
|
self.fill_eventbox()
|
||||||
elif column == 5:
|
elif column == 11:
|
||||||
# update event notes
|
# update event notes
|
||||||
notes = table[row][5].text()
|
notes = table[row][11].text()
|
||||||
event.addNotes(notes)
|
event.addNotes(notes)
|
||||||
self.fill_eventbox()
|
self.fill_eventbox()
|
||||||
|
|
||||||
|
# generate delete icon
|
||||||
|
del_icon = QIcon()
|
||||||
|
del_icon.addPixmap(QPixmap(':/icons/delete.png'))
|
||||||
|
|
||||||
# remove old table
|
# remove old table
|
||||||
if hasattr(self, 'event_table'):
|
if hasattr(self, 'event_table'):
|
||||||
self.event_table.setParent(None)
|
self.event_table.setParent(None)
|
||||||
@ -2215,9 +2226,10 @@ class MainWindow(QMainWindow):
|
|||||||
|
|
||||||
# init new qtable
|
# init new qtable
|
||||||
self.event_table = QtGui.QTableWidget()
|
self.event_table = QtGui.QTableWidget()
|
||||||
self.event_table.setColumnCount(11)
|
self.event_table.setColumnCount(12)
|
||||||
self.event_table.setRowCount(len(eventlist))
|
self.event_table.setRowCount(len(eventlist))
|
||||||
self.event_table.setHorizontalHeaderLabels(['Event',
|
self.event_table.setHorizontalHeaderLabels(['',
|
||||||
|
'Event',
|
||||||
'Time',
|
'Time',
|
||||||
'Lat',
|
'Lat',
|
||||||
'Lon',
|
'Lon',
|
||||||
@ -2238,6 +2250,10 @@ class MainWindow(QMainWindow):
|
|||||||
event_npicks = len(event.pylot_picks)
|
event_npicks = len(event.pylot_picks)
|
||||||
if event.pylot_autopicks:
|
if event.pylot_autopicks:
|
||||||
event_nautopicks = len(event.pylot_autopicks)
|
event_nautopicks = len(event.pylot_autopicks)
|
||||||
|
|
||||||
|
# init table items for current row
|
||||||
|
item_delete = QtGui.QPushButton()
|
||||||
|
item_delete.setIcon(del_icon)
|
||||||
item_path = QtGui.QTableWidgetItem()
|
item_path = QtGui.QTableWidgetItem()
|
||||||
item_time = QtGui.QTableWidgetItem()
|
item_time = QtGui.QTableWidgetItem()
|
||||||
item_lat = QtGui.QTableWidgetItem()
|
item_lat = QtGui.QTableWidgetItem()
|
||||||
@ -2252,6 +2268,8 @@ class MainWindow(QMainWindow):
|
|||||||
item_test = QtGui.QTableWidgetItem()
|
item_test = QtGui.QTableWidgetItem()
|
||||||
item_notes = QtGui.QTableWidgetItem()
|
item_notes = QtGui.QTableWidgetItem()
|
||||||
|
|
||||||
|
# manipulate items
|
||||||
|
item_delete.clicked.connect(lambda ev=event: self.remove_event(ev))
|
||||||
item_ref.setBackground(self._colors['ref'])
|
item_ref.setBackground(self._colors['ref'])
|
||||||
item_test.setBackground(self._colors['test'])
|
item_test.setBackground(self._colors['test'])
|
||||||
item_path.setText(event.path)
|
item_path.setText(event.path)
|
||||||
@ -2287,13 +2305,16 @@ class MainWindow(QMainWindow):
|
|||||||
else:
|
else:
|
||||||
item_test.setCheckState(QtCore.Qt.Unchecked)
|
item_test.setCheckState(QtCore.Qt.Unchecked)
|
||||||
|
|
||||||
column = [item_path, item_time, item_lat, item_lon, item_depth, item_mag,
|
column = [item_delete, item_path, item_time, item_lat, item_lon, item_depth, item_mag,
|
||||||
item_nmp, item_nap, item_ref, item_test, item_notes]
|
item_nmp, item_nap, item_ref, item_test, item_notes]
|
||||||
self.project._table.append(column)
|
self.project._table.append(column)
|
||||||
|
|
||||||
for r_index, row in enumerate(self.project._table):
|
for r_index, row in enumerate(self.project._table):
|
||||||
for c_index, item in enumerate(row):
|
for c_index, item in enumerate(row):
|
||||||
self.event_table.setItem(r_index, c_index, item)
|
if type(item) == QtGui.QTableWidgetItem:
|
||||||
|
self.event_table.setItem(r_index, c_index, item)
|
||||||
|
elif type(item) in [QtGui.QWidget, QtGui.QPushButton]:
|
||||||
|
self.event_table.setCellWidget(r_index, c_index, item)
|
||||||
|
|
||||||
header = self.event_table.horizontalHeader()
|
header = self.event_table.horizontalHeader()
|
||||||
header.setResizeMode(QtGui.QHeaderView.ResizeToContents)
|
header.setResizeMode(QtGui.QHeaderView.ResizeToContents)
|
||||||
|
@ -1 +1 @@
|
|||||||
3787-dirty
|
6059-dirty
|
||||||
|
Loading…
Reference in New Issue
Block a user