| |
Ce code est une "pseudo" classe qui prend en charge une très
grande partie de la gestion d'un widget gtk_tree_view
(affichage en arbre). Est gérée, la création complète du
widget qui est placé lui-même dans un
gtk_scrolled_window (barres de défilement),
l'ajout/suppression d'éléments. Sont pris en compte
également la gestion de certaines propriétés visuelles du
widget comme l'affichage et le changement du titre de
l'entête de la colonne, l'affichage de lignes colorées,
etc...
|
| |
Ceci est une petite fonction qui permet d'afficher en un
seul appel une boîte de messages en GTK.
Plus la peine de s'embêter à coder l'appel, la mise en place
de la boîte de dialogue et la réception des messages etc...
Il suffit d'appeler la fonction et de vérifier la valeur
qu'elle retourne et la comparer à celle de la constante
d'après le type de réponses que vous attendez puis c'est
tout !
|
| |
Voici un exemple d'utilisation de GtkUIManager qui permet
de créer des menu et barre d'outils rapidement à l'aide
d'un fichier XML.
Pour plus d'infortmation, reportez vous au tutorial :
Utilisation de GtkUIManager
|
| |
Voici un exemple d'éditeur de texte basique réalisé avec GTK+.
Vous pouvez retrouver toutes les explications dans le
tutorial : GTK+ par l'exemple
|
| |
Ce widget s'attache simplement à un GtkTextView est
permet, lorsque l'utilisateur appuye sur les touches
Ctrl+Entrée, d'afficher une liste de mot. Voici un exemple
d'utilisation :
# include <gtk/gtk.h>
# include <gtkcompletion/gtkcompletion.h>
const gchar * items[] = { " fclose " , " fopen " , " strcpy " , " strcmp " , " strcat " , NULL } ;
int main (int argc, char * argv[])
{
GtkWidget * p_window = NULL ;
GtkWidget * p_text_view = NULL ;
gtk_init (& argc, & argv);
p_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_set_size_request (p_window, 200 , 300 );
g_signal_connect (p_window, " delete-event " , gtk_main_quit, NULL );
p_text_view = gtk_text_view_new ();
gtk_container_add (GTK_CONTAINER (p_window), p_text_view);
gtk_completion_new_attach (GTK_TEXT_VIEW (p_text_view), items);
gtk_widget_show_all (p_window);
gtk_main ();
return 0 ;
}
|
|
| |
Ce widget permet simplement d'effectuer un filtre sur
le contenu d'un GtkTreeView.
|
| |
Voici un exemple montrant comment bloquer la fermeture d'une
fenêtre en demandant confirmation à l'utilisateur.
# include <gtk/gtk.h>
static GtkResponseType confirm_quit_dialog (void )
{
GtkWidget * dialog = NULL ;
GtkResponseType response = GTK_RESPONSE_NO;
dialog = gtk_message_dialog_new (NULL , GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,
" Etes-vous sur de vouloir quitter ? " );
gtk_window_set_title (GTK_WINDOW (dialog), " Quitter " );
response = gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
return response;
}
static gboolean on_window_delete_event (void )
{
if (confirm_quit_dialog () = = GTK_RESPONSE_NO)
{
return TRUE;
}
else
{
return FALSE;
}
}
int main (int argc, char * * argv)
{
GtkWidget * window = NULL ;
gtk_init (& argc, & argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), " Quit Dialog Example " );
gtk_container_set_border_width (GTK_CONTAINER (window), 10 );
gtk_widget_set_size_request (window, 200 , 100 );
g_signal_connect (G_OBJECT (window), " destroy " , gtk_main_quit, NULL );
g_signal_connect (G_OBJECT (window), " delete-event " ,
G_CALLBACK (on_window_delete_event), NULL );
gtk_widget_show (window);
gtk_main ();
return 0 ;
}
|
|
Consultez les autres pages sources
Les sources présentés sur cette pages sont libre de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2007
Developpez LLC. Tout droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérets.
Cette page est déposée à la SACD.
|