pythonarcade / arcade

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

GUI enhancements planned for 3.0 #1101

Closed eruvanos closed 10 months 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 10 months ago

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