Пример #1
0
    def __init__(self, axis, source_axis=None, parent=None):
        super(AxisBoundsChooser, self).__init__(parent=parent)
        if source_axis is not None:
            self.axis = source_axis
        else:
            self.axis = axis
        l = QtGui.QVBoxLayout()
        l.addWidget(header_label(axis.id))

        if source_axis is not None:
            minimum, maximum = (float(num)
                                for num in genutil.minmax(source_axis))
            bottom, top = (float(num) for num in genutil.minmax(axis))
            for i, v in enumerate(source_axis):
                if v == bottom:
                    bot_ind = i
                if v == top:
                    top_ind = i
            self.range = RangeWidget(axis_values(source_axis),
                                     bottom=bot_ind,
                                     top=top_ind)
        else:
            minimum, maximum = (float(num) for num in genutil.minmax(axis))
            self.range = RangeWidget(axis_values(axis))

        l.addWidget(self.range)
        self.setLayout(l)

        emitter = partial(self.boundsEdited.emit, self.axis)

        self.range.boundsEdited.connect(emitter)