Skip to content

Commit 5709842

Browse files
authored
Merge pull request #403 from ppizarror/vfill-widget
Vfill widget
2 parents 9c09143 + 1678b13 commit 5709842

38 files changed

+450
-166
lines changed

docs/_source/add_widgets.rst

+26
Original file line numberDiff line numberDiff line change
@@ -633,6 +633,32 @@ more options, take a look at the ``ToggleSwitch`` widget class.
633633
.. automethod:: pygame_menu._widgetmanager.WidgetManager.toggle_switch
634634

635635

636+
Add a vertical fill
637+
-------------------
638+
639+
A vertical fill adds a vertical margin to fill the menu height. It depends on other
640+
vertical fillers in the same column, i.e., if three vertical fillers are in the same
641+
column, them will take a third of the available vertical space.
642+
643+
**Example:**
644+
645+
.. image:: ../_static/widget_vfill.png
646+
:scale: 75%
647+
:align: center
648+
649+
.. code-block:: python
650+
651+
menu = pygame_menu.Menu(...)
652+
653+
menu.add.vertical_fill()
654+
menu.add.button('Button 1')
655+
menu.add.vertical_fill()
656+
menu.add.button('Button 2')
657+
menu.add.vertical_fill()
658+
659+
.. automethod:: pygame_menu._widgetmanager.WidgetManager.vertical_fill
660+
661+
636662
Add a vertical spacer
637663
---------------------
638664

docs/_source/contributors.rst

+3
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,15 @@ Other contributors:
2222
- `ironsmile <https://github.com/ironsmile>`_
2323
- `jwllee <https://github.com/jwllee>`_
2424
- `maditnerd <https://github.com/maditnerd>`_
25+
- `MayuSakurai <https://github.com/MayuSakurai>`_
2526
- `mrkprdo <https://github.com/mrkprdo>`_
2627
- `notrurs <https://github.com/notrurs>`_
2728
- `NullP01nt <https://github.com/NullP01nt>`_
2829
- `PandaRoux8 <https://github.com/PandaRoux8>`_
2930
- `Rifqi31 <https://github.com/rifqi31>`_
31+
- `ThePeeps191 <https://github.com/ThePeeps191>`_
3032
- `thisIsMikeKane <https://github.com/thisIsMikeKane>`_
33+
- `vnmabus <https://github.com/vnmabus>`_
3134
- `werdeil <https://github.com/werdeil>`_
3235
- `zPaw <https://github.com/zPaw>`_
3336

docs/_source/widgets_button.rst

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

docs/_source/widgets_colorinput.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ ColorInput
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: draw_after_if_selected, rotate, scale, set_max_width, set_max_height, resize
12+
:exclude-members: draw_after_if_selected, resize, rotate, scale, set_max_height, set_max_width

docs/_source/widgets_dropselect.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ DropSelect
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: rotate, scale, set_max_width, set_max_height, resize, flip
12+
:exclude-members: flip, resize, rotate, scale, set_max_height, set_max_width

docs/_source/widgets_dropselect_multiple.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ DropSelectMultiple
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: rotate, scale, set_max_width, set_max_height, resize, flip
12+
:exclude-members: flip, resize, rotate, scale, set_max_height, set_max_width

docs/_source/widgets_frame.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ Frame
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: draw_after_if_selected, get_sound, get_selection_effect, get_selected_time, get_value, set_onreturn, set_onchange, set_default_value, reset_value, value_changed, is_selected, background_inflate_to_selection_effect, get_font_color_status, set_onselect, set_selection_effect, apply, change, flip, set_max_width, set_max_height, scale, rotate, select, set_shadow, set_sound, set_value
12+
:exclude-members: apply, background_inflate_to_selection_effect, change, draw_after_if_selected, flip, get_font_color_status, get_selected_time, get_selection_effect, get_sound, get_value, is_selected, reset_value, rotate, scale, select, set_default_value, set_max_height, set_max_width, set_onchange, set_onreturn, set_onselect, set_selection_effect, set_shadow, set_sound, set_value, value_changed

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: 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
12+
:exclude-members: add_self_to_kwargs, apply, background_inflate_to_selection_effect, change, draw_after_if_selected, flip, get_border, get_focus_rect, get_font_color_status, get_font_info, get_height, get_margin, get_padding, get_rect, get_selected_time, get_selection_effect, get_size, get_sound, get_surface, get_title, get_translate, get_value, get_width, is_selected, mouseleave, mouseover, render, reset_value, resize, rotate, scale, select, set_background_color, set_border, set_controls, set_cursor, set_default_value, set_font, set_font_shadow, set_margin, set_max_height, set_max_width, set_onchange, set_onmouseleave, set_onmouseover, set_onreturn, set_onselect, set_padding, set_position, set_selection_effect, set_shadow, set_sound, set_tab_size, set_title, set_value, shadow, translate, update_font, value_changed, update

docs/_source/widgets_image.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ Image
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: set_font, get_font_info, draw_after_if_selected, set_sound, get_sound, get_font_color_status, get_value, value_changed, set_tab_size, set_font_shadow, update_font, set_title, get_title, update, set_onchange, set_onreturn, change, apply, set_default_value, set_value, reset_value
12+
:exclude-members: apply, change, draw_after_if_selected, get_font_color_status, get_font_info, get_sound, get_title, get_value, reset_value, set_default_value, set_font, set_font_shadow, set_onchange, set_onreturn, set_sound, set_tab_size, set_title, set_value, update, update_font, value_changed

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, get_sound, set_sound
12+
:exclude-members: apply, change, draw_after_if_selected, get_sound, get_value, reset_value, set_default_value, set_onchange, set_onreturn, set_sound, set_value, update, value_changed

docs/_source/widgets_menubar.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ MenuBar
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: get_value, select, set_onselect, change, set_onchange, set_padding, scale, resize, set_max_height, set_max_width, set_selection_effect, set_border, flip, rotate, set_default_value, set_value, reset_value, draw_after_if_selected, value_changed
12+
:exclude-members: change, draw_after_if_selected, flip, get_value, reset_value, resize, rotate, scale, select, set_border, set_default_value, set_max_height, set_max_width, set_onchange, set_onselect, set_padding, set_selection_effect, set_value, value_changed

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_draw_callback, add_self_to_kwargs, add_update_callback, apply, apply_draw_callbacks, apply_update_callbacks, background_inflate_to_selection_effect, change, draw, draw_after_if_selected, flip, get_alignment, get_border, get_decorator, get_focus_rect, get_font_color_status, get_font_info, get_frame, get_frame_depth, get_height, get_margin, get_padding, get_position, get_rect, get_selected_time, get_selection_effect, get_size, get_sound, get_surface, get_title, get_translate, get_value, get_width, is_selected, mouseleave, mouseover, remove_draw_callback, remove_update_callback, reset_value, resize, rotate, scale, select, set_alignment, set_background_color, set_border, set_controls, set_cursor, set_default_value, set_float, set_font, set_font_shadow, set_frame, set_margin, set_max_height, set_max_width, set_onchange, set_onmouseleave, set_onmouseover, set_onreturn, set_onselect, set_padding, set_position, set_selection_effect, set_shadow, set_sound, set_tab_size, set_title, set_value, translate, update, update_font, value_changed

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: 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
12+
:exclude-members: add_self_to_kwargs, apply, background_inflate_to_selection_effect, change, draw_after_if_selected, flip, get_border, get_focus_rect, get_font_color_status, get_font_info, get_height, get_margin, get_padding, get_rect, get_selected_time, get_selection_effect, get_size, get_sound, get_surface, get_title, get_translate, get_value, get_width, is_selected, mouseleave, mouseover, render, reset_value, resize, rotate, scale, select, set_background_color, set_border, set_controls, set_cursor, set_default_value, set_font, set_font_shadow, set_margin, set_max_height, set_max_width, set_onchange, set_onmouseleave, set_onmouseover, set_onreturn, set_onselect, set_padding, set_position, set_selection_effect, set_shadow, set_sound, set_tab_size, set_title, set_value, shadow, translate, update_font, value_changed, update

docs/_source/widgets_progressbar.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ ProgressBar
99
:members:
1010
:show-inheritance:
1111
: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
12+
:exclude-members: add_self_to_kwargs, apply, change, draw_after_if_selected, flip, get_sound, resize, rotate, scale, set_max_height, set_max_width, set_onchange, set_onreturn, set_sound

docs/_source/widgets_rangeslider.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ RangeSlider
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: scale, resize, set_max_width, set_max_height, rotate, flip,
12+
:exclude-members: flip, resize, rotate, scale, set_max_height, set_max_width

