Ruby con Glade

Clasificado en:

No soy muy amigo de programar interfaces gráficas, lo confieso. Con VB logré algo interesante, el no famoso Drum kit manager III para crear drumkits en Buzz (el mejor tracker de la historia), pero quedé tan traumado con las llamadas a DLL, que preferí abstenerme.

Ya entrando en el mundo de PHP, obviamente me entraron las ganas de programar alguna interface gráfica con PHP-GTK, pero quedó en buenas intenciones.

Con Ruby la cosa ha cambiado. Es tan bonito el lenguaje, que vale la pena intentar hacer cosas extrañas con él. Si bien he hecho mis pinitos con Ruby-Tk, la mayoría de los comentarios apuntan es que hay mejores librerías.

En las reuniones de la CWC, Hyoga (un periodista linuxero a matar) salió con 'Por qué no cooperas con Gnome?'. Hmmm... La GTK es bastante conocida y recomendada, Ruby tiene una biblioteca de integración a GTK2.

Dicho y hecho. Aquí van las instrucciones de trabajo (supongo que de tanto hablar de Ruby ya lo tienen instalado, no?):

  • Como trabajo en Windows (terrible, no?), baje los paquetes descritos en Install Guide for Windows for Ruby-Gnome. El único problema que tuve fue que la versión de iconv que tenía en el %WIN%/S ystem32 estaba desactualizada, así que la borre y puse la que venía en la distribución de los binarios de GTK
  • Ya que el Glade venía en el paquete de desarrollo de GTK, creamos una interface básica, la cual llame rubyglade.glade
  • Desde Ruby, las siguientes instrucciones son necesarias para proveer una mínima funcionalidad
    1.  require 'libglade2'
    2.  Gtk.init
    3.  class GUI
    4.  attr_accessor :wTree
    5.  def initialize
    6.   @wTree = GladeXML.new('gladetest/gladetest.glade') {|handler|
    7.   method(handler)}
    8.  end
    9.  def on_boton_clicked
    10.   puts "clickeado"
    11.  end
    12.  end
    13.  GUI.new
    14.  puts "inicializado"
    15.  Gtk.main
    Como pueden ver, es bastante sencillo.
  • Tienen que incluir el paquete libglade2 al inicio del script, el cual carga a 'gtk2'.
  • Después, inicializo el GTK con GTK.init.
  • Para cargar el glade, ocupo el método GladeXML.new y paso en un bloque lo que debe hacer el programa con cada señal. En este caso, hago lo más simple, que es enviar la señal al método de la clase GUI con el mismo nombre.
  • Para finalizar, instancio la GUI y echo a andar el GTK con Gtk.main

Ven, no es nada del otro mundo. Puede que algunos no hayan entendido nada, pero uno nunca sabe...

icono de usuario

Hola.
Hey men, me has hecho entrar ganas de aprender ruby.
Conoces algun tutorial en español de ruby (me manejo bien con el ingles, pero me canso mas rapido xD).

Dew.
PS: Agregado a mis favoritos ;)

Enviado por Tuxiradical (no verificado) el Mar, 24/08/2004 - 09:31.
icono de usuario

La verdad es que suelo leer todo en inglés (por algo casi todos los links están en ese idioma). Por eso mesmo, no sé que tutorial hay bueno en castellano.
Te recomiendo encarecidamente que leas el 'manual oficial' de Ruby, llamado Programming Ruby. Lo puedes leer en línea en http://www.rubycentral.com/book/

Enviado por Claudex (no verificado) el Mié, 25/08/2004 - 00:00.
icono de usuario

me baje el glade para windows, ya lo instale y cree una interfaz basica coloque un label y un boton, los guarde, mi pregunta o preguntas son estas:

como utilizo perl o php para la programacion de la interface?, apenas estoy entrando en esto, solo habia programado en visual basic, poco en c++, y otro poco en php, que tal esta ruby, de antemano gracias ...

Enviado por gustavo (no verificado) el Mié, 19/10/2005 - 11:06.

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato