spyoungtech / FreeSimpleGUI

The free-forever GUI library
GNU Lesser General Public License v3.0
272 stars 35 forks source link

Refactor #9

Closed spyoungtech closed 3 months ago

spyoungtech commented 3 months ago

A significant refactor of the large FreeSimpleGUI module. This is just a first step we're taking towards making FreeSimpleGUI more maintainable and approachable for contributors. There's still a lot of work to do, but this change cuts the main module size in half, making it quite a bit easier for LSPs and Intellisense to keep up with changes. Elements are now tucked neatly away into their own modules within the new elements subpackage.

All names are imported back into the main package, so this change is non-breaking.

We also moved the main module back to __init__.py instead of the internal FreeSimpleGUI.py module. This avoids a bug introduced by the initial refactor by which changes to global state (which is unfortunately used extensively) may not take effect properly in some cases.

Other minor changes and deprecations: