[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ruby-talk
Subject:    [ANN] QtRuby 1.4.7
From:       "richard.j.dale () gmail ! com" <richard ! j ! dale () gmail ! com>
Date:       2006-10-30 20:40:16
Message-ID: 1162240681.388386.129750 () b28g2000cwb ! googlegroups ! com
[Download RAW message or body]

URIS

    http://rubyforge.org/projects/korundum/
    http://developer.kde.org/language-bindings/ruby/index.html

NAME

   QtRuby 1.4.7

SYNOPSIS

   Ruby bindings for the Qt4 GUI apis.  Many fixes and
   improvements. QtDBus now works.

DESCRIPTION

   Highlights from the QtRuby ChangeLog since release 1.4.7:

* Support for Qt 4.2 final

* The Qt4 version of QtRuby can be installed at the same time as
   the Qt3 version.
   * Use:
       - require 'Qt3'
       - require 'Qt4'
       - require 'Qt'
     The last option will default to Qt4 QtRuby.
   * The command line api introspection tool can be used to query
      both Qt3 and Qt4 apis:
       - rbqt3api
       - rbqt4api
       - rbqtapi
     Again the last option will default to the Qt4 api for QtRuby
   * The 'rbuic' tool has been renamed 'rbuic4' to avoid a clash with
      the Qt3 one.
   * The Qt3 and Qt4 versions of the Smoke library have different
      versions and can be installed in the same directory

* Added the rbrcc Ruby resource compiler tool

* Optional support for the QtDbus classes, and Qt QDBus examples
   ported to ruby

* Optional support for the Qwt plotting library

* Blocks can be used as targets for connect calls as well as ordinary
slots:

	* Added a new variant of connect, which takes a SIGNAL as an
          argument, along with a block. For example:

          quit.connect(SIGNAL(:clicked)) { puts 'quit pressed' }

	  The block is called in the context of where the connect call was
          made, and 'self' needn't be a Qt::Object. It is similar to
the
          signal_connect() method in ruby-gnome. This was suggested by
          rickdangerous on the #qtruby irc channel.

	* Here is an example of the class method connect() call with a block
          as a target:

          app = Qt::Application.new(ARGV)
          quit = Qt::PushButton.new('Quit')
          Qt::Object.connect(quit, SIGNAL('clicked()'), app) do
              puts 'quit clicked'
          end

	  The block is executed in the context of the target instance,
          'app' in this case.

	* And the instance method form:

          class MyButton < Qt::Button
               def initialize(text)
                    super(text)
                    connect(self, SIGNAL(:clicked)) do
                         puts 'button clicked'
                    end
               end
               ...

	  The block is executed in the context of self - the instance making
          the connect() call.

CONFIG

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

BUILDING ON WINDOWS

   * The smoke library can be built on windows by manually editing
      qtguess.pl.in and generate.pl.in (automake doesn't work with
      qtruby on Windows). Run 'perl qtguess.pl'  to for the configure
      tests. Then run 'perl generate.pl' to generate the Smoke sources,
      and build with qmake. Use extconf.rb and qmake to build the
      qtruby extension and rbuic tool.

ENVIRONMENTS

   Linux, BSD*, Unix etc
   Mac OS X, Windows

AUTHORS

  Richard Dale with Caleb Tennis, Alexander Kellett and others.
  Special  thanks to kelko and rickdangerous for suggesting how
  to implment 'blocks as slots' for this release.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic