
On Sun, Apr 13, 2003 at 05:12:56PM +0200, Wolfgang Thaller wrote:
I don't like the idea of separating explicit placement and dynamic layout.
[..]
* I'm sure that there are some strange situations where it is necessary, and if the application can query things like minimum and recommended sizes, font sizes are no problem
I just assumed that we explicit placement is something nobody will ever use, so it just seemed odd that we should start with it.
Resizing is a different issue. Mac OS Cocoa only has explicit placement, but does automatic resizing. Also, consider a document window: You'd need to place some content-area widget (e.g. a text widget), and two scrollbar widgets. Of course we need resizing, even for windows.
Sorry, I only meant to say resizing in terms of dialogs. The normal document window certainly is resizable.
I therefore opose to taking "explicit placement" as a starting point.
I was suggesting that we should start with explicit placement because it is by far the simplest mechanism; we can then already implement and test other parts of the CGA, before all the dynamic layout mechanisms are implemented on Mac OS and Windows.
How would it look like? placeWidget :: Container -> Int -> Int -> Widget -> IO () What are the two Ints? Pixels? Dialog units? Fractions of something? I just wonder if it is really simple. Convince me that it is! :-)
Using combinators doesn't go along with absolute pixel positions anyway as far as I can tell.
I don't get that... what do you mean by this?
I meant that placing a widget at a specific position will be just an IO action like "placeWidget" above. This cannot be expressed by combinators, otherwise you already have the dynamic version. Axel.