def __init__(self, send_to_device, channel, force_out, name, comment): self.send_to_device = send_to_device self.channel = channel self.comment = comment self.force_out = force_out QtGui.QFrame.__init__(self) self.setFrameShape(QtGui.QFrame.Panel) self.setFrameShadow(QtGui.QFrame.Raised) grid = QtGui.QGridLayout() self.setLayout(grid) label = QtGui.QLabel("{} {}".format(name, comment)) label.setAlignment(QtCore.Qt.AlignCenter) grid.addWidget(label, 1, 1) self._direction = QtGui.QLabel() self._direction.setAlignment(QtCore.Qt.AlignCenter) grid.addWidget(self._direction, 2, 1) self._override = QtGui.QLabel() self._override.setAlignment(QtCore.Qt.AlignCenter) grid.addWidget(self._override, 3, 1) self._value = QtGui.QLabel() self._value.setAlignment(QtCore.Qt.AlignCenter) grid.addWidget(self._value, 4, 1, 6, 1) self._value.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) menu = QtGui.QActionGroup(self._value) menu.setExclusive(True) self._expctl_action = QtGui.QAction("Experiment controlled", self._value) self._expctl_action.setCheckable(True) menu.addAction(self._expctl_action) self._value.addAction(self._expctl_action) self._expctl_action.triggered.connect(lambda: self.set_mode("exp")) separator = QtGui.QAction(self._value) separator.setSeparator(True) self._value.addAction(separator) self._force1_action = QtGui.QAction("Force 1", self._value) self._force1_action.setCheckable(True) menu.addAction(self._force1_action) self._value.addAction(self._force1_action) self._force1_action.triggered.connect(lambda: self.set_mode("1")) self._force0_action = QtGui.QAction("Force 0", self._value) self._force0_action.setCheckable(True) menu.addAction(self._force0_action) self._value.addAction(self._force0_action) self._force0_action.triggered.connect(lambda: self.set_mode("0")) self._forcein_action = QtGui.QAction("Force input", self._value) self._forcein_action.setCheckable(True) self._forcein_action.setEnabled(not force_out) menu.addAction(self._forcein_action) self._value.addAction(self._forcein_action) self._forcein_action.triggered.connect(lambda: self.set_mode("in")) self.set_value(0, False, False)
def __init__(self, status_bar, schedule_ctl): dockarea.Dock.__init__(self, "Schedule", size=(1000, 300)) self.status_bar = status_bar self.schedule_ctl = schedule_ctl self.table = QtGui.QTableView() self.table.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) self.table.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) self.table.horizontalHeader().setResizeMode( QtGui.QHeaderView.ResizeToContents) self.table.verticalHeader().setResizeMode( QtGui.QHeaderView.ResizeToContents) self.addWidget(self.table) self.table.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) request_termination_action = QtGui.QAction("Request termination", self.table) request_termination_action.triggered.connect( partial(self.delete_clicked, True)) self.table.addAction(request_termination_action) delete_action = QtGui.QAction("Delete", self.table) delete_action.triggered.connect(partial(self.delete_clicked, False)) self.table.addAction(delete_action)