
I’ve set the next one to 6pm utc to try capture americas and Europe

nice, ty @alexharsanyi. Im struggling to understand how I can set custom length/width/top/left. I overrode the place-children
but its not straight forward. If I add multiple items to a pane it throws errors. Yet, I can’t use this concept at the frame level to place the panes with a single control where I want.

I don’t fully understand what you are trying to do, and maybe you already know this, but just in case, here are a few things to keep in mind:
• place-children
is a method on a container (panel%
) and it is used by the container to place its children inside its own area. It cannot be used by a widget to place itself anywhere it wants to. • there is a corresponding container-size
method, which the container must provide, to inform its parent on how much area it needs from the parent To implement custom placement for items, you will need to create a new container where this custom placement takes place. Items are added to a container when a widget specifies the container as the parent
field, and the order in which they are added is kept. Your container will probably need to have some set-widget-location
method which stores the placement info for a widget inside the container. Than, container-size
and place-children
will need to use that information.
However, I am curious as to why do you want to implement this manual placement mode? This places the burden on the user to calculate appropiate sizes and location for each widget, and manually update those if they need to add another widget to the panel. I personally found it easier to have automatic layout, and just have to specify minimum dimensions and spacing/borders sizes between items….

Thank you for this. Automatic layout does seem great but a bit of a paradigm shift from say java swing or vb where I can easily place controls based on top/left/width/height. If I want to dynamically render controls from positions stored in a db with that construct its hard to replicate with automatic layout.
I followed along with your approach here on how to do it. I was trying to leverage your place-children
and just manually set the position but it didn’t take. I think I’m failing on the inputs/outputs to make it successful.

What error did you get?

container-redraw: result from place-children is not a list of length 2 (matching the input list length) whose elements are lists of length 4 of exact integers
result: '((0 0 0 0))
context...:
/Applications/Racket v8.3/collects/racket/private/map.rkt:267:2: gen-for-each
[repeats 1 more time]

Id be happy to pay for an example or donate to charity for anyone who can help me achieve this

Place-children receives a list of desired item sizes and must return a list of item positions and sizes. Each item in the output list is itself a list with the x, y, width and height of the item. Also place-children must place all the children of the container, I.e it must output the same number of elements as it’s input list of items (this is what the error message means: you output the placement for a single item, instead of both the items added to the container)

@zac has joined the channel