Skip to content

Commit 0788c18

Browse files
authored
Merge pull request #355 from ppizarror/progressbar-widget
New ProgressBar widget
2 parents 2778259 + 88c5d0c commit 0788c18

31 files changed

+768
-110
lines changed

docs/_source/add_widgets.rst

+21
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,27 @@ drawing callbacks for being executed on each menu draw.
435435
.. automethod:: pygame_menu._widgetmanager.WidgetManager.none_widget
436436

437437

438+
Add a progress bar
439+
------------------
440+
441+
A progress bar widget, which accepts a percentage from ``0`` to ``100``.
442+
443+
**Example:**
444+
445+
.. image:: ../_static/widget_progressbar.png
446+
:scale: 75%
447+
:align: center
448+
449+
.. code-block:: python
450+
451+
menu = pygame_menu.Menu(...)
452+
453+
progress1 = menu.add.progress_bar('My Progress', default=75.6)
454+
progress2 = menu.add.progress_bar('Pygame-menu epicness?', default=99.9)
455+
456+
.. automethod:: pygame_menu._widgetmanager.WidgetManager.progress_bar
457+
458+
438459
Add a range slider
439460
------------------
440461

docs/_source/widgets_hmargin.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ HMargin
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: add_draw_callback, apply_draw_callbacks, remove_draw_callback, set_tab_size, set_font_shadow, set_margin, get_margin, get_surface, get_sound, get_selection_effect, get_selected_time, get_padding, get_font_info, get_value, set_onreturn, set_onmouseover, set_onmouseleave, set_onchange, set_default_value, reset_value, value_changed, mouseover, mouseleave, is_selected, get_title, background_inflate_to_selection_effect, get_font_color_status, set_onselect, set_padding, set_title, set_background_color, set_selection_effect, apply, change, set_font, update_font, set_position, flip, set_max_width, set_max_height, scale, resize, translate, rotate, set_alignment, select, set_shadow, set_sound, set_cursor, set_controls, set_value, update, add_update_callback, remove_update_callback, apply_update_callbacks, set_border, get_border, draw_after_if_selected
12+
:exclude-members: set_tab_size, set_font_shadow, set_margin, get_margin, get_surface, get_sound, get_selection_effect, get_selected_time, get_padding, get_font_info, get_value, set_onreturn, set_onmouseover, set_onmouseleave, set_onchange, set_default_value, reset_value, value_changed, mouseover, mouseleave, is_selected, get_title, background_inflate_to_selection_effect, get_font_color_status, set_onselect, set_padding, set_title, set_background_color, set_selection_effect, apply, change, set_font, update_font, set_position, flip, set_max_width, set_max_height, scale, resize, translate, rotate, set_alignment, select, set_shadow, set_sound, set_cursor, set_controls, set_value, set_border, get_border, draw_after_if_selected

docs/_source/widgets_label.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ Label
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: draw_after_if_selected, update, set_onchange, set_onreturn, change, apply, set_default_value, set_value, reset_value, get_value, value_changed
12+
:exclude-members: draw_after_if_selected, update, set_onchange, set_onreturn, change, apply, set_default_value, set_value, reset_value, get_value, value_changed, get_sound, set_sound

docs/_source/widgets_menulink.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ MenuLink
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: add_self_to_kwargs, add_draw_callback, apply_draw_callbacks, remove_draw_callback, get_alignment, get_border, get_decorator, get_frame, get_frame_depth, set_frame, get_focus_rect, get_height, get_margin, get_position, get_size, get_translate, get_width, set_float, draw_after_if_selected, set_tab_size, set_font_shadow, get_surface, get_sound, get_selection_effect, get_selected_time, get_padding, get_font_info, get_value, set_onreturn, set_onmouseover, set_onmouseleave, set_onchange, value_changed, set_default_value, reset_value, mouseover, mouseleave, is_selected, get_title, background_inflate_to_selection_effect, get_font_color_status, set_onselect, set_padding, set_title, get_rect, set_background_color, set_selection_effect, apply, change, set_margin, set_font, update_font, set_position, flip, set_max_width, set_max_height, scale, resize, translate, rotate, set_alignment, select, set_shadow, set_sound, set_cursor, set_controls, set_value, update, add_update_callback, remove_update_callback, apply_update_callbacks, set_border, draw,
12+
:exclude-members: add_self_to_kwargs, add_draw_callback, apply_draw_callbacks, remove_draw_callback, get_alignment, get_border, get_decorator, get_frame, get_frame_depth, set_frame, get_focus_rect, get_height, get_margin, get_position, get_size, get_translate, get_width, set_float, draw_after_if_selected, set_tab_size, set_font_shadow, get_surface, get_sound, get_selection_effect, get_selected_time, get_padding, get_font_info, get_value, set_onreturn, set_onmouseover, set_onmouseleave, set_onchange, value_changed, set_default_value, reset_value, mouseover, mouseleave, is_selected, get_title, background_inflate_to_selection_effect, get_font_color_status, set_onselect, set_padding, set_title, get_rect, set_background_color, set_selection_effect, apply, change, set_margin, set_font, update_font, set_position, flip, set_max_width, set_max_height, scale, resize, translate, rotate, set_alignment, select, set_shadow, set_sound, set_cursor, set_controls, set_value, update, add_update_callback, remove_update_callback, apply_update_callbacks, set_border, draw

