def __init__(self): QtGui.QWidget.__init__(self) self._show_toolbar = Control('toolbar', interface='IBool', value=False, label='Show Toolbar') self._show_title = Control('title', interface='IBool', value=False, label='Show Applet Title') self._props = QControlContainer() self._props.controlValueChanged.connect(self._on_prop_changed) self._props.add_control(self._show_toolbar) self._props.add_control(self._show_title) self._edit_mode = False self._applet = None self._layout = QtGui.QVBoxLayout(self) self._l_title = QtGui.QLabel('No applet selected') self._l_title.hide() self._menu = ContextualMenu() p = QtGui.QSizePolicy self._l_title.setSizePolicy(p(p.MinimumExpanding, p.Maximum)) self._l_title.setAlignment(QtCore.Qt.AlignVCenter) self._layout.setAlignment(self._l_title, QtCore.Qt.AlignVCenter) self._layout.addWidget(self._l_title) self._layout.addWidget(self._menu) self._create_actions() self.fine_tune()
def __init__(self, control, edit_mode='edit'): QtGui.QWidget.__init__(self) self.setupUi(self) text = 'interface: %s, preferred widget: %s, edit mode: %s' % (control.interface, control.widget, edit_mode) self.l_title.setText(text) self._control = control self._qcontainer = QControlContainer() self._qcontainer.add_control(self._control) self._qcontainer.create_actions(self) # m = getattr(scontrol, '%s_qt' % edit_mode) m = getattr(scontrol, 'qt_editor') self._qtcontrols = [] valid_widget_shape = None for shape in ['vline', 'hline', 'small', 'large', 'responsive']: layout = getattr(self, 'l_%s' % shape) widget = m(self._control, shape=shape) if widget: layout.addWidget(widget) valid_widget_shape = shape self._qtcontrols.append(widget) else: layout.addWidget(QtGui.QLabel("X")) if valid_widget_shape: self._test_widget = m(self._control, shape=valid_widget_shape) self.layout_sample.addWidget(self._test_widget) self.cb_read.toggled.connect(self.on_mode_changed) self.cb_apply.toggled.connect(self.on_mode_changed) self._model = ControlModel(manager=self._qcontainer) self._view = ControlView() self._view.setModel(self._model) self._view.hideColumn(0) self.l_large_box.addWidget(self._view, 1, 1, 2, 1)