[GUI] Dynamic ... something
Axel Simon
A.Simon@ukc.ac.uk
Sun, 13 Apr 2003 21:11:37 +0100
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.