Skip to content

range_slider's set_default_value() working incorrectly #498

@Retr0-Wolf

Description

@Retr0-Wolf

Environment information

  • OS: Windows 11
  • python version: v3.11.9
  • pygame version: v2.6.1
  • pygame-menu version: v4.5.2

Describe the bug
The method set_default_value() of a range slider only accepts 1 number, but changes the format of the slider's _default_value from a tuple to the number, breaking the range slider's reset_value() method which was expecting a tuple.

To Reproduce
import pygame
import pygame_menu

pygame.init()
pygame.display.set_mode((600, 400), pygame.RESIZABLE)

menu = pygame_menu.Menu("Test",600,400)
slider=menu.add.range_slider("Slider",range_values=(0,10),increment=0.5,default=1) #slider._default_value --> (1,0)

slider.set_default_value(2) #slider._default_value --> 2
menu.reset_value() #--> TypeError: 'int' object is not subscriptable

Expected behaviour
For set_default_value() to update _default_value but keep it as a tuple, e.g. by accepting a tuple to replace it with or, depending on if it is a single slider, accept 1 or 2 numbers to update the start and end point of _default_value

Additional context
None

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions