Re: Dynamic ... something

Wolfgang Thaller <[email protected]>
Newsgroups gmane.comp.lang.haskell.gui
Message-ID <[email protected]>
Hello everyone!

The Easter Holidays are beginning, and finally I have some time to 
spare again....

So allow me to try to summarize the discussion about dynamic layout:

We'll have one or more of the following (correct me if I left something 
out, or if I'm misrepresenting something):

1) programmatic creation of widgets with fixed positions

2) programmatic creation of widgets using dynamic layout
(where the layout manager provides the same features across all 
platforms; implemented in Haskell at least for those platforms that 
don't have a native layout manager)

3) creation of widgets from platform-specifc resource files
.. using platform-specific extensions

Something like:
nib <- loadAppleNibFile_MAC "foo.nib" -- a nib file is a document 
created by Apple's Interface Builder and contains one or more dialogs
dialog <- createDialogFromNib_MAC nib "MyDialog"
If "MyDialog" doesn't refer to a dialog in the file, a runtime error 
occurs...

(_MAC indicates a Mac-specific extension, in analogy to the naming 
convention for OpenGL extensions).

4.) automatic layout using a self-made resource file format

... and perhaps, in the far future, a GUI layout editor to go along 
with it

5.) some conversion of platform-specific formats to Haskell code
(frankly, I fail to see the point)

=====

What about making layout management a feature of a containter widget?
When adding widgets to a FixedLayoutContainer, you'd have to specify 
the coordinates, when adding widgets to a GridLayoutContainer, you'd 
specify row & column, etc.
We could start with just a FixedLayoutContainer (that's easy), and then 
we can go on and add "more intelligent" layout mechanisms.

Another, similar approach would be to make the "layout manager" an 
_attribute_ of a container widget (as is done in Java's AWT, if I 
remember correctly). Don't know if that has any advantages for our 
situation.

Cheers,

Wolfgang
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.