def on_mouse_click(self, event):
        """Perform operations depending on click position.

        This method is aliased as "on_mouse_click" to
        comply with the mouse interaction protocol.

        Parameters
        ==========
        event
            (pygame.event.Event of pygame.MOUSEBUTTONDOWN type
            or similar object) we use it to retrieve and use the
            mouse position.
        """
        ### store special position for future reference
        ### if needed
        self.reference_pos = self.get_reference_pos()

        ### set movement watch out routine to an empty
        ### function
        self.movement_watch_out_routine = empty_function

        ## if value is None, incrementing or decrementing
        ## it makes no sense (which is what happens in the
        ## mouse edition mode), so instead, we enable the
        ## keyboard edition mode right away

        if self.value is None:
            self.enable_keyboard_edition_mode()

        ## otherwise, other tasks are performed

        else:

            ## if the area of one of the
            ## decrement/increment buttons is clicked,
            ## make the corresponding operation
            ## and exit this method by returning

            x = event.pos[0]
            delta_x = x - self.rect.x

            if delta_x < self.dla_right:

                self.set(self.value - self.normal_click_increment)

                return

            elif delta_x < self.sla_right:

                self.set(self.value - self.preciser_click_increment)

                return

            elif delta_x > self.dra_left:

                self.set(self.value + self.normal_click_increment)

                return

            elif delta_x > self.sra_left:

                self.set(self.value + self.preciser_click_increment)

                return

            ## otherwise, the user may want to use either
            ## the keyboard or the mouse edition mode, so
            ## we enable the standby mode, which
            ## automatically sets the next mode depending
            ## on the next action the user performs;
            ##
            ## before doing so, we backup the mouse
            ## position, since we might need it in case
            ## the user enters the mouse edition mode next
            ## (since we use such position when leaving
            ## the mouse edition mode)

            else:

                self.initial_mouse_pos = event.pos
                self.enable_standby_mode()

        ### reposition line and move cursor to end of text

        self.cursor.line.rect.topleft = self.rect.topleft
        self.cursor.go_to_end()

        ### give focus to self by raising a manager switch
        ### exception with a reference to this widget
        raise SwitchLoopException(self)
Perform operations depending on click position.

        This method is aliased as "on_mouse_click" to
        comply with the mouse interaction protocol.

        Parameters
        ==========
        event
            (pygame.event.Event of pygame.MOUSEBUTTONDOWN type
            or similar object) we use it to retrieve and use the
            mouse position.
        
nodezator/widget/intfloatentry/op.py