docs/_source/widgets_none.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ NoneWidget
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: add_draw_callback, apply_draw_callbacks, remove_draw_callback, get_surface, get_sound, get_selection_effect, get_selected_time, get_padding, get_font_info, get_value, set_onreturn, set_onmouseover, set_onmouseleave, set_onchange, set_default_value, value_changed, reset_value, mouseover, mouseleave, is_selected, get_title, background_inflate_to_selection_effect, get_font_color_status, set_onselect, set_padding, set_title, get_rect, set_background_color, set_selection_effect, apply, change, set_margin, set_font, update_font, set_position, flip, set_max_width, set_max_height, scale, resize, translate, rotate, set_alignment, select, set_shadow, set_sound, set_cursor, set_controls, set_value, update, add_update_callback, remove_update_callback, apply_update_callbacks, set_border, set_font_shadow, get_border, draw_after_if_selected, get_height, get_width, get_size, get_margin
12+
:exclude-members: get_surface, get_sound, get_selection_effect, get_selected_time, get_padding, get_font_info, get_value, set_onreturn, set_onmouseover, set_onmouseleave, set_onchange, set_default_value, value_changed, reset_value, mouseover, mouseleave, is_selected, get_title, background_inflate_to_selection_effect, get_font_color_status, set_onselect, set_padding, set_title, get_rect, set_background_color, set_selection_effect, apply, change, set_margin, set_font, update_font, set_position, flip, set_max_width, set_max_height, scale, resize, translate, rotate, set_alignment, select, set_shadow, set_sound, set_cursor, set_controls, set_value, set_border, set_font_shadow, get_border, draw_after_if_selected, get_height, get_width, get_size, get_margin

docs/_source/widgets_progressbar.rst

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
.. module:: pygame_menu.widgets.widget.progressbar
3+
4+
===========
5+
ProgressBar
6+
===========
7+
8+
.. autoclass:: pygame_menu.widgets.ProgressBar
9+
:members:
10+
:show-inheritance:
11+
:inherited-members:
12+
:exclude-members: scale, resize, set_max_width, set_max_height, rotate, flip, draw_after_if_selected, change, apply, add_self_to_kwargs, get_sound, set_sound, set_onchange, set_onreturn

docs/_source/widgets_vmargin.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ VMargin
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: render, draw, get_translate, get_size, get_width, add_self_to_kwargs, add_draw_callback, apply_draw_callbacks, remove_draw_callback, set_margin, get_margin, get_surface, get_sound, get_selection_effect, get_selected_time, get_padding, get_font_info, get_value, set_onreturn, set_onmouseover, set_onmouseleave, set_onchange, set_default_value, value_changed, reset_value, mouseover, mouseleave, is_selected, get_title, background_inflate_to_selection_effect, get_font_color_status, set_onselect, set_padding, set_title, set_background_color, set_selection_effect, apply, change, set_font, update_font, set_position, flip, set_max_width, set_max_height, scale, resize, translate, rotate, set_alignment, select, set_shadow, set_sound, set_cursor, set_controls, set_value, update, add_update_callback, remove_update_callback, apply_update_callbacks, set_border, set_font_shadow, set_tab_size, get_border, draw_after_if_selected
12+
:exclude-members: render, get_translate, get_size, get_width, add_self_to_kwargs, set_margin, get_margin, get_surface, get_sound, get_selection_effect, get_selected_time, get_padding, get_font_info, get_value, set_onreturn, set_onmouseover, set_onmouseleave, set_onchange, set_default_value, value_changed, reset_value, mouseover, mouseleave, is_selected, get_title, background_inflate_to_selection_effect, get_font_color_status, set_onselect, set_padding, set_title, set_background_color, set_selection_effect, apply, change, set_font, update_font, set_position, flip, set_max_width, set_max_height, scale, resize, translate, rotate, set_alignment, select, set_shadow, set_sound, set_cursor, set_controls, set_value, set_border, set_font_shadow, set_tab_size, get_border, draw_after_if_selected

docs/_static/widget_progressbar.png

23.6 KB
Loading

docs/add_widgets.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
pygame.display.set_icon(icon)
4848

4949
# Set example, only this should change
50-
EXAMPLE = 'RANGESLIDER'
50+
EXAMPLE = 'PROGRESSBAR'
5151

5252
# Create example
5353
menu: 'pygame_menu.Menu'
@@ -292,6 +292,12 @@ def open_link(*args) -> None:
292292
'Press LEFT/RIGHT to move through Selectors.'
293293
menu.add.label(HELP, max_char=-1, font_size=20)
294294

295+
elif EXAMPLE == 'PROGRESSBAR':
296+
menu = make_menu(pygame_menu.themes.THEME_DARK, 'Progress Bar', widget_font_size=18)
297+
298+
progress1 = menu.add.progress_bar('My Progress', default=75.6)
299+
progress2 = menu.add.progress_bar('Pygame-menu epicness?', default=99.9)
300+
295301
elif EXAMPLE == 'RANGESLIDER':
296302
menu = make_menu(pygame_menu.themes.THEME_DEFAULT, 'Range Slider', widget_font_size=18)
297303

docs/index.rst

+2
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ class. The currently existing classes are:
137137
- :py:class:`~pygame_menu.widgets.MenuBar`
138138
- :py:class:`~pygame_menu.widgets.MenuLink`
139139
- :py:class:`~pygame_menu.widgets.NoneWidget`
140+
- :py:class:`~pygame_menu.widgets.ProgressBar`
140141
- :py:class:`~pygame_menu.widgets.RangeSlider`
141142
- :py:class:`~pygame_menu.widgets.ScrollBar`
142143
- :py:class:`~pygame_menu.widgets.Selector`
@@ -168,6 +169,7 @@ to display large custom surfaces.
168169
_source/widgets_menubar
169170
_source/widgets_menulink
170171
_source/widgets_none
172+
_source/widgets_progressbar
171173
_source/widgets_rangeslider
172174
_source/widgets_scrollbar
173175
_source/widgets_selector

0 commit comments

Comments
 (0)