Frames
e Paned Window
Frames.
Le Frames (cornici) possono essere
usate per racchiudere un gruppo di widget in una cornice con o senza etichetta.
Una Frame può essere creata con
la funzione:
GtkWidget *gtk_frame_new( const
gchar *label );
L'etichetta è posta
di default nell'angolo superiore sinistro. Se si assegna NULL
all'argomento label questa non sarà visualizzata.
Il testo della label può essere cambiato con la seguente funzione:
void gtk_frame_set_label(
GtkFrame *frame,
const gchar *label );
La posizione della label può
invece essere cambiata con:
void
gtk_frame_set_label_align( GtkFrame *frame,
gfloat xalign,
gfloat yalign );
La seguente funzione altera
l'aspetto della frame.
void
gtk_frame_set_shadow_type( GtkFrame *frame,
GtkShadowType type);
L'argomento type puoò assumere
una delle seguenti forme:
GTK_SHADOW_NONE
GTK_SHADOW_IN
GTK_SHADOW_OUT
GTK_SHADOW_ETCHED_IN (default)
GTK_SHADOW_ETCHED_OUT
Ecco l'esempio che illustra il
funzionamento della Frame widget:
/* Inizio esempio frame frame.c */
#include <gtk/gtk.h>
int main( int argc,
char *argv[] )
{
GtkWidget *window;
GtkWidget *frame;
GtkWidget *button;
gint i;
/* Inizializza GTK */
gtk_init(&argc, &argv);
/* Crea una nuova window */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "Frame Example");
/* Connettiamo
l'evento destroy */
gtk_signal_connect (GTK_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC (gtk_main_quit), NULL);
gtk_widget_set_usize(window,
300, 300);
/* Settiamo la grandezza del bordo della window. */
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
/* Crea una Frame */
frame = gtk_frame_new(NULL);
gtk_container_add(GTK_CONTAINER(window), frame);
/* Setta l'etichetta
della frame */
gtk_frame_set_label( GTK_FRAME(frame), "GTK Frame Widget" );
/* Allinea
l'etichetta a destra della frame */
gtk_frame_set_label_align( GTK_FRAME(frame), 1.0, 0.0);
/* Setta l'aspetto
della frame */
gtk_frame_set_shadow_type( GTK_FRAME(frame), GTK_SHADOW_ETCHED_OUT);
gtk_widget_show(frame);
/* Mostra la finestra */
gtk_widget_show (window);
/* Entra nel ciclo principale */
gtk_main ();
return(0);
}
/* fine esempio */