Home > Guide veloci > Guida gtk+ a puntate ( XXII parte )

Guida gtk+ a puntate ( XXII parte )

Salve a tutti, continuiamo finalmente dopo tanto tempo con la guida alle gtk+ parlando delle preannunciate toolbar. Gestirle è molto molto semplice.

La creazione avviene tramite la funzione gtk_toolbar_new () che non riceve argomenti e ritorna un puntatore a GtkWidget che altro non è che la toolbar.

Una volta ottenuta si possono settare alcune opzioni:

  • gtk_toolbar_set_show_arrow (): questa funzione riceve come argomenti la toolbar e un valore booleano ( TRUE o FALSE, FALSE è l’attributo predefinito ) che permette di visualizzare una freccia nel caso gli elementi inseriti nella toolbar non siano visualizzabili ( ad esempio quando viene ridimensionata la finestra ). Se questo attributo non è presente la finestra non potrà essere ridimensionata meno della larghezza della toolbar.
  • gtk_toolbar_set_orientation (): anch’essa riceve due argomenti come la precedente, il primo è sempre la toolbar mentre il secondo è l’orientamento che vogliamo abbia. I valori disponibili son soltanto due: GTK_ORIENTATION_HORIZONTAL  e GTK_ORIENTATION_VERTICAL ( il predefinito è GTK_ORIENTATION_HORIZONTAL ).
  • gtk_toolbar_set_icon_size (): con questa funzione possiamo stabilire la dimensione predefinita delle icone degli elementi della toolbar. I valori disponibili sono GTK_ICON_SIZE_INVALID, GTK_ICON_SIZE_MENU, GTK_ICON_SIZE_SMALL_TOOLBAR, GTK_ICON_SIZE_LARGE_TOOLBAR, GTK_ICON_SIZE_DND, GTK_ICON_SIZE_DIALOG.
  • gtk_toolbar_set_style (): permette di stabilire lo stile della toolbar passata come primo parametro. Gli stili disponibili sono:
    • GTK_TOOLBAR_ICONS: visualizza solo le icone nella toolbar.
    • GTK_TOOLBAR_TEXT: visualizza solo il testo nella toolbar.
    • GTK_TOOLBAR_BOTH: visualizza il testo e le icone nella toolbar ( il testo sarà sotto le icone ).
    • GTK_TOOLBAR_BOTH_HORIZ: visualizza il testo e le icone nella toolbar ( il testo sarà a fianco le icone ).

Una volta impostati gli attributi alla toolbar possiamo procedere all’inserimento degli elementi. Come elementi abbiamo i pulsanti normali, i toggled, i separatori, ecc..

Iniziamo con i pulsanti normali, il nome delle funzioni è uguale a quella per i pulsanti normali, cambia solo categoria, quindi se prima per creare un pulsante si chiamava ad esempio la funzione gtk_button_new_from_stock () adesso si chiamerà gtk_tool_button_new_from_stock (). Altra differenza è che la variabile ritornata non è un GtkWidget * ma un GtkToolItem *.

Continuando con i toggle button, ovvero i pulsanti che una volta clickati rimangono premuti ( attivati ) e se riclickati ritornano allo stato originario ( disattivati ), abbiamo la stessa situazione che avevamo anche qui con i pulsanti toggle normali, cioè sono una sottocategoria dei pulsanti normali,  cambia categoria ( quindi gtk_toggle_tool_button_.. () ) e le azioni delle funzioni invece rimangono uguali. Anche qui il valore ritornato non è un GtkWidget * ma un GtkToolItem *.

Anche con i radio button ( chiamati radio_tool_button ) abbiamo le stesse identiche cose dei radio button normali con le identiche modifiche descritte per i due tipi di pulsanti più su.

I separati nelle toolbar si creano semplicemente con la funzione gtk_separator_tool_item_new () che non riceve argomenti e ritorna un GtkToolItem *.

Essendo, come avrete notato, tutti dei GtkToolItem * esistono delle funzioni per impostare degli attributi a questa classe, indipendentemente dal tipo specifico ( tutte queste funzioni che ora elencherò infatti ricevono come primo parametro un GtkToolItem * ):

  • gtk_tool_item_set_expand (): il secondo parametro è un valore booleano per scegliere se permettere all’item passato di occupare lo spazio che potrebbe crearsi nella toolbar ( ad esempio durante il ridimensionamento potrebbe crearsi del vuoto sulla destra mentre se uno o più widget si espandono riempiono anche quello spazio ).
  • gtk_tool_item_set_homogeneous (): l’item a cui viene applicata questa opzione ( secondo parametro è booleano ) avrà la larghezza uguale a quella del più largo degli oggetti inseriti nella toolbar.
  • gtk_tool_item_set_tooltip_text (): il secondo parametro dovrà essere una stringa contenente il suggerimento che si vuol far visualizzare quando il mouse “riposa” sull’elemento passato come primo parametro.
  • gtk_tool_item_set_tooltip_markup (): come la funzione precedente, solo che il testo del “tooltip” ( suggerimento ) potrà usare dei tag di markup.
  • gtk_tool_item_set_visible_horizontal (): riceve come secondo parametro un valore booleano che indica se visualizzare l’elemento quando la toolbar è orientata orizzontalmente.
  • gtk_tool_item_set_visible_vertical (): come la funzione precedente, solo che la visibilità dell’elemento riguarda quando la toolbar nella sua posizione verticale.

Ok abbiamo finito ma manca la cosa più importante, ovvero come inserire questi elementi che abbiamo creato nella toolbar. Niente di più semplice lo facciamo in un attimo con la funzione gtk_toolbar_insert () che riceve tre parametri, il primo la toolbar, il secondo l’elemento da inserire e come terzo il numero del posto in cui inserirlo ( parte da zero l’indice ).

Fine Ventiduesima Puntata
Come promesso, anche se ce l’ho fatta nel limite, ho fatto una nuova guida alle gtk+ questa settimana, per altre puntate non abbiate fretta perchè sono un po’ occupato dall’inizio di questo nuovo anno. Per altri argomenti in particolare comunque che volete guardare sempre inerenti alle gtk+ scriveteli pure nei commenti alle guide o nella pagina principale dove c’è il riassunto di tutte le puntate.
Ciauz ;)

  1. Nessun commento ancora...
  1. Nessun trackback ancora...