[ANN] QtRuby 1.0.8/Korundum 3.4.0/KDevelop 3.2.0

URIS

   http://rubyforge.org/projects/korundum/
   http://developer.kde.org/language-bindings/ruby/index.html
   http://www.kdevelop.org/?filename=download.html

NAME

   QtRuby 1.0.8
   Korundum 3.4.0
   KDevelop 3.2.0

SYNOPSIS

   Ruby bindings for the Qt and KDE GUI apis, combinded with an IDE for RAD

DESCRIPTION

   Highlights from the QtRuby ChangeLog

   * An 'include Qt' statement in qtruby.rb where a couple of methods were
     being added to class Module was causing all the Qt methods to be added
     to Module. Oops, this a really serious bug. Various methods in
     qtruby.rb are now module methods in the Qt::Internal module. Big thanks
     to Eric Veensta and Samir Patel for pointing out this can of worms.

   * It also fixes a problem reported by David Crosby where a "require
     'time'" statement was incompatible with a "require 'Qt'" statement. As
     the cause was unknown, a hacky workround had to be added, which is no
     longer needed.

   * rbuic was giving widgets names containing a '@' to match the ruby
     instance variable name. However, this doesn't work with
     KDE::ConfigDialog which expects the names to match the ones generated
     in a KDE::ConfigSkeleton by rbkconfig_compiler so '@' is no longer
     added.

   * Added a Qt::Integer.coerce method so that Qt::Integers and Qt::Enums
     can be combined in arithmetic expressions with ruby Integers.

   Highlights from the Korundum ChangeLog

   * Fixed problems caused ''include Qt'' and "include KDE" statements in
     korundum.rb where a couple of methods were being added to class Module
     was causing all the Qt and KDE methods to be added to Module.

   * Added marshallers for KIO::UDSEntry and KIO::UDSEntryList, and accessor
     methods for fields in the KIO::UDSAtom struct. Fixes problem reported
     by Ian Monroe.

   * Added rbkconfig_compiler for compiling .kcfg files to ruby

   KDevelop Ruby Support

   * Integrated Qt Designer KPart component for creating UIs graphically
   * Source code debugger
   * Code folding/Syntax highlighting
   * Templates for Qt and KDE project types
   * Class browser with support for Qt features such as signals/slots,
     or KDE dcop signals slots

CONFIG

  See the qtruby/INSTALL file for details of configuration, building
  and installation.

ENVIRONMENTS

  Linux, BSD*, Unix etc
  Mac OS X

AUTHORS

  Richard Dale
  Alexander Kellett

TUTORIALS

  Qt Tutorial #1, 14 Steps to Writing a Game
  http://developer.kde.org/language-bindings/ruby/tutorial/tutorial.html

  Qt Tutorial #2, Building a Charting Application
  http://developer.kde.org/language-bindings/ruby/tutorial2/tutorial2.html

  The Qt Designer Color Tool Tutorial
  http://developer.kde.org/language-bindings/ruby/colortooltutorial/des...

  KDE 3.0 Tutorial
  http://developer.kde.org/language-bindings/ruby/kde3tutorial/index.html

  RAD with KDevelop using Ruby/Qt/KDE
  http://www.kdevelop.org/doc/technotes/rubyrad.html

An 'include Qt' statement in qtruby.rb where a couple of
methods were being added to class Module was causing all the
Qt methods to be added to Module. Oops, this a really serious
bug. Various methods in qtruby.rb are now module methods in
the Qt::Internal module.

This "hack" caused a problem in RubyScript2Exe when trying to
"compile" a Ruby application which uses Qt. I've tested the
combination RubyScript2Exe and Qt with a little HelloWorld
program. It works!

gegroet,
Erik V.

Erik Veenstra wrote:

An 'include Qt' statement in qtruby.rb where a couple of
methods were being added to class Module was causing all the
Qt methods to be added to Module. Oops, this a really serious
bug. Various methods in qtruby.rb are now module methods in
the Qt::Internal module.

This "hack" caused a problem in RubyScript2Exe when trying to
"compile" a Ruby application which uses Qt. I've tested the
combination RubyScript2Exe and Qt with a little HelloWorld
program. It works!

Yes, my mistake was to think of 'include Qt' being just like a 'using
namespace' statement in a static language like C++. But it isn't like that
at all, and in this case was having quite major unexpected effects.

I'd known there was something 'not quite right' in the namespace handling of
QtRuby for a while, but couldn't work out what it was. That was I was so
pleased when you found the problem.

-- Richard