No meu artigo anterior escrevi uma Introdução a Linguagem Vala, neste artigo vou ensinar como Criar aplicativos simples usando o Tutorial Oficial. Para começar-mos vamos instalar o compilador vala, digitando o seguinte comando numa janela de terminal:

apt-get install valac libgtk-3-dev
OBS 1; Este comando é para um sistema Linux/Debian, caso esteja a usar um sistema diferente recomendo que faça uma pesquisa rápida na Internet  para instalar o compilador vala no o seu sistema.

OBS 2; Iram reparar que aparecem algumas frases em Português nos códigos que vou usar para criar as aplicações, mas os códigos originais no tutorial Oficial usam apenas frases em Inglês.

Aplicação simples "Olá Mundo";

Começamos por criar um arquivo de texto e vamos dar-lhe o nome de "hello.vala", depois de criado o arquivo abram-no e colem lá este código;

int main() {
print("Olá Mundo\n");
return 0; }
Guarda-mos as alterações ao ficheiro, feito isto abrimos um terminal no local onde acabamos de guardar o ficheiro que acabamos de criar, digitamos no terminal o seguinte comando;

valac "hello.vala" -o hello
Isso irá criar um arquivo executável chamado "hello" no directório actual. Execute o arquivo a partir de um terminal usando o seguinte comando;

./hello

Aplicação simples "Olá mundo" usando objetos;

Aqui está o mesmo exemplo escrito novamente, desta vez usando recursos orientados a objectos Vala. O programa vai simplesmente exibir o primeiro argumento que é passado para ele. Para isso criamos um novo arquivo de texto com o nome de "hello2.vala", depois inserimos este código no arquivo e guarda-mos as alterações;

class Example : GLib.Object {

    public static void main(string[] args) {
        var ex = new Example();
        if (args.length < 2)
            print("Hello World\n");
        else
            ex.display(args[1]);
    }

    void display(string message) {
        stdout.printf(message + "\n");
    }
}
Agora vamos compilar o arquivo abrindo um terminal no local onde temos arquivo que acabamos de criar, digitamos no terminal o seguinte comando;

valac "hello2.vala" -o hello2
Isso irá criar um arquivo executável chamado "hello" no directório actual. Execute o arquivo a partir de um terminal usando o seguinte comando;

./hello2 "Welcome to Vala"

Aplicação simples GUI usando GTK

Agora iremos aprender a criar uma aplicação que pode realmente ser útil. Vamos criar uma aplicação GUI para eliminar os "Documentos Recentes" do histórico de um PC Linux/Debian. Vamos criar um novo arquivo de texto com o nome de "app1.vala", depois inserimos este código no arquivo e guarda-mos as alterações;

using Gtk;

class MainWindow : Window  {

  public static int main (string[] args) 
  {
    Gtk.init(ref args);  //Inicia Gtk

    var window = new MainWindow (); //Cria uma Janela
    window.destroy.connect (Gtk.main_quit); //Sai do aplicativo depois de fechar a Janela
    window.show_all (); //Torna todos os widgets visíveis

    Gtk.main(); //Inicia o loop principal

    return 0;
  }

  public MainWindow()
  {
    this.title = "Minha 1ª App";
    this.border_width = 10;
    this.set_default_size (250, 60);
    this.window_position = WindowPosition.CENTER;
    this.destroy.connect(Gtk.main_quit); //Sai do aplicativo quando a janela é fechada

    var btnClear = new Button.with_label ("Apagar Documentos Recentes");
    btnClear.clicked.connect (clear_history); //Liga o evento à função
    add(btnClear);  //Adiciona botão a janela
  }

  public void clear_history () 
  {
    string HOME = Environment.get_home_dir ();

    try {
      Process.spawn_command_line_sync (@"rm $HOME/.local/share/recently-used.xbel");
      Process.spawn_command_line_sync (@"touch $HOME/.local/share/recently-used.xbel");
      messagebox_show ("Sucesso", "Histórico de documentos recentes eliminado");
    }
    catch (Error e){
      string msg = e.message;
      stderr.printf(msg);
      messagebox_show ("Error", msg);
    }
  }

  public void messagebox_show(string title, string message)
  {
    var dialog = new Gtk.MessageDialog(
   null,
   Gtk.DialogFlags.MODAL, 
   Gtk.MessageType.INFO, 
   Gtk.ButtonsType.OK, 
   message);
   
    dialog.set_title(title);
    dialog.run();
    dialog.destroy();
  }
}
Temos o código escrito para a criação de uma janela simples com um único botão. O evento Click do botão está ligado à função clear_history (). O clear_history () função executa comandos para eliminar um arquivo na sua pasta pessoal. Este arquivo contém a lista de documentos que foram recentemente acessados ​​por você.

Agora vamos compilar o arquivo abrindo um terminal no local onde temos arquivo que acabamos de criar, digitamos no terminal o seguinte comando;

valac --pkg gtk+-3.0 "app1.vala" -o app1
A biblioteca GTK3 contém uma coleção de classes para criar widgets como janelas e botões. Uma vez que estamos criando um aplicativo GTK, precisamos linkar o programa com a biblioteca GTK3 (isto é semelhante a adicionar uma referência a um arquivo DLL no projeto C#).

O "-- pkg gtk + -3.0" argumento diz ao compilador Vala para fazer a ligação. Podemos adicionar vários "-- pkg" argumentos para cada biblioteca usada pela nossa aplicação. Você pode consultar o site oficial ValaDoc para a lista completa de bibliotecas que você pode usar em seus projectos.

Vou recomendar que você mantenha esta página aberta numa janela de navegador quando você está programando com Vala. Ele permitirá que você procurar rapidamente bibliotecas e funções que você pode usar em seu projeto. Ele contém a referência completa para tudo que você precisa saber sobre como usar as classes e funções built-in.

Execute o arquivo a partir de um terminal usando o seguinte comando;

./app1

Clique no botão "Apagar Documentos recentes" para limpar o seu histórico;


Como esta é uma aplicação GUI, também pode executá-lo clicando duas vezes no arquivo do Nautilus ou qualquer outro gerenciador de arquivos. Executando-o a partir de uma janela de terminal é melhor porque será capaz de ver as mensagens que o programa grava na saída padrão (stdout) e erro padrão (stderr).

Clicando em Exemplos GTK, poderá ver mais alguns exemplos GTK.

Fonte; TeeJee Tech
Comentários
0 Comentários

0 comentários:

Enviar um comentário

Se você tem alguma duvida/sugestão relacionada com este artigo deixe o seu comentário.

Não comente palavras ofensivas.

 
Top