From: Kero van Gelder Date: 2003-07-30T11:06:29+09:00 Subject: [ANN] Ruby-Wise 0.6.15 Hi! Ruby-Wise is a native WIdget SEt for Ruby. Currently it can only use X11 (help would be appreciated for other platforms or bindings to toolkits :). http://members.chello.nl/k.vangelder/ruby/wise/ Ruby-Wise aims at an API that is very friendly to program with, yet allows advanced features as well. As an example: require 'wise' Wise::Label.new(nil, :text=>"Hello, world!") Wise::main_thread() where you'll notice the lack of any function calls like pack() or show(), (well, a Label is meant to be shown, right? if you wanna hide it, specify :map=>false in the call, or call unmap() later). Ruby-Wise features: - basic Window that can do 'everything', OO derivation of other widgets, this allows for instance cut'n'paste from all text from all widgets, - basic widgets: Label, Button, Menu, Choice, Toggle, Input, Multi (multi-line label), - super widgets: Date, Dialog, Integer (integer input), - easy 'callback' by means of procs for Buttons, Choice, Toggle and Input widgets, - a few layout managers, easiest way to use them is using widgets like VList or HList, - general popup, tooltips, The best way to acquint yourself with Wise is reading the supplied test.rb file, which uses many of those widgets, including comments on the how and why. Get Wise from http://members.chello.nl/k.vangelder/ruby/wise/ Ruby-Wise is Alpha software, many things have to be worked out (Ruby-side of handling events, adding images, more widgets) but is rather usable. For an example of what is already possible, see http://rvv.rubyforge.org/ (and yes, perhaps I should move Ruby-Wise to RubyForge as well :) Have fun! Kero. PS: even shorter would be (not currently featured in Ruby-Wise!) require 'wise' Wise::Label.new("Hello, world!") Wise::main_thread() which makes perfect sense, since a label is about a String displayed on a screen (and there is no parent window involved; if there were, Label.new(parent, "text") would suffice, or perhaps Label.new("text", :parent=>parent). Comments?