def getData(self, xDataDef, yDataDef): xDataList = list() yDataList = list() bottomList = list() topList = list() xsource, xspace, xname = xDataDef ysource, yspace, yname = yDataDef selectedRows = set( unique([ i.row() for i in self.measurementTableView.selectedIndexes() ])) selectedRows = None if len(selectedRows) < 2 else selectedRows for index, measurement in enumerate( self.measurementModel.measurements): if not selectedRows or index in selectedRows: xData, _, _ = self.sourceLookup[xsource](measurement, xspace, xname) yData, bottom, top = self.sourceLookup[ysource](measurement, yspace, yname) if xData is not None and yData is not None: xDataList.append(xData) yDataList.append(yData) if bottom is not None: bottomList.append(bottom) if top is not None: topList.append(top) if len(bottomList) == len(topList) == len(xDataList): return xDataList, yDataList, bottomList, topList return xDataList, yDataList, None, None
def onReAnalyze(self): for index in sorted( unique([ i.row() for i in self.measurementTableView.selectedIndexes() ])): self.container.measurements[index]
def onRemoveParameter(self): for index in sorted(unique([ i.row() for i in self.tableView.selectedIndexes() ]), reverse=True): parameter = self.parameters.at(index) parameter.enabled=False self.disableInstrument(parameter.name) self.parameters.pop( parameter.name ) self.parameterTableModel.setParameterDict( self.parameters )
def onDropMeasurement(self): for index in sorted(unique([ i.row() for i in self.tableView.selectedIndexes() ]), reverse=True): self.tableModel.dropMeasurement(index) numEntries = self.tableModel.rowCount() if self.settings.currentIndex >= numEntries: self.settings.currentIndex = 0 self.checkSettingsSavable()
def onRemoveEvaluation(self): for index in sorted(unique([ i.row() for i in self.evalTableView.selectedIndexes() ]), reverse=True): del self.settings.evalList[index] self.removeEvaluation(index) assert len(self.settings.evalList)==len(self.evalAlgorithmList), "EvalList and EvalAlgoithmList length mismatch" self.evalTableModel.setEvalList( self.settings.evalList, self.evalAlgorithmList ) self.checkSettingsSavable()
def onCounterRemoveSetting(self): for index in sorted(unique([ i.row() for i in self.DedicatedCounterTableView.selectedIndexes() ]), reverse=True): self.DedicatedTableModel.dropSetting(index) self.onSaveProfile()
def onRemoveMeasurementColumn(self): for index in sorted( unique([ i.column() for i in self.measurementTableView.selectedIndexes() if i.column() >= self.measurementModel.coreColumnCount ])): self.measurementModel.removeColumn(index) self.updateComboBoxes()
def onReset(self): indexes = self.tableView.selectedIndexes() channels = sorted(unique([i.row() for i in indexes])) mask = 0 if channels: for ch in channels: mask |= 1 << ch else: mask = 0xff self.ad9912.reset(mask)
def onAddResultToMeasurement(self): if self.currentMeasurement is not None: for index in sorted( unique([ i.row() for i in self.resultTableView.selectedIndexes() ])): result = self.currentMeasurement.results[index] self.measurementModel.addColumn(('result', None, result.name)) self.updateComboBoxes()
def onAddParameterToMeasurement(self): if self.currentMeasurement is not None: for index in sorted( unique([ i.row() for i in self.parameterTableView.selectedIndexes() ])): param = self.currentMeasurement.parameters[index] self.measurementModel.addColumn( ('parameter', param.space.name, param.name)) self.updateComboBoxes()
def onReorder(self, key): if key in [QtCore.Qt.Key_PageUp, QtCore.Qt.Key_PageDown]: indexes = self.tableview.selectedIndexes() up = key == QtCore.Qt.Key_PageUp delta = -1 if up else 1 rows = sorted(unique([i.row() for i in indexes]), reverse=not up) if self.tablemodel.moveRow( rows, delta): selectionModel = self.tableview.selectionModel() selectionModel.clearSelection() for index in indexes: selectionModel.select(self.tablemodel.createIndex(index.row()+delta, index.column()), QtCore.QItemSelectionModel.Select)
def onRemoveEvaluation(self): for index in sorted(unique( [i.row() for i in self.evalTableView.selectedIndexes()]), reverse=True): del self.settings.evalList[index] self.removeEvaluation(index) assert len(self.settings.evalList) == len( self.evalAlgorithmList ), "EvalList and EvalAlgoithmList length mismatch" self.evalTableModel.setEvalList(self.settings.evalList, self.evalAlgorithmList) self.checkSettingsSavable()
def onShow(self, show, checked): rows = sorted( unique([i.row() for i in self.signalTableView.selectedIndexes()])) if rows: for row in rows: self.signalTableModel.setData( self.signalTableModel.createIndex(row, 0), QtCore.Qt.Checked if show else QtCore.Qt.Unchecked, QtCore.Qt.CheckStateRole) self.signalTableModel.dataChanged.emit( self.signalTableModel.createIndex(rows[0], 0), self.signalTableModel.createIndex(rows[-1], 0))
def onReorder(self, key): if key in [QtCore.Qt.Key_PageUp, QtCore.Qt.Key_PageDown]: indexes = self.tableView.selectedIndexes() up = key==QtCore.Qt.Key_PageUp delta = -1 if up else 1 rows = sorted(unique([ i.row() for i in indexes ]), reverse=not up) if self.tableModel.moveRow( rows, up=up ): selectionModel = self.tableView.selectionModel() selectionModel.clearSelection() for index in indexes: selectionModel.select( self.tableModel.createIndex(index.row()+delta, index.column()), QtCore.QItemSelectionModel.Select ) # self.selectionChanged.emit( self.enabledParametersObjects ) self.checkSettingsSavable()
def onReorder(self, key): if key in [QtCore.Qt.Key_PageUp, QtCore.Qt.Key_PageDown]: indexes = self.tableView.selectedIndexes() up = key==QtCore.Qt.Key_PageUp delta = -1 if up else 1 rows = sorted(unique([ i.row() for i in indexes ]), reverse=not up) if self.parameterTableModel.moveRow( rows, up=up ): selectionModel = self.tableView.selectionModel() selectionModel.clearSelection() for index in indexes: selectionModel.select( self.parameterTableModel.createIndex(index.row()+delta, index.column()), QtCore.QItemSelectionModel.Select ) self.enabledParametersObjects.sortToMatch( list(self.parameters.keys()) ) self.emitSelectionChanged()
def onReorder(self, key): if key in [QtCore.Qt.Key_PageUp, QtCore.Qt.Key_PageDown]: indexes = self.tableview.selectedIndexes() up = key == QtCore.Qt.Key_PageUp delta = -1 if up else 1 rows = sorted(unique([i.row() for i in indexes]), reverse=not up) if self.tablemodel.moveRow(rows, delta): selectionModel = self.tableview.selectionModel() selectionModel.clearSelection() for index in indexes: selectionModel.select( self.tablemodel.createIndex(index.row() + delta, index.column()), QtCore.QItemSelectionModel.Select)
def getData(self, xDataDef, yDataDef): xDataList = list() yDataList = list() bottomList = list() topList = list() xsource, xspace, xname = xDataDef ysource, yspace, yname = yDataDef selectedRows = set(unique([ i.row() for i in self.measurementTableView.selectedIndexes() ])) selectedRows = None if len(selectedRows)<2 else selectedRows for index, measurement in enumerate(self.measurementModel.measurements): if not selectedRows or index in selectedRows: xData, _, _ = self.sourceLookup[xsource](measurement, xspace, xname) yData, bottom, top = self.sourceLookup[ysource](measurement, yspace, yname) if xData is not None and yData is not None: xDataList.append( xData ) yDataList.append( yData ) if bottom is not None: bottomList.append( bottom ) if top is not None: topList.append( top ) if len(bottomList)==len(topList)==len(xDataList): return xDataList, yDataList, bottomList, topList return xDataList, yDataList, None, None
def copy_to_clipboard(self): """ Copy the list of selected rows to the clipboard as a string. """ clip = QtWidgets.QApplication.clipboard() rows = sorted(unique([ i.row() for i in self.tableview.selectedIndexes()])) clip.setText(str(rows))
def onRemoveSetting(self): for index in sorted(unique([ i.row() for i in self.settingTableView.selectedIndexes() ]), reverse=True): self.settingTableModel.dropSetting(index)
def onAddResultToMeasurement(self): if self.currentMeasurement is not None: for index in sorted(unique([ i.row() for i in self.resultTableView.selectedIndexes() ])): result = self.currentMeasurement.results[index] self.measurementModel.addColumn( ('result', None, result.name) ) self.updateComboBoxes()
def removeShuttlingEdge(self): for index in sorted(unique([ i.row() for i in self.edgeTableView.selectedIndexes() ]), reverse=True): self.shuttleEdgeTableModel.remove(index)
def onRemoveAnalysis(self): for index in sorted(unique( [i.row() for i in self.analysisTableView.selectedIndexes()]), reverse=True): self.analysisTableModel.removeAnalysis(index) self.autoSave()
def removeShuttlingEdge(self): for index in sorted(unique( [i.row() for i in self.edgeTableView.selectedIndexes()]), reverse=True): self.shuttleEdgeTableModel.remove(index)
def onRemovePushVariable(self): for index in sorted(unique([ i.row() for i in self.pushTableView.selectedIndexes() ]), reverse=True): self.pushTableModel.removeVariable(index) self.autoSave()
def onRemoveAnalysis(self): for index in sorted(unique([ i.row() for i in self.analysisTableView.selectedIndexes() ]), reverse=True): self.analysisTableModel.removeAnalysis(index) self.autoSave()
def onAddParameterToMeasurement(self): if self.currentMeasurement is not None: for index in sorted(unique([ i.row() for i in self.parameterTableView.selectedIndexes() ])): param = self.currentMeasurement.parameters[index] self.measurementModel.addColumn( ('parameter', param.space.name, param.name) ) self.updateComboBoxes()
def onLoadLine(self): allrows = sorted(unique([ i.row() for i in self.tableView.selectedIndexes() ])) if len(allrows)==1: self.loadLine(self.settings.todoList[ allrows[0] ])
def onEnableStopFlag(self): allrows = sorted(unique([ i.row() for i in self.tableView.selectedIndexes() ])) if len(allrows)==1: self.enableStopFlag(self.settings.todoList[ allrows[0] ])
def onShow(self, show, checked): rows = sorted(unique([ i.row() for i in self.signalTableView.selectedIndexes() ])) if rows: for row in rows: self.signalTableModel.setData( self.signalTableModel.createIndex(row, 0), QtCore.Qt.Checked if show else QtCore.Qt.Unchecked, QtCore.Qt.CheckStateRole ) self.signalTableModel.dataChanged.emit( self.signalTableModel.createIndex(rows[0], 0), self.signalTableModel.createIndex(rows[-1], 0))
def copy_to_clipboard(self): """ Copy the list of selected rows to the clipboard as a string. """ clip = QtWidgets.QApplication.clipboard() rows = sorted( unique([i.row() for i in self.tableView.selectedIndexes()])) clip.setText(str(rows))
def onRemoveMeasurementColumn(self): for index in sorted(unique([ i.column() for i in self.measurementTableView.selectedIndexes() if i.column()>=self.measurementModel.coreColumnCount])): self.measurementModel.removeColumn(index) self.updateComboBoxes()
def onRemovePushVariable(self): for index in sorted(unique( [i.row() for i in self.pushTableView.selectedIndexes()]), reverse=True): self.pushTableModel.removeVariable(index) self.autoSave()
def onRemoveScanSegment(self): for index in sorted(unique( [i.column() for i in self.tableView.selectedIndexes()]), reverse=True): del self.settings.scanSegmentList[index] self.tableModel.setScanList(self.settings.scanSegmentList)
def onCounterRemoveSetting(self): for index in sorted(unique([ i.row() for i in self.CounterTableView.selectedIndexes() ]),reverse=True): self.CounterTableModel.dropSetting(index) self.autoSave()
def onReAnalyze(self): for index in sorted(unique([ i.row() for i in self.measurementTableView.selectedIndexes() ])): self.container.measurements[index]
def deleteFromHistory(self): for row in sorted(unique([ i.row() for i in self.historyTableView.selectedIndexes() ]), reverse=False): self.historyTableModel.removeRow(row)
def onRemoveChannel(self): for index in sorted(unique([ i.row() for i in self.interlockTableView.selectedIndexes() ]), reverse=True): self.tableModel.removeChannel(index) self.autoSave()
def onRemove(self): for index in sorted(unique( [i.row() for i in self.tableView.selectedIndexes()]), reverse=True): self.tableModel.drop(index)
def onCounterRemoveSetting(self): for index in sorted(unique([ i.row() for i in self.DedicatedCounterTableView.selectedIndexes() ]),reverse=True): self.DedicatedTableModel.dropSetting(index) self.onSaveProfile()