10 nov. 2011

Programa "Hola Mundo" en Vala

Este es mi primer intento de programar algo grafico en vala.

Vala es un lenguaje de programación creado con el objetivo de acercar las características de los lenguajes modernos a C, sin requisitos adicionales de tiempo de ejecución y con pocos costos, centrado en los objetos de la biblioteca GObject.

Eso es lo que dice la Wikipedia.

Para comenzar en Ubuntu

sudo apt-get install valac libgtk-3-dev

Y con eso sera suficiente. Ahora a programar el Hola Mundo en Vala

using Gtk;

int main (string[] args) {
    Gtk.init (ref args);

    var window = new Window ();
    window.title = "Mi Primer Programa";
    window.border_width = 10;
    window.window_position = WindowPosition.CENTER;
    window.set_default_size (320, 80);
    window.destroy.connect (Gtk.main_quit);

    var button = new Button.with_label ("Hola Mundo!");
    button.clicked.connect (() => {
        button.label = "Yeaihhh";
    });

    window.add (button);
    window.show_all ();

    Gtk.main ();
    return 0;
}

Con esto se termina de hacer el programa.
Lo guardo en alguna carpeta con el nombre HolaMundo.vala
Lo compilo con el comando valac --pkg gtk+-3.0 HolaMundo.vala
Finalmente ejecuto el programa con ./HolaMundo

Voy a explicar un poco la sintax

using Gtk; es la declaracion de que es un programa en gtk
int main (string[] args) { es la declaración inicial del programa.
var window = new Window (); crea una ventana nueva
window.title = "Mi Primer Programa"; Le pone el titulo al programa

Estos tres elementos del código lo que hacen es establecer un borde a la ventana, posicionarla en el centro de la pantalla y darle un tamaño de 320 x 80


window.border_width = 10;
window.window_position = WindowPosition.CENTER;
window.set_default_size (320, 80);


Crea un boton con el nombre Hola Mundo, crea una conexión que permite al clickerlo cambiar el nombre del boton.


var button = new Button.with_label ("Hola Mundo!");
button.clicked.connect (() => {
button.label = "Yeaihhh !";

Lo demás es bastante obvio, crea una ventana visible y finalmente retorna el programa.






No hay comentarios:

Publicar un comentario