Ejemplo n.º 1
0
    def set_data_collection(self, data_collection):
        self._model = DataCollectionModel(data_collection)
        self.setModel(self._model)

        sm = QtCore.QItemSelectionModel(self._model)
        sm.selectionChanged.connect(lambda *args:
                                    self.selection_changed.emit())
        self.setSelectionModel(sm)

        self.setRootIsDecorated(False)
        self.setExpandsOnDoubleClick(False)
        self.expandToDepth(0)
        self._model.layoutChanged.connect(lambda: self.expandToDepth(0))
        self._model.layoutChanged.connect(self.selection_changed.emit)
        self._model.new_item.connect(self.select_indices)

        self.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
        self.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
        self.setDragEnabled(True)
        self.setDropIndicatorShown(True)
        self.setDragDropMode(QtWidgets.QAbstractItemView.DragOnly)

        # Update when any message is emitted which would indicate a change in
        # data collection content, colors, labels, etc. It's easier to simply
        # listen to all events since the viewport update is fast.
        data_collection.hub.subscribe(self, Message, handler=self._update_viewport)
Ejemplo n.º 2
0
    def build_table(self, schedules):

        columns = ['Schedule']

        table = self.table
        model = ScheduleTableModel(columns, schedules)
        table.setModel(model)
        selectionModel = QtCore.QItemSelectionModel(model, table)
        table.setSelectionModel(selectionModel)
        selectionModel.currentRowChanged.connect(self.select_row_cb)
        #model.layoutChanged.connect(self.sort_cb)

        # set column width to fit contents
        table.resizeColumnsToContents()
        table.resizeRowsToContents()
Ejemplo n.º 3
0
    def set_data_collection(self, data_collection):
        self._model = DataCollectionModel(data_collection)
        self.setModel(self._model)

        sm = QtCore.QItemSelectionModel(self._model)
        sm.selectionChanged.connect(lambda *args:
                                    self.selection_changed.emit())
        self.setSelectionModel(sm)

        self.setRootIsDecorated(False)
        self.setExpandsOnDoubleClick(False)
        self.expandToDepth(0)
        self._model.layoutChanged.connect(lambda: self.expandToDepth(0))
        self._model.layoutChanged.connect(self.selection_changed.emit)
        self._model.new_item.connect(self.select_indices)

        self.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
        self.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
        self.setDragEnabled(True)
        self.setDropIndicatorShown(True)
        self.setDragDropMode(QtWidgets.QAbstractItemView.DragOnly)
Ejemplo n.º 4
0
                self.mdv.show_row_n(n)

            spinner.valueChanged.connect(on_change)
            self.setLayout(w_layout)

        def doc_consumer(self, name, doc):
            self.mdv.doc_consumer(name, doc)
            self.spinner.setRange(0, self.mdv.headermodel.rowCount() - 1)

    app = QtWidgets.QApplication.instance()
    if app is None:
        app = QtWidgets.QApplication([b"Live data demo"])
        app.lastWindowClosed.connect(app.quit)

    headermodel = QtGui.QStandardItemModel()
    selectionmodel = QtCore.QItemSelectionModel(headermodel)

    metadataview = MDVConusumer(headermodel, selectionmodel)
    view_box = MDVWithButtons(metadataview)

    hw = hw()
    hw.motor.set(15)
    hw.motor.delay = 0.1
    hw.motor1.delay = 0.2
    hw.motor2.delay = 0.3

    hw.det.kind = "hinted"
    hw.det1.kind = "hinted"
    hw.det2.kind = "hinted"

    RE, queue, thread, teleport = spawn_RE()