def __init__()

in src/open_vp_cal/widgets/timeline_widget.py [0:0]


    def __init__(self, model, event_filter, parent=None):
        """
        Initialize the widget and set up UI.
        """
        super().__init__()
        self.setFocusPolicy(Qt.StrongFocus)

        self.transport_layout = None
        self.to_start_button = None
        self.step_back_button = None
        self.step_back_pattern_button = None
        self.step_forward_button = None
        self.step_forward_pattern_button = None
        self.current_frame_spinbox = None
        self.current_frame_label = None
        self.end_frame_spinbox = None
        self.end_frame_label = None
        self.slider = None
        self.start_frame_spinbox = None
        self.start_frame_label = None
        self.h_layout = None
        self.layout = None
        self.to_end_button = None
        self.model = model
        self.parent = parent
        self.event_filter = event_filter

        self.init_ui()

        self.installEventFilter(self.event_filter)
        self.event_filter.left_arrow_pressed.connect(self.step_back_pattern)
        self.event_filter.right_arrow_pressed.connect(self.step_forward_pattern)

        self.model.start_frame_changed.connect(self.slider.setMinimum)
        self.model.start_frame_changed.connect(self.start_frame_spinbox.setMinimum)
        self.model.start_frame_changed.connect(self.end_frame_spinbox.setMinimum)
        self.model.start_frame_changed.connect(self.start_frame_spinbox.setValue)
        self.model.start_frame_changed.connect(self.current_frame_spinbox.setMinimum)

        self.model.end_frame_changed.connect(self.current_frame_spinbox.setMaximum)
        self.model.end_frame_changed.connect(self.end_frame_spinbox.setMaximum)
        self.model.end_frame_changed.connect(self.end_frame_spinbox.setValue)
        self.model.end_frame_changed.connect(self.start_frame_spinbox.setMaximum)
        self.model.end_frame_changed.connect(self.slider.setMaximum)
        self.model.current_frame_changed.connect(self.update_slider_value)
        self.model.current_frame_changed.connect(self.current_frame_spinbox.setValue)

        self.slider.valueChanged.connect(self.model.set_current_frame)
        self.start_frame_spinbox.editingFinished.connect(self.update_start_frame)
        self.end_frame_spinbox.editingFinished.connect(self.update_end_frame)
        self.current_frame_spinbox.editingFinished.connect(self.update_current_frame)
        self.disable()