vlang / ui

A cross-platform UI library written in V
MIT License
2.31k stars 154 forks source link

Style management changes #566

Open squidink7 opened 5 months ago

squidink7 commented 5 months ago

This PR reworks the way styles are handled by controls throughout the window.

The initial motivation was to add a simple way to switch themes at runtime, which in itself was simple enough but I wanted a way to allow individual widgets to have their own style rather than overriding them all each time the window's theme changed.

This makes it so each widget's theme_style field is empty unless explicitly set, and when rendering it uses the theme set on the window unless otherwise specified. Previously V UI set the theme_style across all widgets when the window is created.

I haven't thoroughly tested each example yet, and in absence of unit tests have been basing this work on a sample app of my own which doesn't use anywhere near every control available, so oversights may be present. I apologise if any have slipped through.

spytheman commented 4 months ago

@rcqls what do you think?

rcqls commented 4 months ago

@rcqls what do you think?

I'll have a look very soon....