MCPcopy Index your code
hub / github.com/LabPy/lantz / LabeledFeatWidget

Class LabeledFeatWidget

lantz/ui/widgets.py:396–482  ·  view source on GitHub ↗

Widget containing a label, a control, and a get a set button. :param parent: parent widget. :param target: driver object to connect. :param feat: Feat to connect.

Source from the content-addressed store, hash-verified

394
395
396class LabeledFeatWidget(QtGui.QWidget):
397 """Widget containing a label, a control, and a get a set button.
398
399 :param parent: parent widget.
400 :param target: driver object to connect.
401 :param feat: Feat to connect.
402 """
403
404 def __init__(self, parent, target, feat):
405 super().__init__(parent)
406 layout = QtGui.QHBoxLayout(self)
407
408 self._label = QtGui.QLabel()
409 self._label.setText(feat.name)
410 self._label.setFixedWidth(120)
411 self._label.setToolTip(_rst_to_html(feat.__doc__))
412 layout.addWidget(self._label)
413
414 if isinstance(feat.feat, DictFeat):
415 self._widget = DictFeatWidget(parent, target, feat)
416 else:
417 self._widget = WidgetMixin.from_feat(feat)
418 self._widget.bind_feat(feat)
419 self._widget.lantz_target = target
420
421 layout.addWidget(self._widget)
422
423 self._get = QtGui.QPushButton()
424 self._get.setText('get')
425 self._get.setEnabled(self._widget.readable)
426 self._get.setFixedWidth(60)
427 layout.addWidget(self._get)
428
429 self._set = QtGui.QPushButton()
430 self._set.setText('set')
431 self._set.setEnabled(self._widget.writable)
432 self._set.setFixedWidth(60)
433 layout.addWidget(self._set)
434
435 self._get.clicked.connect(self.on_get_clicked)
436 self._set.clicked.connect(self.on_set_clicked)
437 self._widget._update_on_change = self._widget.writable
438
439 self.widgets = (self._label, self._widget, self._get, self._set)
440
441 @property
442 def label_width(self):
443 """Width of the label
444 """
445 return self._label.width
446
447 @label_width.setter
448 def label_width(self, value):
449 self._label.setFixedWidth(value)
450
451 @property
452 def lantz_target(self):
453 """Driver connected to this widget.

Callers 1

__init__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected