Exemple #1
0
    def __init__(self, parent, **params):
        get_or_put(params, 'layout', QVBoxLayout())
        get_or_put(params, 'i18n_def', 'Miscellaneous')
        super(MiscellaneousWidget, self).__init__(parent, **params)

        LabelWidget(self, i18n_def='Data window shift: 1')
        self.params = Params(**params)
        self.params.data_accessor.addListener(
            self, __MiscellaneousVectorListener__(self))
        self.__window_size__ = __DataWindowSizeWidget__(
            self, self.params.data_accessor)

        self.__unitsWidget__ = TimeUnitsWidget(
            self,
            i18n_def='Units',
            default_unit=self.params.data_accessor.signal_x_unit,
            change_unit_handler=self.changeUnit,
            layout=QHBoxLayout())
        self.__unitsWidget__.addUnit(OrderUnit)

        self.__use_parameters__ = CompositeWidget(self, layout=QHBoxLayout())
        self.__use_buffer__ = CheckBoxWidget(self.__use_parameters__,
                                             i18n_def='Use buffer',
                                             checked=True)
        self.__use_identity_line__ = CheckBoxWidget(
            self.__use_parameters__,
            i18n_def='Use identity line',
            checked=True)

        self.__sample_step__ = __SampleStepWidget__(self,
                                                    self.params.data_accessor)

        self.__stepper_size__ = __StepperSizeWidget__(
            self, self.params.data_accessor)
Exemple #2
0
    def __init__(self, parent, data_accessor):
        super(__StepperSizeWidget__, self).__init__(parent,
                                                    layout=QVBoxLayout())

        self.data_accessor = data_accessor

        info_group = CompositeWidget(self, layout=QHBoxLayout())
        LabelWidget(info_group, i18n_def='Stepper size:')
        self.__size_value__ = LabelWidget(info_group, i18n_def='<value>')
        self.__unit_value__ = LabelWidget(info_group, i18n_def='')

        self.__size_slider__ = SliderWidget(
            self,
            orientation=Qt.Horizontal,
            sizePolicy=QSizePolicy(QSizePolicy.MinimumExpanding,
                                   QSizePolicy.Fixed),
            value_changed_handler=self.__value_changed__)
        self.__size_slider__.setTickPosition(QSlider.TicksBelow)
        self.setValueInUnit(self.data_accessor.signal_x_unit)
        self.setUnit(self.data_accessor.signal_x_unit)

        self.__unitsWidget__ = TimeUnitsWidget(
            self,
            i18n_def='Units',
            default_unit=self.data_accessor.signal_x_unit,
            change_unit_handler=self.changeUnit,
            layout=QHBoxLayout())
        self.__unitsWidget__.addUnit(OrderUnit)
class __StepperSizeWidget__(CompositeWidget):
    """
    widget used to change stepper size
    """
    def __init__(self, parent, data_accessor):
        super(__StepperSizeWidget__, self).__init__(parent,
                                            layout=QVBoxLayout())

        self.data_accessor = data_accessor

        info_group = CompositeWidget(self, layout=QHBoxLayout())
        LabelWidget(info_group, i18n_def='Stepper size:')
        self.__size_value__ = LabelWidget(info_group, i18n_def='<value>')
        self.__unit_value__ = LabelWidget(info_group, i18n_def='')

        self.__size_slider__ = SliderWidget(self, orientation=Qt.Horizontal,
                        sizePolicy=QSizePolicy(QSizePolicy.MinimumExpanding,
                                               QSizePolicy.Fixed),
                        value_changed_handler=self.__value_changed__)
        self.__size_slider__.setTickPosition(QSlider.TicksBelow)
        self.setValueInUnit(self.data_accessor.signal_x_unit)
        self.setUnit(self.data_accessor.signal_x_unit)

        self.__unitsWidget__ = TimeUnitsWidget(self, i18n_def='Units',
                        default_unit=self.data_accessor.signal_x_unit,
                        change_unit_handler=self.changeUnit,
                        layout=QHBoxLayout())
        self.__unitsWidget__.addUnit(OrderUnit)

    def __value_changed__(self, _value):
        self.__size_value__.setText(str(_value))

    def setValueInUnit(self, _unit):
        signal = self.data_accessor.signal_in_unit(_unit)
        self.__size_slider__.setMaximum(int(pl.amax(signal)))
        self.__size_slider__.setValue(0)
        self.__size_slider__.setTickInterval(self.__size_slider__.maximum() / 10)  # @IgnorePep8

    def setUnit(self, _unit):
        self.__unit_value__.setText(_unit.name)

    @property
    def size(self):
        value = self.__size_slider__.value()
        return None if value == 0 else value

    def setSize(self, _size):
        self.__size_slider__.setValue(int(_size))

    def changeUnit(self, _unit):
        if not _unit == None:
            self.setValueInUnit(_unit)
            self.setUnit(_unit)
            self.__unitsWidget__.setUnit(_unit)

    @property
    def unit(self):
        return self.__unitsWidget__.getUnit()
Exemple #4
0
 def __createUnitsWidget__(self, layout):
     self.__unitsWidget__ = TimeUnitsWidget(
         self.__splitter__,
         i18n_def='X axis units',
         default_unit=self.data_accessor.signal_x_unit,
         change_unit_handler=self.__changeUnit__,
         layout=layout)
     self.__unitsWidget__.addUnit(OrderUnit)
     self.__splitter__.changeSplitterHandleColor(0, Qt.red)
    def __init__(self, parent, **params):
        get_or_put(params, 'layout', QVBoxLayout())
        get_or_put(params, 'i18n_def', 'Miscellaneous')
        super(MiscellaneousWidget, self).__init__(parent, **params)

        LabelWidget(self, i18n_def='Data window shift: 1')
        self.params = Params(**params)
        self.params.data_accessor.addListener(self,
                                    __MiscellaneousVectorListener__(self))
        self.__window_size__ = __DataWindowSizeWidget__(self,
                                                self.params.data_accessor)

        self.__unitsWidget__ = TimeUnitsWidget(self, i18n_def='Units',
                        default_unit=self.params.data_accessor.signal_x_unit,
                        change_unit_handler=self.changeUnit,
                        layout=QHBoxLayout())
        self.__unitsWidget__.addUnit(OrderUnit)

        self.__use_parameters__ = CompositeWidget(self, layout=QHBoxLayout())
        self.__use_buffer__ = CheckBoxWidget(self.__use_parameters__,
                                             i18n_def='Use buffer',
                                             checked=True)
        self.__use_identity_line__ = CheckBoxWidget(self.__use_parameters__,
                                             i18n_def='Use identity line',
                                             checked=True)

        self.__sample_step__ = __SampleStepWidget__(self,
                                                self.params.data_accessor)

        self.__stepper_size__ = __StepperSizeWidget__(self,
                                                self.params.data_accessor)
 def __createUnitsWidget__(self, layout):
     self.__unitsWidget__ = TimeUnitsWidget(self.__splitter__,
                             i18n_def='X axis units',
                             default_unit=self.data_accessor.signal_x_unit,
                             change_unit_handler=self.__changeUnit__,
                             layout=layout)
     self.__unitsWidget__.addUnit(OrderUnit)
     self.__splitter__.changeSplitterHandleColor(0, Qt.red)
Exemple #7
0
class TachogramPlotSettingsDockWidget(DockWidgetWidget):
    """
    a dock widget for tachogram plot settings
    """
    def __init__(self, parent, **params):
        self.params = Params(**params)
        self.data_accessor = self.params.data_accessor  # alias
        super(TachogramPlotSettingsDockWidget,
              self).__init__(parent,
                             title=params.get('title',
                                              'Tachogram plot settings'),
                             **params)

        self.__splitter__ = SplitterWidget(self.dockComposite,
                                           orientation=Qt.Vertical)
        self.__splitter__.setHandleWidth(5)

        self.__createUnitsWidget__(QHBoxLayout())
        self.__createFiltersWidget__(QVBoxLayout())

        parent.addDockWidget(Qt.BottomDockWidgetArea, self)

    def __changeUnit__(self, unit):
        if not self.data_accessor == None:
            self.data_accessor.changeXSignalUnit(self, unit)

    def __createUnitsWidget__(self, layout):
        self.__unitsWidget__ = TimeUnitsWidget(
            self.__splitter__,
            i18n_def='X axis units',
            default_unit=self.data_accessor.signal_x_unit,
            change_unit_handler=self.__changeUnit__,
            layout=layout)
        self.__unitsWidget__.addUnit(OrderUnit)
        self.__splitter__.changeSplitterHandleColor(0, Qt.red)

    def __createFiltersWidget__(self, layout):
        self.__filtersWidget__ = FiltersWidget(
            self.__splitter__,
            layout=layout,
            data_accessor=self.data_accessor,
            annotation_widget_class=MasterAnnotationFilterWidget,
            use_apply_button=True,
            restore_button=True)
        self.__splitter__.changeSplitterHandleColor(1, Qt.blue)
