Posterous theme by Cory Watilo

Programación en Vala + GTK3 + Granite para ElementaryOS (Parte 2)

2.- Vala + GTK3

2.1.- Primer Hello World

Empezaremos con un Hello World mediante Vala y GTK3. Dejaremos Granite para más adelante.

using Gtk;

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

        var window = new Window ();
        window.title = "First GTK+ Hello World";
        window.border_width = 10;
        window.window_position = WindowPosition.CENTER;
        window.set_default_size (350, 70);
        window.destroy.connect (Gtk.main_quit);
        window.show_all ();

        Gtk.main ();
        return 0;
}

Compilaremos el código mediante:

valac helloworld.vala -o helloworld --pkg gtk+-3.0

Ejecutamos el resultado

./helloworld

Más adelante en la documentación se explicará a utilizar CMAKE cómo herramienta para la compilación.

2.3.- Segundo Hello World

Ahora vamos a hacer un Hello World más elaborado. Usaremos un botón GTK y haremos que ese botón responda al click.

using Gtk;

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

        var window = new Window ();
        window.title = "First GTK+ Hello World";
        window.border_width = 10;
        window.window_position = WindowPosition.CENTER;
        window.set_default_size (350, 70);
        window.destroy.connect (Gtk.main_quit);

        var button = new Button.with_label ("Click me!");
        button.clicked.connect (() => {
                button.label = "Thank you";
        });

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

        Gtk.main ();
        return 0;
}

Seguiremos compilado de la misma manera que hasta ahora.

valac trunk/src/helloworld2.vala -o helloworld2 --pkg gtk+-3.0

Ejecutamos el resultado

./helloworld2

2.4.- Avanzando con GTK3

A partir de este momento es más práctico seguir el manual de Vala + GTK3 que se puede encontrar en la página oficial de Vala: http://live.gnome.org/Vala/GTKSample