FoxTails is a set of extensions for
FXRuby. (FXRuby is the Ruby bindings for the Fox C++ GUI library. See fxruby.sourceforge.net.)
This is an alpha release, so documentation is still very sketchy, and there
are no tests. There are examples, though. See also the comments in
foxtails.rb for a basic roadmap of the library.
FoxTails depends on observable:
and of course fox/fxruby:
The install process is the standard one:
ruby install.rb config
ruby install.rb setup
ruby install.rb install
The most useful part of FoxTails is
the use of observable attributes to connect GUI components. It's very easy
to use. See the examples.
- Deferred targets. By using a code block (in place of the object itself) to
indicate the target of a widget, there is no need to worry about
initialization order, which leads to better decoupling.
- In the FoxTails API, the argument
lists have the same form as Fox argument
lists, except that the tgt,sel args are replaced by a target, an accessor,
and sometimes other args. So it's easy to use existing documentation and to
convert old programs.
- Works with existing accessors provided by FXRuby (e.g., enabled=, etc.) (see
- Updates happen with no delay! (This is esp. nice for menus, which always
bothered me in Fox.)
- Values (e.g. in text fields, combo boxes) can be anything, not just number
or string (see examples/combo.rb).
FoxTails also includes some
"megawidgets", such as a dir broswer with bookmarks. See
examples/file-browser.rb and examples/simple.rb, which also shows how easy
it is to link multiple widgets to a ruby object attribute. See foxtails.rb
for brief descriptions.
The current version of this software can be found at redshift.sourceforge.net/foxtails.
This software is distributed under the Ruby license. See www.ruby-lang.org.
Joel VanderWerf, email@example.com