Glade

Glade UI Designer

Glade è uno strumento RAD che permette lo sviluppo rapido e facile di interfacce grafiche grazie al toolkit GTK+ per l’ambiente desktop GNOME.

Le interfacce realizzate sono salvate come file XML e possono poi essere caricate dinamicamente dalle applicazione quando ne hanno bisogno.

I file XML generati da Glade possono essere usati in numerosi linguaggi di programmazione come C, C++, C#, Ruby, Java, Perl, Python,and others.

Glade è un software free regolato dalla GNU GPL License.

In questo articolo utilizzerò il linguaggio Ruby sotto Ubuntu.

Per l’installazione di ruby sotto Ubuntu si veda l’articolo: http://www.appuntisoftware.it/installare-ruby-su-ubuntu/

A questo punto si installa glade:

% sudo apt-get install glade

Per lanciare l’editor è possibile eseguire il comando glade da console oppure lanciare il programma tramite lo shortcut creato in Applicazioni -> Programmazione

Glade- Pannello di avvio

Scegliamo come libreria ‘Libglade’ e lasciamo il resto come default.

Costruiamo la nostra interfaccia scegliendo dal Pannello ‘Livelli Principali’ il widget ‘Finestra’, all’interno di essa posizioniamo un contenitore di tipo ‘Disposizione’.

Scegliamo ancora dal pannello ‘Contenitore’  unodi tipo tabella e lo posizioniamo nel Layout precedente specificando due colonne e tre righe. All’interno di questa posizioniamo due label, due input text ed un bottone come mostrato di seguito:

Finestra Finale

Prima di poter utilizzare il file .glade in Ruby bisogna installare i bindings per il linguaggio tramite il comando:

% sudo apt-get install ruby-gnome2

tra le librerie installate vi sono libglade-ruby e libgtk2-ruby che servono appunto per ottenere il binding in ruby delle interfacce create con le librerie GtkBuilder o Libglade.

A questo punto possiamo utilizzare il file .glade in Ruby dando il comando:

% ruby-glade-create-template window.glade > window.rb

Il file Ruby generato contiene un semplice codice che carica il file eed inizializza l’interfaccia.

Non resta che editare il file generato aggiungendo le righe:

PROG_PATH = "/home/angelo/ruby/window.glade"
PROG_NAME = "window.rb"
win=TestGlade.new(PROG_PATH, nil, PROG_NAME)
win.glade["window"].show_all

Ottenendo il file finale:

#!/usr/bin/env ruby
#
# This file is gererated by ruby-glade-create-template 1.1.4.
#
require 'libglade2'
 
class TestGlade
  include GetText
 
  attr :glade
 
  def initialize(path_or_data, root = nil, domain = nil, localedir = nil, flag = GladeXML::FILE)
    bindtextdomain(domain, localedir, nil, "UTF-8")
    @glade = GladeXML.new(path_or_data, root, domain, localedir, flag) {|handler| method(handler)}
 
  end
 
end
 
# Main program
if __FILE__ == $0
  # Set values as your own application.
  PROG_PATH = "/home/angelo/ruby/test.glade"
  PROG_NAME = "test.rb"
  win=TestGlade.new(PROG_PATH, nil, PROG_NAME)
  win.glade["window"].show_all
  Gtk.main
end
1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (2 voti, media: 4,00 di 5)
Loading...
You can leave a response, or trackback from your own site.

One Response to “Glade”

  1. jj ha detto:

    Bell’articolo, però mi rimangono dei dubbi. Come si fanno ad implementare le funzioni di “utilizzo” dell’interfaccia? (si chiamano callback?) Ad esempio c’è un modo per automatizzare anche la creazione dello “scheletro” dei metodi che vengono chiamati alla pressione di un bottone, o all’inserimento di un testo un’area di testo, al passaggio del mouse sopra una determinata area?
    Grazie mille ! 🙂

Leave a Reply

*