def __init__(self):
EventDispatcher.__init__(self)<EOL>HoldUpdatesMixin.__init__(self)<EOL>self.__root = None<EOL>self.__parent = None<EOL>self.__group = None<EOL>self.__children = set()<EOL>self.__children_under_mouse = set()<EOL>self.__children_can_overlap = True<EOL>self.__mouse_grabber = None<EOL>self.__width_hint = first_not_none((<EOL>self.custom_width_hint,<EOL>self.custom_size_hint[<NUM_LIT:0>],<EOL>))<EOL>self.__height_hint = first_not_none((<EOL>self.custom_height_hint,<EOL>self.custom_size_hint[<NUM_LIT:1>],<EOL>))<EOL>self.__min_height = <NUM_LIT:0><EOL>self.__min_width = <NUM_LIT:0><EOL>self.__claimed_width = <NUM_LIT:0><EOL>self.__claimed_height = <NUM_LIT:0><EOL>self.__is_claim_stale = True<EOL>self.__assigned_rect = None<EOL>self.__rect = None<EOL>self.__padded_rect = None<EOL>self.__is_hidden = False<EOL>self.__is_parent_hidden = False<EOL>self.__is_enabled = True<EOL>self.__grab_mouse_on_click = self.custom_grab_mouse_on_click<EOL>self.__propagate_mouse_events = self.custom_propagate_mouse_events<EOL>self.__rollover_state = '<STR_LIT>'<EOL>self.__last_rollover_state = '<STR_LIT>'<EOL>self.__double_click_timer = <NUM_LIT:0><EOL>self.__set_padding(<EOL>all=self.custom_padding,<EOL>horz=self.custom_horz_padding,<EOL>vert=self.custom_vert_padding,<EOL>left=self.custom_left_padding,<EOL>right=self.custom_right_padding,<EOL>top=self.custom_top_padding,<EOL>bottom=self.custom_bottom_padding,<EOL>)<EOL>self.__alignment = self.custom_alignment<EOL>
Initialize the widget.

Don't forget to call this method from subclasses!