def _iter_children(parent_default, p): for df in pkcollections.map_values(parent_default.children): d = df.decl qlabel = _label(d) if df.children: _heading(qlabel) res['num'] += 1 widget = None _iter_children(df, p[d.name]) else: rt_qt.set_id(qlabel, 'form_field') (widget, value) = value_widget(df, p[d.name], self._frame) self._layout.addRow(qlabel, widget) if len(value) > res['max_value']: res['max_value'] = len(value) self._fields[d.name] = { 'qlabel': qlabel, 'widget': widget, } res['num'] += 1
def _init_buttons(self, window): self._buttons = rt_qt.set_id(QtGui.QDialogButtonBox(window), 'standard') self._buttons.setCenterButtons(1) self._buttons.setStandardButtons( QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok) for b in self._buttons.buttons(): b.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.mainlayout.addRow(self._buttons) QtCore.QObject.connect( self._buttons, QtCore.SIGNAL('accepted()'), window.accept) QtCore.QObject.connect( self._buttons, QtCore.SIGNAL('rejected()'), window.reject)
def _global_param(name): try: df = self._controller.defaults[name] except KeyError: return hb = QtGui.QHBoxLayout() label = rt_qt.set_id(QtGui.QLabel(param_widget), 'form_field') rt_qt.i18n_text(df.decl.label, label) hb.addWidget(label, alignment=QtCore.Qt.AlignRight) res = rt_popup.value_widget(df, df.value, param_widget) hb.addWidget(res[0]) param_vbox.addLayout(hb) self.global_params[name] = res[0] return res
def _add(name, label, desc): """Creates a stretchable TextEdit area with label above""" vbox = QtGui.QVBoxLayout() main.addLayout(vbox, stretch=1) qlabel = rt_qt.set_id(QtGui.QLabel(self), 'heading') for v in self.global_params.values(): qlabel.setMinimumHeight(v.sizeHint().height()) rt_qt.i18n_text(label, qlabel) vbox.addWidget(qlabel, alignment=QtCore.Qt.AlignCenter) text = QtGui.QTextEdit(self) rt_qt.i18n_text(desc, text) text.setReadOnly(True) vbox.addWidget(text) self._result_text[name] = text
def _heading(qlabel): rt_qt.set_id(qlabel, 'heading') qlabel.setAlignment(QtCore.Qt.AlignCenter) self._layout.addRow(qlabel)