MCPcopy Create free account
hub / github.com/LabPy/lantz / DriverTestWidget

Class DriverTestWidget

lantz/ui/widgets.py:485–597  ·  view source on GitHub ↗

Widget that is automatically filled to control all Feats of a given driver. :param parent: parent widget. :param target: driver object to map.

Source from the content-addressed store, hash-verified

483
484
485class DriverTestWidget(QtGui.QWidget):
486 """Widget that is automatically filled to control all Feats of a given driver.
487
488 :param parent: parent widget.
489 :param target: driver object to map.
490 """
491
492 def __init__(self, parent, target):
493 super().__init__(parent)
494 self._lantz_target = target
495
496 layout = QtGui.QVBoxLayout(self)
497
498 label = QtGui.QLabel()
499 label.setText(str(target))
500 layout.addWidget(label)
501
502 recall = QtGui.QPushButton()
503 recall.setText('Refresh')
504 recall.clicked.connect(lambda x: target.refresh())
505
506 update = QtGui.QPushButton()
507 update.setText('Update')
508 update.clicked.connect(lambda x: target.update(self.widgets_values_as_dict()))
509
510 auto = QtGui.QCheckBox()
511 auto.setText('Update on change')
512 auto.setChecked(True)
513 auto.stateChanged.connect(self.update_on_change)
514
515 hlayout = QtGui.QHBoxLayout()
516 hlayout.addWidget(recall)
517 hlayout.addWidget(update)
518 hlayout.addWidget(auto)
519
520 layout.addLayout(hlayout)
521
522 self.writable_widgets = []
523 self.widgets = []
524
525 # Feat
526 for feat_name, feat in sorted(target.feats.items()):
527 try:
528 feat_widget = LabeledFeatWidget(self, target, feat)
529
530 self.widgets.append(feat_widget)
531 if feat_widget.writable:
532 self.writable_widgets.append(feat_widget)
533
534 layout.addWidget(feat_widget)
535 except Exception as ex:
536 logger.debug('Could not create control for {}: {}'.format(feat_name, ex))
537 if __PRINT_TRACEBACK__:
538 import traceback
539 traceback.print_exc()
540
541 # Actions
542 line = QtGui.QFrame(self)

Callers 2

__init__Method · 0.85
start_test_appFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected