def get_focus(self, event):
        """Perform setups and get focus to itself.

        Meant to be triggered by a mouse release action.

        Parameters
        ==========
        event (pygame.event.Event of pygame.MOUSEBUTTONUP
        type)
            required in order to comply with mouse action
            protocol; we use its "pos" attribute to retrieve
            the mouse position;

            check pygame.event module documentation on
            pygame website for more info about this event
            object.
        """
        ### assign behaviours

        self.draw = self.draw_expanded
        self.on_mouse_release = self.choose_option

        self.handle_input = self.handle_events_and_mouse_pos

        ### position options
        self.align_subobjects()

        ### store topleft left position for later
        ### reference if needed
        self.last_topleft = self.rect.topleft

        ### react as if mouse moved
        self.on_mouse_motion(event.pos)

        ### give focus to self by raising a manager switch
        ### exception with a reference to this widget
        raise SwitchLoopException(self)
Perform setups and get focus to itself.

        Meant to be triggered by a mouse release action.

        Parameters
        ==========
        event (pygame.event.Event of pygame.MOUSEBUTTONUP
        type)
            required in order to comply with mouse action
            protocol; we use its "pos" attribute to retrieve
            the mouse position;

            check pygame.event module documentation on
            pygame website for more info about this event
            object.
        
nodezator/widget/optionmenu/op.py