pythonarcade / arcade

Easy to use Python library for creating 2D arcade games.
http://arcade.academy
Other
1.72k stars 330 forks source link

GUI enhancements planned for 3.0 #1101

Closed eruvanos closed 1 year ago

eruvanos commented 2 years ago

To enhance the GUI code, a few things have to be cleaned which might break compatibility. The goal is to collect all these changes within a bigger update like 3.0.

Summary of breaking changes

Working on development

Planned

Small improvements

Styling <-- WIP

Maybe

Canceled

Postponed to Arcade 3.1

Suggestions by @pushfoo

Ibrahim2750mi commented 2 years ago

@eruvanos

UIInputText - restrict input to digits (optional)

By this it means just '0123456789' or python's builtin isdigit functionality?

UIFile - Choose a file dialogue (crazy but possible)

Will this be an inheritance of arcade.window and arcade.gui.UIWidget or just arcade.gui.UIWidget?

pushfoo commented 2 years ago

By this it means just '0123456789' or python's builtin isdigit functionality?

Imo, the clearest option for beginners would be subclass that's right-aligned by default and only accepts ints as in #842. We still need a clear way for users to display scores and numbers, even if the details in that ticket are no longer relevant due to major some changes to text rendering.

eruvanos commented 2 years ago

Progress Info:

eruvanos commented 1 year ago

@Ibrahim2750mi do you have some time to have a look on: https://github.com/pythonarcade/arcade/blob/gui/grid_layout/tests/test_gui/test_layouting_gridlayout.py

I added a few tests, which should cover the resize behaviour for UIGridLayout. Maybe you can have a look at the code and fix them, implementing the missing features.

Ibrahim2750mi commented 1 year ago

@eruvanos Yeah I am currently free and will definitely look into it, maybe best case scenario even today and will update you on the requested fixes and implementations.

eruvanos commented 1 year ago

All work done, everything else will be covered in a minor update