class TachogramPlotSettingsDockWidget(DockWidgetWidget):
    """
    a dock widget for tachogram plot settings
    """
    def __init__(self, parent, **params):
        self.params = Params(**params)
        self.data_accessor = self.params.data_accessor  # alias
        super(TachogramPlotSettingsDockWidget, self).__init__(parent,
            title=params.get('title', 'Tachogram plot settings'),
            **params)

        self.__splitter__ = SplitterWidget(self.dockComposite,
                                           orientation=Qt.Vertical)
        self.__splitter__.setHandleWidth(5)

        self.__createUnitsWidget__(QHBoxLayout())
        self.__createFiltersWidget__(QVBoxLayout())

        parent.addDockWidget(Qt.BottomDockWidgetArea, self)

    def __changeUnit__(self, unit):
        if not self.data_accessor == None:
            self.data_accessor.changeXSignalUnit(self, unit)

    def __createUnitsWidget__(self, layout):
        self.__unitsWidget__ = TimeUnitsWidget(self.__splitter__,
                                i18n_def='X axis units',
                                default_unit=self.data_accessor.signal_x_unit,
                                change_unit_handler=self.__changeUnit__,
                                layout=layout)
        self.__unitsWidget__.addUnit(OrderUnit)
        self.__splitter__.changeSplitterHandleColor(0, Qt.red)

    def __createFiltersWidget__(self, layout):
        self.__filtersWidget__ = FiltersWidget(self.__splitter__,
                        layout=layout, data_accessor=self.data_accessor,
                        annotation_widget_class=MasterAnnotationFilterWidget,
                        use_apply_button=True,
                        restore_button=True)
        self.__splitter__.changeSplitterHandleColor(1, Qt.blue)
    def __init__(self, parent, data_accessor):
        super(__StepperSizeWidget__, self).__init__(parent,
                                            layout=QVBoxLayout())

        self.data_accessor = data_accessor

        info_group = CompositeWidget(self, layout=QHBoxLayout())
        LabelWidget(info_group, i18n_def='Stepper size:')
        self.__size_value__ = LabelWidget(info_group, i18n_def='<value>')
        self.__unit_value__ = LabelWidget(info_group, i18n_def='')

        self.__size_slider__ = SliderWidget(self, orientation=Qt.Horizontal,
                        sizePolicy=QSizePolicy(QSizePolicy.MinimumExpanding,
                                               QSizePolicy.Fixed),
                        value_changed_handler=self.__value_changed__)
        self.__size_slider__.setTickPosition(QSlider.TicksBelow)
        self.setValueInUnit(self.data_accessor.signal_x_unit)
        self.setUnit(self.data_accessor.signal_x_unit)

        self.__unitsWidget__ = TimeUnitsWidget(self, i18n_def='Units',
                        default_unit=self.data_accessor.signal_x_unit,
                        change_unit_handler=self.changeUnit,
                        layout=QHBoxLayout())
        self.__unitsWidget__.addUnit(OrderUnit)
 def __createTimeUnitsGroup__(self):
     return TimeUnitsWidget(self.tableViewComposite,
                            i18n_def='Signal time unit')
class MiscellaneousWidget(GroupBoxWidget):
    """
    widget used to set up some specific properties like:
    window size,
    using of internal buffer,
    use line of identity
    """
    @temporarySettingsDecorator()
    def __init__(self, parent, **params):
        get_or_put(params, 'layout', QVBoxLayout())
        get_or_put(params, 'i18n_def', 'Miscellaneous')
        super(MiscellaneousWidget, self).__init__(parent, **params)

        LabelWidget(self, i18n_def='Data window shift: 1')
        self.params = Params(**params)
        self.params.data_accessor.addListener(self,
                                    __MiscellaneousVectorListener__(self))
        self.__window_size__ = __DataWindowSizeWidget__(self,
                                                self.params.data_accessor)

        self.__unitsWidget__ = TimeUnitsWidget(self, i18n_def='Units',
                        default_unit=self.params.data_accessor.signal_x_unit,
                        change_unit_handler=self.changeUnit,
                        layout=QHBoxLayout())
        self.__unitsWidget__.addUnit(OrderUnit)

        self.__use_parameters__ = CompositeWidget(self, layout=QHBoxLayout())
        self.__use_buffer__ = CheckBoxWidget(self.__use_parameters__,
                                             i18n_def='Use buffer',
                                             checked=True)
        self.__use_identity_line__ = CheckBoxWidget(self.__use_parameters__,
                                             i18n_def='Use identity line',
                                             checked=True)

        self.__sample_step__ = __SampleStepWidget__(self,
                                                self.params.data_accessor)

        self.__stepper_size__ = __StepperSizeWidget__(self,
                                                self.params.data_accessor)

    def getUseBuffer(self):
        return self.__use_buffer__.isChecked()

    @temporarySetterDecorator(name='use_buffer',
                              _conv=QVariant.toBool,
                              _getter_handler=getUseBuffer)
    def setUseBuffer(self, use_buffer):
        return self.__use_buffer__.setChecked(use_buffer)

    def getUseIdentityLine(self):
        return self.__use_identity_line__.isChecked()

    @temporarySetterDecorator(name='use_identity_line',
                              _conv=QVariant.toBool,
                              _getter_handler=getUseIdentityLine)
    def setUseIdentityLine(self, use_identity_line):
        self.__use_identity_line__.setChecked(use_identity_line)

    def getWindowSize(self):
        return self.__window_size__.size

    @temporarySetterDecorator(name='window_size',
                              _conv=QVariant.toInt,
                              _getter_handler=getWindowSize)
    def setWindowSize(self, size):
        self.__window_size__.setSize(size)

    def changeUnit(self, _unit):
        self.__window_size__.setUnit(_unit)
        self.__window_size__.setValueInUnit(_unit)

    def getUnit(self):
        return self.__unitsWidget__.getUnit()

    @temporarySetterDecorator(name='window_size_unit',
                              _conv=QVariant.toPyObject,
                              _getter_handler=getUnit)
    def setUnit(self, unit):
        self.changeUnit(unit)
        self.__unitsWidget__.setUnit(unit)

    def getSampleStep(self):
        return self.__sample_step__.step

    @temporarySetterDecorator(name='sample_step',
                              _conv=QVariant.toInt,
                              _getter_handler=getSampleStep)
    def setSampleStep(self, step):
        self.__sample_step__.setStep(step)

    def getStepperSize(self):
        return self.__stepper_size__.size

    @temporarySetterDecorator(name='stepper_size',
                              _conv=QVariant.toInt,
                              _getter_handler=getStepperSize)
    def setStepperSize(self, size):
        self.__stepper_size__.setSize(size)

    def getStepperUnit(self):
        return self.__stepper_size__.unit

    @temporarySetterDecorator(name='stepper_unit',
                              _conv=QVariant.toPyObject,
                              _getter_handler=getStepperUnit,
                              before_name='stepper_size')
    def setStepperUnit(self, unit):
        self.__stepper_size__.changeUnit(unit)
Exemple #12
0
class MiscellaneousWidget(GroupBoxWidget):
    """
    widget used to set up some specific properties like:
    window size,
    using of internal buffer,
    use line of identity
    """
    @temporarySettingsDecorator()
    def __init__(self, parent, **params):
        get_or_put(params, 'layout', QVBoxLayout())
        get_or_put(params, 'i18n_def', 'Miscellaneous')
        super(MiscellaneousWidget, self).__init__(parent, **params)

        LabelWidget(self, i18n_def='Data window shift: 1')
        self.params = Params(**params)
        self.params.data_accessor.addListener(
            self, __MiscellaneousVectorListener__(self))
        self.__window_size__ = __DataWindowSizeWidget__(
            self, self.params.data_accessor)

        self.__unitsWidget__ = TimeUnitsWidget(
            self,
            i18n_def='Units',
            default_unit=self.params.data_accessor.signal_x_unit,
            change_unit_handler=self.changeUnit,
            layout=QHBoxLayout())
        self.__unitsWidget__.addUnit(OrderUnit)

        self.__use_parameters__ = CompositeWidget(self, layout=QHBoxLayout())
        self.__use_buffer__ = CheckBoxWidget(self.__use_parameters__,
                                             i18n_def='Use buffer',
                                             checked=True)
        self.__use_identity_line__ = CheckBoxWidget(
            self.__use_parameters__,
            i18n_def='Use identity line',
            checked=True)

        self.__sample_step__ = __SampleStepWidget__(self,
                                                    self.params.data_accessor)

        self.__stepper_size__ = __StepperSizeWidget__(
            self, self.params.data_accessor)

    def getUseBuffer(self):
        return self.__use_buffer__.isChecked()

    @temporarySetterDecorator(name='use_buffer',
                              _conv=QVariant.toBool,
                              _getter_handler=getUseBuffer)
    def setUseBuffer(self, use_buffer):
        return self.__use_buffer__.setChecked(use_buffer)

    def getUseIdentityLine(self):
        return self.__use_identity_line__.isChecked()

    @temporarySetterDecorator(name='use_identity_line',
                              _conv=QVariant.toBool,
                              _getter_handler=getUseIdentityLine)
    def setUseIdentityLine(self, use_identity_line):
        self.__use_identity_line__.setChecked(use_identity_line)

    def getWindowSize(self):
        return self.__window_size__.size

    @temporarySetterDecorator(name='window_size',
                              _conv=QVariant.toInt,
                              _getter_handler=getWindowSize)
    def setWindowSize(self, size):
        self.__window_size__.setSize(size)

    def changeUnit(self, _unit):
        self.__window_size__.setUnit(_unit)
        self.__window_size__.setValueInUnit(_unit)

    def getUnit(self):
        return self.__unitsWidget__.getUnit()

    @temporarySetterDecorator(name='window_size_unit',
                              _conv=QVariant.toPyObject,
                              _getter_handler=getUnit)
    def setUnit(self, unit):
        self.changeUnit(unit)
        self.__unitsWidget__.setUnit(unit)

    def getSampleStep(self):
        return self.__sample_step__.step

    @temporarySetterDecorator(name='sample_step',
                              _conv=QVariant.toInt,
                              _getter_handler=getSampleStep)
    def setSampleStep(self, step):
        self.__sample_step__.setStep(step)

    def getStepperSize(self):
        return self.__stepper_size__.size

    @temporarySetterDecorator(name='stepper_size',
                              _conv=QVariant.toInt,
                              _getter_handler=getStepperSize)
    def setStepperSize(self, size):
        self.__stepper_size__.setSize(size)

    def getStepperUnit(self):
        return self.__stepper_size__.unit

    @temporarySetterDecorator(name='stepper_unit',
                              _conv=QVariant.toPyObject,
                              _getter_handler=getStepperUnit,
                              before_name='stepper_size')
    def setStepperUnit(self, unit):
        self.__stepper_size__.changeUnit(unit)
Exemple #13
0
class __StepperSizeWidget__(CompositeWidget):
    """
    widget used to change stepper size
    """
    def __init__(self, parent, data_accessor):
        super(__StepperSizeWidget__, self).__init__(parent,
                                                    layout=QVBoxLayout())

        self.data_accessor = data_accessor

        info_group = CompositeWidget(self, layout=QHBoxLayout())
        LabelWidget(info_group, i18n_def='Stepper size:')
        self.__size_value__ = LabelWidget(info_group, i18n_def='<value>')
        self.__unit_value__ = LabelWidget(info_group, i18n_def='')

        self.__size_slider__ = SliderWidget(
            self,
            orientation=Qt.Horizontal,
            sizePolicy=QSizePolicy(QSizePolicy.MinimumExpanding,
                                   QSizePolicy.Fixed),
            value_changed_handler=self.__value_changed__)
        self.__size_slider__.setTickPosition(QSlider.TicksBelow)
        self.setValueInUnit(self.data_accessor.signal_x_unit)
        self.setUnit(self.data_accessor.signal_x_unit)

        self.__unitsWidget__ = TimeUnitsWidget(
            self,
            i18n_def='Units',
            default_unit=self.data_accessor.signal_x_unit,
            change_unit_handler=self.changeUnit,
            layout=QHBoxLayout())
        self.__unitsWidget__.addUnit(OrderUnit)

    def __value_changed__(self, _value):
        self.__size_value__.setText(str(_value))

    def setValueInUnit(self, _unit):
        signal = self.data_accessor.signal_in_unit(_unit)
        self.__size_slider__.setMaximum(int(pl.amax(signal)))
        self.__size_slider__.setValue(0)
        self.__size_slider__.setTickInterval(self.__size_slider__.maximum() /
                                             10)  # @IgnorePep8

    def setUnit(self, _unit):
        self.__unit_value__.setText(_unit.name)

    @property
    def size(self):
        value = self.__size_slider__.value()
        return None if value == 0 else value

    def setSize(self, _size):
        self.__size_slider__.setValue(int(_size))

    def changeUnit(self, _unit):
        if not _unit == None:
            self.setValueInUnit(_unit)
            self.setUnit(_unit)
            self.__unitsWidget__.setUnit(_unit)

    @property
    def unit(self):
        return self.__unitsWidget__.getUnit()