docs/_source/widgets_scrollbar.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ ScrollBar
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: set_selection_effect, background_inflate_to_selection_effect, get_selected_time, get_selection_effect, get_font_color_status, set_font, apply, set_onreturn, set_onselect, select, draw_after_if_selected, set_title, set_font_shadow, update_font, set_padding, scale, resize, set_max_width, set_max_height, rotate, flip
12+
:exclude-members: apply, background_inflate_to_selection_effect, draw_after_if_selected, flip, get_font_color_status, get_selected_time, get_selection_effect, resize, rotate, scale, select, set_font, set_font_shadow, set_max_height, set_max_width, set_onreturn, set_onselect, set_padding, set_selection_effect, set_title, update_font

docs/_source/widgets_surface.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ SurfaceWidget
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: set_controls, set_onchange, get_font_color_status, get_font_info, set_font, set_sound, get_sound, set_onreturn, draw_after_if_selected, get_value, set_value, get_title, reset_value, value_changed, set_title, apply, change, update_font, set_padding, scale, resize, set_max_width, set_max_height, rotate, flip, set_default_value, set_font_shadow, set_tab_size
12+
:exclude-members: apply, change, draw_after_if_selected, flip, get_font_color_status, get_font_info, get_sound, get_title, get_value, reset_value, resize, rotate, scale, set_controls, set_default_value, set_font, set_font_shadow, set_max_height, set_max_width, set_onchange, set_onreturn, set_padding, set_sound, set_tab_size, set_title, set_value, update_font, value_changed

docs/_source/widgets_table.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ Table
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: update_indices, contains_widget, get_scroll_value_percentage, scrollh, scrollv, get_index, get_indices, make_scrollarea, sort_menu_update_frames, set_title, remove_title, add_title_generic_button, add_title_button, get_title, pack, unpack, get_sound, get_selection_effect, get_selected_time, get_value, value_changed, set_onreturn, set_onchange, set_default_value, reset_value, is_selected, background_inflate_to_selection_effect, set_onselect, set_selection_effect, apply, change, flip, set_max_width, set_max_height, scale, rotate, select, set_shadow, set_sound, set_value, set_tab_size, draw_after_if_selected
12+
:exclude-members: add_title_button, add_title_generic_button, apply, background_inflate_to_selection_effect, change, contains_widget, draw_after_if_selected, flip, get_index, get_indices, get_scroll_value_percentage, get_selected_time, get_selection_effect, get_sound, get_title, get_value, is_selected, make_scrollarea, pack, remove_title, reset_value, rotate, scale, scrollh, scrollv, select, set_default_value, set_max_height, set_max_width, set_onchange, set_onreturn, set_onselect, set_selection_effect, set_shadow, set_sound, set_tab_size, set_title, set_value, sort_menu_update_frames, unpack, update_indices, value_changed

docs/_source/widgets_textinput.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ TextInput
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: rotate, scale, set_max_width, set_max_height, resize, draw_after_if_selected
12+
:exclude-members: draw_after_if_selected, resize, rotate, scale, set_max_height, set_max_width

docs/_source/widgets_toggleswitch.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ ToggleSwitch
99
:members:
1010
:show-inheritance:
1111
:inherited-members:
12-
:exclude-members: scale, resize, set_max_width, set_max_height, rotate, flip, draw_after_if_selected
12+
:exclude-members: draw_after_if_selected, flip, resize, rotate, scale, set_max_height, set_max_width

docs/_source/widgets_vfill.rst

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
.. module:: pygame_menu.widgets.widget.vfill
3+
4+
=====
5+
VFill
6+
=====
7+
8+
.. autoclass:: pygame_menu.widgets.VFill
9+
:members:
10+
:show-inheritance:
11+
:inherited-members:
12+
:exclude-members: add_self_to_kwargs, apply, background_inflate_to_selection_effect, change, draw_after_if_selected, flip, get_border, get_focus_rect, get_font_color_status, get_font_info, get_height, get_margin, get_padding, get_rect, get_selected_time, get_selection_effect, get_size, get_sound, get_surface, get_title, get_translate, get_value, get_width, is_selected, mouseleave, mouseover, render, reset_value, resize, rotate, scale, select, set_background_color, set_border, set_controls, set_cursor, set_default_value, set_font, set_font_shadow, set_margin, set_max_height, set_max_width, set_onchange, set_onmouseleave, set_onmouseover, set_onreturn, set_onselect, set_padding, set_position, set_selection_effect, set_shadow, set_sound, set_tab_size, set_title, set_value, shadow, translate, update_font, value_changed, update

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, 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
12+
:exclude-members: add_self_to_kwargs, apply, background_inflate_to_selection_effect, change, draw_after_if_selected, flip, get_border, get_focus_rect, get_font_color_status, get_font_info, get_height, get_margin, get_padding, get_rect, get_selected_time, get_selection_effect, get_size, get_sound, get_surface, get_title, get_translate, get_value, get_width, is_selected, mouseleave, mouseover, render, reset_value, resize, rotate, scale, select, set_background_color, set_border, set_controls, set_cursor, set_default_value, set_font, set_font_shadow, set_margin, set_max_height, set_max_width, set_onchange, set_onmouseleave, set_onmouseover, set_onreturn, set_onselect, set_padding, set_position, set_selection_effect, set_shadow, set_sound, set_tab_size, set_title, set_value, shadow, translate, update_font, value_changed, update

docs/_static/widget_vfill.png

20.5 KB
Loading

docs/add_widgets.py

+10-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
pygame.display.set_icon(icon)
2525

2626
# Set example, only this should change
27-
EXAMPLE = 'PROGRESSBAR'
27+
EXAMPLE = 'VERTICALFILL'
2828

2929
# Create example
3030
menu: 'pygame_menu.Menu'
@@ -385,6 +385,15 @@ def open_link(*args) -> None:
385385
menu.add.url('https://github.com/ppizarror/pygame-menu', 'The best menu ever')
386386
menu.add.url('https://pygame-menu.readthedocs.io/en/master/', 'pygame-menu documentation')
387387

388+
elif EXAMPLE == 'VERTICALFILL':
389+
menu = make_menu(pygame_menu.themes.THEME_DEFAULT, 'Vertical fill')
390+
391+
menu.add.vertical_fill()
392+
menu.add.button('Button 1')
393+
menu.add.vertical_fill()
394+
menu.add.button('Button 2')
395+
menu.add.vertical_fill()
396+
388397
elif EXAMPLE == 'VERTICALMARGIN':
389398
menu = make_menu(pygame_menu.themes.THEME_DEFAULT, 'Vertical spacer')
390399

docs/index.rst

+2
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ class. The currently existing classes are:
145145
- :py:class:`~pygame_menu.widgets.Table`
146146
- :py:class:`~pygame_menu.widgets.TextInput`
147147
- :py:class:`~pygame_menu.widgets.ToggleSwitch`
148+
- :py:class:`~pygame_menu.widgets.VFill`
148149
- :py:class:`~pygame_menu.widgets.VMargin`
149150

150151
For advanced programmers, those classes can be used to design custom menus or windows.
@@ -177,6 +178,7 @@ to display large custom surfaces.
177178
_source/widgets_table
178179
_source/widgets_textinput
179180
_source/widgets_toggleswitch
181+
_source/widgets_vfill
180182
_source/widgets_vmargin
181183

182184

pygame_menu/__init__.py

+3
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,15 @@
105105
'ironsmile',
106106
'jwllee',
107107
'maditnerd',
108+
'MayuSakurai',
108109
'mrkprdo',
109110
'notrurs',
110111
'NullP01nt',
111112
'PandaRoux8',
112113
'Rifqi31',
114+
'ThePeeps191',
113115
'thisIsMikeKane',
116+
'vnmabus',
114117
'werdeil',
115118
'zPaw'
116119

pygame_menu/_widgetmanager.py

+2
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
from pygame_menu.widgets.widget.table import TableManager
3636
from pygame_menu.widgets.widget.textinput import TextInputManager
3737
from pygame_menu.widgets.widget.toggleswitch import ToggleSwitchManager
38+
from pygame_menu.widgets.widget.vfill import VFillManager
3839
from pygame_menu.widgets.widget.vmargin import VMarginManager
3940

4041
from pygame_menu._types import Any, Dict, PaddingInstance
@@ -60,6 +61,7 @@ class WidgetManager(
6061
TableManager,
6162
TextInputManager,
6263
ToggleSwitchManager,
64+
VFillManager,
6365
VMarginManager
6466
):
6567
"""

0 commit comments

Comments
 (0)