forked from M-Labs/artiq
waveform: add remove, clear waveform actions
This commit is contained in:
parent
1e9070a2af
commit
8b503c3b4f
|
@ -434,8 +434,18 @@ class _WaveformView(QtWidgets.QWidget):
|
||||||
w.setXLink(self._ref_vb)
|
w.setXLink(self._ref_vb)
|
||||||
w.setStoppedX(self._stopped_x)
|
w.setStoppedX(self._stopped_x)
|
||||||
w.setTimescale(self._timescale)
|
w.setTimescale(self._timescale)
|
||||||
|
action = QtWidgets.QAction("Delete waveform", w)
|
||||||
|
action.triggered.connect(lambda: self._delete_waveform(w))
|
||||||
|
w.addAction(action)
|
||||||
|
action = QtWidgets.QAction("Clear waveforms", w)
|
||||||
|
action.triggered.connect(self._model.clear)
|
||||||
|
w.addAction(action)
|
||||||
return w
|
return w
|
||||||
|
|
||||||
|
def _delete_waveform(self, waveform):
|
||||||
|
row = self._splitter.indexOf(waveform)
|
||||||
|
self._model.pop(row)
|
||||||
|
|
||||||
def _resize(self):
|
def _resize(self):
|
||||||
self._splitter.setFixedHeight(
|
self._splitter.setFixedHeight(
|
||||||
int((WAVEFORM_MIN_HEIGHT + WAVEFORM_MAX_HEIGHT) * self._model.rowCount() / 2))
|
int((WAVEFORM_MIN_HEIGHT + WAVEFORM_MAX_HEIGHT) * self._model.rowCount() / 2))
|
||||||
|
@ -479,6 +489,11 @@ class _WaveformModel(QtCore.QAbstractTableModel):
|
||||||
self.backing_struct.insert(dest, self.backing_struct.pop(src))
|
self.backing_struct.insert(dest, self.backing_struct.pop(src))
|
||||||
self.endMoveRows()
|
self.endMoveRows()
|
||||||
|
|
||||||
|
def clear(self):
|
||||||
|
self.beginRemoveRows(QtCore.QModelIndex(), 0, len(self.backing_struct) - 1)
|
||||||
|
self.backing_struct.clear()
|
||||||
|
self.endRemoveRows()
|
||||||
|
|
||||||
def update_data(self, waveform_data, top, bottom):
|
def update_data(self, waveform_data, top, bottom):
|
||||||
name_col = self.headers.index("name")
|
name_col = self.headers.index("name")
|
||||||
data_col = self.headers.index("data")
|
data_col = self.headers.index("data")
|
||||||
|
|
Loading…
Reference in New Issue