Whole document tree
    

Whole document tree

Glade FAQ

Questa è una lista delle più gettonate domande ricorrenti su Glade, il costruttore di interfacce utente Gtk+/GNOME.

1. Informazioni generali su Glade
1.1. Quale documentazione è disponibile per Glade?
1.2. Esiste codice d'esempio?
1.3. Devo usare una qualche licenza particolare per il codice C generato con Glade?
2. Creare una interfaccia utente con Glade
2.1. Quando aggiungo un widget ad una finestra, questo me la occupa interamente e non posso aggiungere nessun altro widget.
2.2. Come faccio a cambiare i colori di un widget (ad es. a colorare di rosso una label)?
2.3. Come aggiungo un disegno ad un pulsante?
2.4. Come faccio ad aggiungere più di un widget (dello stesso tipo) alla volta?
2.5. Tutte le volte che uso una finestra di scorrimento ottengo il seguente avvertimento: Gtk-WARNING **: gtk_scrolled_window_add(): cannot add non scrollable widget use gtk_scrolled_window_add_with_viewport() instead
2.6. Quali formati grafici sono supportati da Glade?
2.7. Come si fa ad aggiungere un gestore di segnale?
3. Compilare il codice C generato da Glade
3.1. Come faccio a compilare il codice generato da Glade?
3.2. Mi dà questo errore: aclocal: configure.in: 10: macro `AM_PATH_GTK' not found in library
3.3. Mi dà questo errore: ** CRITICAL **: file glade_gnome.c: line 939 (glade_gnome_write_menu_item_source): assertion `source_buffer != NULL' failed.
4. Usare il codice C generato da Glade
4.1. Quali sono i file scritti da Glade?
4.2. Quali file possono essere modificati tranquillamente dallo sviluppatore e quali invece vengono sovrascritti?
4.3. Come faccio ad aggiungere al progetto i miei file sorgenti?
4.4. Come faccio ad aggiungere una libreria al progetto?
4.5. Come ottengo un puntatore ad un widget da dentro un gestore di segnale?
4.6. Come ottengo un puntatore ad un widget di un'altra finestra?
4.7. Come ottengo il valore di un GtkOptionMenu?
4.8. Come faccio a far chiamare una funzione a GtkOptionMenu quando cambia?
4.9. Come mi connetto ai segnali GtkAdjustment?
4.10. Come faccio ad aggiungere delle righe ad una GtkCList prima che la finestra venga disegnata?

1. Informazioni generali su Glade

Nella versione GNOME di Glade sono disponibili la Guida Quick-Start, il Manuale e le FAQ, direttamente dal menu Aiuto. Sfortunatamente questi ancora non coprono tutti gli aspetti riguardanti l'uso di Glade.

Sul web sono reperibili alcuni altri documenti:

La guida Spagnola: tigre.aragon.unam.mx/m3d/links_es.htm

La guida Italiana: digilander.iol.it/robang/glade

Non credo che ci siano libri che trattano specificatamente di Glade; comunque ho visto un capitolo su Glade in un libro della Wrox press dedicato agli sviluppatori Linux.

Aggiungerò, sulla home page di Glade glade.gnome.org, link riguardanti la documentazione, non appena disponibili.

2. Creare una interfaccia utente con Glade

Puoi usare i file rc GTK+ standard per impostare i colori e i font dei tuoi widget. Se in Glade abiliti l'opzione 'Imposta nomi dei widget', risulterà più semplice fare riferimento ai tuoi widget, visto che potrai chiamarli per nome. Vedi la documentazioni sulle risorse di GTK+ presso developer.gnome.org/doc/API/gtk/index.html.

Puoi anche cambiare lo stile di un widget all'interno del tuo codice chiamando gtk_widget_modify_style(); ad es:

  GdkColor red = { 0, 65535, 0, 0 };
  GtkRcStyle *rc_style = gtk_rc_style_new ();
  rc_style->fg[GTK_STATE_NORMAL] = red;
  rc_style->color_flags[GTK_STATE_NORMAL] |= GTK_RC_FG;
  gtk_widget_modify_style (widget, rc_style);
  gtk_rc_style_unref (rc_style);
      

3. Compilare il codice C generato da Glade

4. Usare il codice C generato da Glade

Ecco un elenco dei file che vengono scritti di solito; se hai cambiato le opzioni del progetto alcuni nomi potrebbero essere diversi.

Se è abilitato il supporto per gettext viene creata la directory po con un POTFILES.in ed un ChangeLog separato. POTFILES.in elenca i file sorgenti che contengono delle stringhe traducibili e dovresti aggiungere qui tutti i file sorgente che crei.

Per i progetti GNOME viene aggiunta anche la directory macros, che contiene tutte le macro m4 usate per compilare il progetto (veramente queste avrebbero dovuto essere installate come parte di GNOME, ma sfortunatamente ciò non è stato fatto in GNOME 1.0.x; si spera che questa cosa venga corretta in una futura versione di GNOME, al che questa directory non sarà più necessaria).

Dopo aver compilato il progetto, se cambi le opzioni Supporto per Gnome o Supporto per gettext, allora dovrai aggiornare alcuni dei file compilati, come configure.in e Makefile.am. La soluzione migliore probabilmente è di cambiare la directory del progetto nella finestra di dialogo Opzioni del progetto e ricompilare il progetto da zero. Tuttavia così facendo dovrai ricopiare tutto il codice che avevi, eventualmente, aggiunto per gestire i segnali. Un'alternativa è quella di cancellare autogen.sh, configure.in, Makefile.am, src/Makefile.am, src/main.c e ricrearli usando Glade. Ma se avevi fatto dei cambiamenti in tali file allora dovrai rifarli (si spera che in futuro Glade gestisca meglio questo problema).

Questa FAQ è stata scritta da Damon Chaplin (). Per favore, invia commenti e suggerimenti riguardanti questo manuale all'autore. Per maggiori informazioni su Glade, o sulle mailing list riguardanti Glade, visita la pagina web di Glade.

Traduzione italiana di Fabrizio Stefani (). Per favore, invia commenti e suggerimenti riguardanti questa traduzione al suddetto indirizzo.