@pekr The new GUI is presently going nowhere, because I'm spending a lot of time in RebGUI right now.
What I would have liked to do is to work on the new GUI with Red and R2 and maybe later R3 and World. Right now, I'm just trying out the existing Red GUI to see what it can and will be able to do, so I don't just repeat what is already being done too much, if I ever get started again.
I have a couple of apps, I want to do in Red with its current GUI.
feel free to be inspired by the VID Extension Kit resize method, written by Brian Hawley and me.
foreach-face(we've done some resizing experiments using that), and reactivity. I did most of the 7GUIs tasks in Red, and Doc's Ballot example, ported from JS. You're coming in at a good time. Plenty in place to play with, but still many areas to contribute to.
tests/browsers/style-browser.r is a complete program where some resizing is done. if it runs, that is. :-)
well, that doesn't run (Win 10, REBOL/View 22.214.171.124.1 1-Jan-2011)
Script: "VID Style Tags" (1-Jul-2009) make object! [ code: 300 type: 'script id: 'no-value arg1: 'value arg2: none arg3: none near: [get :value] where: 'setup-face* ] ** User Error: Layout error in pane default ** Near: face/add-pane face word pane insert
@henrikmk Also, I was wondering about Android and other mobile platforms. Not relevant there or..?
What I mean is, Red has to consider this case too.
More guis these days don't have resize, but snap to sides (corners); even in windows.
Have to cater to changing UX flow. Automatic resizing etc.. ultimately we'd have tiling Window Managers, or not.
"More guis these days don't have resize, but snap to sides (corners); even in windows."
I see that as a subset to a common resize/align model. You could strictly build a UI in VID Extension Kit using a fixed window size and have elements align to the side with split balancer widgets, to simulate that Windows full screen feel.
If you need really custom resizing, each widget supports overriding the built in resize model, so you can not only resize the widget itself, but build a panel widget that resizes its content in a custom way, so you could build an AUTO-LAYOUT model inside a panel.
If you need some kind of window snapping to specific sizes and offsets, that would need to be built into the event system.
What I wasn't satisfied with was the behavior of resizing systems of some UIs. Carl's original R3-GUI comes to mind. If they are too smart, you spend too much time fighting that intelligence instead of getting what you want. I've found the old NextSTEP resizing algorithm particularly easy to work with and simple to understand, because it's rather "dumb".