Lothar Scholz wrote:

> Hello Jamey,
> 
> JC> The good news about this whole thing is that, when it comes to 
> JC> developing gui apps in Ruby, we have a choice!  Be it FXRuby, Ruby-FLTK,
> JC> Ruby/Gtk, or wxRuby.  That, to me, is the best news of all.
> 
> Okay i give you my impression (based on an older 1.1.X version)
> 
> Ruby-FLTK is good and easy to use for In-House applications.
> This is where people want something that is working and they want it
> as fast as possible. Most of them are (very) small applications - i
> mean logic not the dataset.
> 
> If you want to deliver to clients FLTK is often no good option and it
> is absolutely not good for mass market applications:
> 
> - No Tab movement and bad accelerator key handling.
>   Making apps hard to use for Joe Average Poweruser.
> 
> - Ugly.
>   Yes it always had 16 different 3D looks, many colors. Nothing in the
>   video was new stuff for those who looked at the toolkit 5 years ago.
>   (i did it in 1999 and in 2002).
>   But adding more colors does not make applications more standard or
>   more beautiful (for those who don't need to conform to standards)
> 
> - Very Basic Widgets
>   For example the text widget. There is a good multicolumn widget for
>   DB Apps in FTLK. But thats all. This is one of the reason's why it
>   is so small.
> 
> - Very basic support for Fonts and Images.
>   You can only use 16(?) predefined fonts. Images are always keept in
>   RGB format in memory and BitBlit'ed to the drawing surface. Thats
>   all.
> 
> - No support for Drag and Drop.
> 
> - No I18N, no L10N
>   (the 2.0 CVS version has UTF-8)
> 
> - Very small development
>   So it's easy to run into bugs when you do non usual things and
>   improvements are very very slow. How long is 2.0 in the CVS, what
>   happened to the 1.1.X base in since 1999. Grab the source codes of
>   2 released versions and look at the diffs to see what i mean.
> 
> - Very unpowerfull callback system.
>   Only one callback per widget for all events.
> 
> - Impossible to customize.
>   Since the callback system is so weak it makes no sense to try to
>   customize the existing widgets to your needs. You must rewrite them.
> 
> - No layout manager.
>   Thats the reason for fluid. Yes, its hard to get a good compromise
>   between using layout managers and GUI builders.
> 
> 
> As a said i think there are application areas where FLTK is not a bad
> choise but because of this different domain range it is not in competition
> to Toolkits like GTK, QT, FOX or WxWidgets which are General Purpose
> Toolkits.
> 
> By the way, i don't know why the CinePack people decided to use FLTK.
> Moving away from GTK seems to be a bad move for me.
> 
> 

Lothar,

Those are the exact misperceptions that led me to initially avoid FLTK. 
    Some of it is simply pure FUD or no longer applicable and some of it 
is due to really awful screenshots of GUI done by people with no taste.

List of 3rd-Pary opensource widgets based on FLTK is at:
   http://www.fltk.org/links.php?L+P6

For people that want extras not included in FLTK 1.1, they can use one 
of these fine FLTK-based projects which are very active:

   FLU - FLTK Utility Widgets (v2.13 released few days ago)
   http://www.osc.edu/~jbryan/FLU/

   SPTK - Simply Powerful Toolkit (v2.2 released yesterday)
   Database-aware and themed widgets with *logical layout control*
   http://sptk.tts-sf.com/index.php

For an example of an entire GUI framework based on FLTK 1.1 see:
   National Center for Biotechnology Info (NCBI)
   FLTK-based GUI framework (released for all to use)
   http://www.ncbi.nlm.nih.gov/books/bv.fcgi?rid=toolkit.chapter.ch_gui

To combat the pure FUD of FLTK not being active see these facts (and 
note the release dates of the latest FLU and FLTK):

   FLTK 1.1.5rc2 (released July 27), with 1.1.5 expected on August 10 
unless new critical bugs are discovered and confirmed.

   FLTK 1.2 is currently active in CVS, release date is not announced 
yet but expected to be within a few months.

   FLTK 2.0 is to FLTK 1.x what Ruby 2.0 is to Ruby 1.x. It is a big 
departure that won't be compatible.  FLTK 2.0 is claimed to be usable 
right now but shouldn't be used in production because the API isn't 
frozen yet.

Logical layout manager - available in SPTK.

Different callback mechanisms - available in several projects if you 
don't like the one included with FLTK.

I18N - there's an I18N dialog box in FLUID but I haven't played with 
it--I'm guessing its there for a reason.  But I did come across a 
screenshot of FLKT here with something like an elvish font here:
   http://yaroslav-v.chat.ru/russian.html

Accelerator keys - I'll find out today.  If this isn't in FLTK 1.1.5, 
then its probably provided by one of the above FLTK projects. If not, 
I'll look into using the keyup even on the window and share the code.

Callbacks - I like the simplicity/flexibility of the default callback 
mechanism but there are several alternative extensions to FLTK.  If you 
don't like the default callback mechanism in FLTK 1.1, then you'll be 
able to find several different projects that do it 
differently--including one designed for massively parallel applications.

Ugly - only if you rely on screenshots done by people with no taste. 
This was what led me to avoid FLTK in the first place.  I tried it out 
and changed my mind about this when I was able to create very 
polished-looking dialogs like I did with Delphi.  Only minor issues:
   - default greyish backgrounds (solved by typing in my preferred RGB 
value I grabbed from my Windows 2000 desktop properties).
   - Fl_Chooser looks bad when clicked (solved by using flu_combobox 
from FLTK Utility Widgets 2.13 - aka FLU 2.13)
   - Fl_Group doesn't look good so I use FLU_Simple_Group from FLU 2.13

DND - I saw examples of drag-n-drop.  Perhaps it was provided by FLU or 
SPTK but its available.

I'm sure some will argue that they won't use the extended FLTK widgets 
or logical layout managers or alternative callback mechanisms unless 
they are included in the FLTK project itself.  They're probably the same 
folks who use perl without taking advantage of anything in CPAN, or use 
Ruby without grabbing anything extra from RubyForge.

Also, you can believe the FUD put out about FLTK not being actively 
developed, or you can simply look at the FLTK CVS commit activity here 
(as well as noting the August 2004 release dates of FLU and SPTK, the 
two most popular widget sets for FLTK):
   news://news.easysw.com/fltk.cvs