MENON Jean-Francois wrote:

> hello, I didn't follow this discussion from the start, but here is what
> I'm thinking now (but I could change my opinion :->)

This sort of thing has been discussed much in this group, but I'm talking 
specifically about asking Matz to choose one of the APIs and include it 
with the Ruby VM.

> 1)TK *is* a standard toolkit that exist on many platforms, and is
> distributed with every Ruby distribution, so I choosed it for my program
> developments (and I find it nice and powerful).

Yeah, I know.  Unfortunately, you are correct.  I just really, really 
dislike Tk.  Tk fell out of the Ugly tree and hit every branch on the way 
down.  More importantly, I believe it is inadequate as a toolkit.

Carl L Rosner <clrosner / bellatlantic.net> wrote:
> I would rather see something like SWT, which is what the Java AWT (Awful
> Window Toolkit) should have been:

SWT has been discussed, but is anybody working on a translation?

Native look and feel is very important.  SWT is on the right track.  The 
difficulty, historically, has been in defining the API.  Different 
underlying systems handle things like events differently, which can be 
difficult to map to a higher-level API.

I will state once again that I am convinced that the proper way to design 
an API, especially a GUI APi, is to look at how it should be used *first*, 
and design it for the programmers, rather than trying to design the API 
based on the underlying system.  I don't know if this is how SWT evolved, 
but if you look at all (and I mean ALL) of the GUI APIs for Ruby, they all 
inherit much of their API from the backend.  This is a bass-ackward way of 
designing an API, IMNSHO.

Design for how it shoud be used, not for how it funttions.  But I digress.  
My original point was that, if we assume that Tk is unacceptable, what are 
the pros and cons of each of the /existing/ GUI toolkits for Ruby?  I'd 
really like to hear from people who know quite a bit about their favorite 
toolkit.

For example:

FLTK.  Advantages: very small, ported to almost every sort of platform, 
including handheld.  Decent Rubyized API.  Disadvantages: small set of 
widgets, no layout managers, no native L&F.

Qt.  Advantages: ported to almost every sort of platform, including 
handhelds.  Rich widget set.  Decent native L&F support.  Disadvantages: 
rather large, not very Rubyesque API.

--- SER

--- SER