Description
Avant d'utiliser GTK+, vous avez besoin de l'initialiser;
l'initialisation connecte au système d'affichage de
fenêtre, et analyse quelques arguments de ligne de commande. La
fonction gtk_init()
initialise GTK+. gtk_init()
arrête l'application si une erreur survient; pour éviter cela, utilisez gtk_init_check()
. gtk_init_check()
vous permet de récupérer d'une erreur d'intialisation de
GTK+ - vous pourrez débuter votre aplication en mode texte
à la place.
Comme toutes les boîtes
à outils GUI, GTK+ utilise un modèle de programmation
conduit pas des événements. Quand l'utilisateur ne fait
rien, GTK+ se repose sur sa boucle principale et attends une
entrée. Si l'utilisateur réalise une action - dire,
clique de la souris- alors la boucle principale "se réveille" et
délivre un événemebt à GTK+. GTK+
expédie l'événement à un ou plusieurs
widgets.
Quand les widgets reçoivent un événement, ils
émettent fréquemment un ou plusieurs signaux. Les
signaux notifient à votre programme que "quelque chose
d'intéressant est arrivé" en appelant les fonctions que
vous avez connectées aux signaux avec
g_signal_connect()
. Les fonctions connectées à un signal sont souvent appelées
callbacks.
Quand vos callbacks sont appelées, vous allez passer une action
spécifique - par exemple quand un bouton Ouvrir es cliqué
vous pouvez afficher un
GtkFileSelectionDialog.
Après que le callbacks ait terminé, GTK+ revient à
la boucle principale pour attendre d'autres entrées.
Exemple 1. Fonction main
typique pour une application GTK+
int main (int argc, char **argv) { /* Support d'initialisation i18n */ gtk_set_locale ();
/* Initialise l'ensemble des widgets */ gtk_init (&argc, &argv);
/* Crée la fenêtre principale */ mainwin = gtk_window_new (GTK_WINDOW_TOPLEVEL);
/* Configuration de vos éléments GUI */ ...
/* Afficher la fenêtre de l'application */ gtk_widget_show_all (mainwin);
/* Entrer la boucle principale d'événements, et attendre une interaction de l'utilisateur*/ gtk_main ();
/* L'utilisateurperd son intérêt*/ return 0; }
|
C'est OK pour utiliser la boucle principale de GLib à la place de gtk_main()
,
bien que cela implique légèrement plus de d'écriture. Voir
GMainLoop dans la documentation de GLib.
Details
gtk_set_locale ()
gchar* gtk_set_locale (void);
|
Initialise le support d'internationalisation pour GTK+.
gtk_init()
faist cela automatiquement, aussi il n'y a pas vraiment de raison d'appeler cette fonction.
Si vous appelé cette fonction parce que vous avez changer la
localisation arès l'initialisation de GTK+; alors cet appel peut
aider quelque peu. (Noter, cependant, que le changement de localisation
après l'initialisation de GTK+ peut provoquer des
résulats contradictoires et que cela n'est pas vraiment
supporté.)
En détail - définissez la localisation courante selon
l'environnement du programme. C'est la même chose que d'appeler
la fonction de la bibliothèque C
setlocale (LC_ALL, "")
mais aussi faites
attention à la configuration sépcifique de la
localisation du système de fenêtrage utilisé par
GDK.
Retourne: |
une chaîne correspondant à la configuration
locale, spécifiquement de la forme lang_COUNTRY, où
lang est un code de langage ISO-639, et COUNTRY est un code
de pays ISO-3166. Sur Unix, cette forme assortit le
résultat à setlocale() ;
elle est aussi utilisé sur d'autres systèmes comme
Windows, où la bibliothèque C retourne un résultat
différentit. La chaîne appartient à GTK+ et ne
devrait pas être modifiée ou libérée.
|
gtk_disable_setlocale ()
void gtk_disable_setlocale (void);
|
Prévient
gtk_init()
,
gtk_init_check()
,
gtk_init_with_args()
et
gtk_parse_args()
d'un appelle automatique de
setlocale (LC_ALL, "")
.
Vous aurez besoin d'utiliser cette fonction pour définir la
localisation pour votre programme à une autre localisation que
celle de l'utilisateur, ou si vous voulez définir
différentes valeurs pour des catégories de localisations
différentes.
La plupart des programmes ont besoin d'appeler cette fonction.
gtk_get_default_language ()
Retourne le
PangoLanguage
pour la langue courante qui est actuellement en action. (Notez
que ceci peut changer tout au long de la vie de l'application.) La
langue par défaut est dérivée de la localisation
courante. Cecid détermine, par exemple, si GTK+ utilise le sens
d'écriture de la droite vers la gauche ou de la gauche vers la
droite.
Cette fonction est équivalente à pango_language_get_default()
. Voir cette fonction dans le détail.
Retourne : |
La langue par défaut en tant que PangoLanguage, ne doit pas être libérée.
|
gtk_parse_args ()
gboolean gtk_parse_args (int *argc,char ***argv);
|
Analyse les arguments de la ligne de commande, et initialise les
attributs globaux de GTK+, mais n'ouvre pas réellement de
connexion à un affichage. (Voir
gdk_display_open()
,
gdk_get_display_arg_name()
)
Tous les argumesnts utilisés par GTK+ ou GDK sont supprimés du tableau et
argc
et
argv
mis à jour en conséquence.
Vous ne devez pas appeler cette fonction explicitement si vous avez utilisé
gtk_init()
, ou gtk_init_check()
.
argc : |
pointeur sur le nombre d'arguments de ligne de commande.
|
argv : |
pointeur sur le tableau des arguments de ligne de commande.
|
Retourne : |
TRUE si l'initialisation a réussi, autrement FALSE .
|
gtk_init ()
void gtk_init (int *argc,char ***argv);
|
Appelez cette fonction avant d'appeler n'importe quelle autre fonction
dans vos application GUI. Elle initialisera tout ce qui est
nécessaire pour faire fonctionner la boîte à outils
et analyser certaines options standards de ligne de commande.
argc
et
argv
are ajustés en conséquence ainsi votre propre code ne verra jamais ces arguments standards.
Notez qu'il y a des méthodes alternatives pour initialiser GTK+ : vous pouvez appeller gtk_parse_args()
, gtk_init_check()
, gtk_init_with_args()
ou g_option_context_parse()
avec l'option de groupe retournée par gtk_get_option_group()
, vous n'avez pas à appeler gtk_init()
.
Note
Cette fonction terminera votre programme si elle est incapable
d'initialiser GUI pour n'importe quelle raison. Si vous voulez que
votre programme passe à une interface texte vous pouvez
appeler gtk_init_check()
à la place.
Note
argc : |
Adresse du paramètre argc de votre fontion main() . Changé si des arguments étaient manipulés.
|
argv : |
Adresse du paramètre argv de main() . Tous les paramètres admis par gtk_init() sont vidés avant le retour.
|
gtk_init_check ()
gboolean gtk_init_check (int *argc,char ***argv);
|
Cette fonction fait le même travail que
gtk_init()
avec un seul changement : elle ne termine pas le programme si GUI ne
peut pas être initialisé.A la place elle retourne
FALSE
après l'erreur.
De cette façon l'application peut passer à d'autres
méthodes de communication avec l'utilisateur - par exemple une
interface de commandes en ligne.
argc : |
Adresse d u paramètre argc de votre fonction main() . Changé si des arguments étaient manipulés.
|
argv : |
Adresse du paramètre argv de main() . Tous les paramètres admis par gtk_init() sont vidés avant le retour.
|
Retourne : |
TRUE si le GUI a été initialisé avec succès, FALSE autrement.
|
gtk_init_with_args ()
gboolean gtk_init_with_args (int *argc, char ***argv, char *parameter_string, GOptionEntry *entries, char *translation_domain, GError **error);
|
Cette fonction fait le même travail que
gtk_init_check()
.
En plus, elle vous permet d'ajouter vos propre options de commande en
ligne, et elle génère automatiquement une
sortie
--help
bien composée. Notez que votre programme terminé après la rédaction du rapport d'aide.
argc : |
pointeur sur le nombre d'arguments de commande en ligne.
|
argv : |
pointeur sur le tableau des arguments de commande en ligne.
|
parameter_string : |
chaîne qui est affichées dans la première ligne de la sortie --help , après programname [OPTION...]
|
entries : |
un tableau terminé par NULL de GOptionEntrys
décrivant les options de votre programme.
|
translation_domain : |
domaine de traduction à utiliser pour traduire la sortie --help pour les otions dans entries avec gettext() , ou NULL
|
error : |
localisation de retour pour des erreurs
|
Retourne : |
TRUE si le GUI a été initialisé avec succès, FALSE autrement.
|
Depuis 2.6
gtk_get_option_group ()
Retourne un GOptionGroup pour les arguments de commande en ligne reconnu par GTK+ et GDK. Vous devez ajouter ce groupe à votre GOptionContext avec g_option_context_add_group()
, si vous avez utilisé g_option_context_parse()
pour analyser vos arguments de commande en ligne.
open_default_display : |
pour ouvrir l'affichage par par défaut quand les arguments de commande en ligne sont analysés.
|
Retourne : |
un GOptionGroup pour les arguments de commande reconnus pas GTK+
|
Depuis 2.6
gtk_exit ()
void gtk_exit (gint error_code);
|
Attention
gtk_exit
est désapprouvée
et devrait ne pas être utilisée dans les codes
nouvellement écrits. Utilisez la fonction standard exit()
à la place.
Elle termine le programme et retourne le code de sortie à
l'appelant. Cette fonction arrête le GUI et lébère
toutes les ressources allouées pour GTK+.
error_code : |
Valeur retournée à passer à
l'appelant. Elle dépend du système cible mais au final
sur les système Unix la valeur 0 signifie succès.
|
gtk_events_pending ()
Regarde si aucun événement n'est en attente. Celà
peut être utilisé pour mettre à jour le GUI et appeler des
arrêts etc.
tout en faisant des opérations intensives sur le temps.
Exemple 1. Mise à jour de GUI pendanr une longue opération.
/* déroulement de l'opération */ ... while (gtk_events_pending ()) gtk_main_iteration (); ... /*l'opération se poursuit */
|
Retourne : |
TRUE si des événements sont en attente , FALSE autrement.
|
gtk_main ()
Exécute la boucle principale jusqu'à ce que l
gtk_main_quit()
soit appelé.
You can nest calls to
gtk_main()
. In that case
gtk_main_quit()
will make the innermost invocation
of the main loop return.
gtk_main_level ()
guint gtk_main_level (void);
|
Demande le niveau d'emboîtement de la boucle principale. Cela peut être utile quand on appelle gtk_quit_add()
.
Retourne : |
Le niveau d'emboîtement de l'appel courant de la boucle principale.
|
gtk_main_quit ()
void gtk_main_quit (void);
|
Fait en sorte que l'appel de la boucle principale le plus profond retourne quand elle reprends le contrôle.
gtk_main_iteration ()
exécute une seule itération de la boucle principale; Si
aucun événement n'est attendu pour être
traîté GTK+ bloquera le prochain événement
noté. Si vous ne voulez pas bloquer, regardez
gtk_main_iteration_do()
ou contrôlez d'abord si des événements sont en attente avec
gtk_events_pending()
.
Retourne : |
TRUE si gtk_main_quit() a été appelée pour une boucle principale "profonde" (innermost).
|
gtk_main_iteration_do ()
Exécute une seule itération de la boucle principale.
Si aucun événement n'est disponible soit elle
retourne ou bloque selon la valeur de blocking
.
blocking : |
TRUE si vous voulez que GTK+ bloque si aucun événement est en attente.
|
Returns : |
TRUE si gtk_main_quit() a été appelée pour une boucle princiapale profonde (innermost).
|
gtk_main_do_event ()
void gtk_main_do_event (GdkEvent *event);
|
Traite un seule événement GDK. Elle est publique pour
permettre uniquement le filtrage des événements entre GDK
et GTK+. Vous n'aurez pas besoin habituellement d'appeler cette
fonction directement.
Même si vous ne devez pas appeler cette fonction directement,
vous pouvez vouloir savoir exactement comment les
événements sont manipulés. Voici ce que cette
fonction fait avec les événements :
-
Compresse les événements entrer/ quitter
notifiés. Si l'événement passé construit
une paire entrée/ quitter avec l'événement qui
suit (jetez un coup d'oeil à GDK)
les deux événements sont jetés. This is to avoid a backlog of (de-)highlighting
widgets crossed by the pointer.
-
Trouve le widget auquel appartient l'événement. Si
le widget ne peut pas être déterminé
l'événement est jeté à moins qu'il
appartienne à la transaction INCR. Dans ce cas il est
passé à gtk_selection_incr_event()
.
-
Après que l'événement soit passé
dans une pile vous pouvez obtenir le handle (manipulateur) courant de
l'événement avec gtk_get_current_event()
.
-
L'événement est envoyé au widget. Si une interception est active tous les événements pour les widgets qui ne sont pas dans le contenant du widget d'interception sont envoyés au dernier plan avec quelques exceptions:
-
La suppression et la destruction d'événements
sont déjà envoyées au widget
d'événement pour des raisons évidentes.
-
Événements qui sont reliés directement à la représentation visuelle
du widget d'événement.
- les événements laissés sont fournis
au widget d'événements si un événement
d'entrée lui a été
délivré avant sans
événement quitter.
-
Les événements glisser ne sont pas redirectionnés parceque it is unclear what the semantics
of that would be.
Un autre point d'intérêt est que tous les
événements de touche sont passés en premier
à travers les fonctions espionnes de touches s'il y en a. Lisez
la description de gtk_key_snooper_install()
si vous avez besoin de ce dispositif.
-
Après avoir terminé de délivrer
l'événement est supprimé de la pile
d'événements.
event : |
Un événement à traiter (normalement), passé par GDK
|
GtkModuleInitFunc ()
void (*GtkModuleInitFunc) (gint *argc,gchar ***argv);
|
Chaque module GTK+ doit avoir une fonction gtk_module_init()
avec ce prototype. Cette fonction est appelée après avoir charger le module avec argc
et argv
nettoyés de tous arguments que GTK+ a manipulé lui même.
argc : |
Pointeur sur le nombre d'arguments restant après gtk_init() .
|
argv : |
pointe sur le vecteur d'arguments.
|
GtkModuleDisplayInitFunc ()
void (*GtkModuleDisplayInitFunc) (GdkDisplay *display);
|
Depuis 2.2
gtk_true ()
Cette fonction est faite pour renvoyer TRUE
.
Cela peut être utile par exemple si vous voulez inhiber la
suppression d'une fenêtre. Ien sûr vous ne devrez pas
faire cela si l'utilisateur s'attend a une réaction à la
suite d'un clic sur l'icône de fermeture de la fenêtre.
Exemple 3. Une fenêtre persistante.
##include <gtk/gtk.h>
int main (int argc, char **argv) { GtkWidget *win, *but;
gtk_init( &argc, &argv );
win = gtk_window_new (GTK_WINDOW_TOPLEVEL); g_signal_connect (win, "delete-event", G_CALLBACK (gtk_true), NULL); g_signal_connect (win, "destroy", G_CALLBACK (gtk_main_quit), NULL); but = gtk_button_new_with_label ("Close yourself. I mean it!"); g_signal_connect_swapped (but, "clicked", G_CALLBACK (gtk_object_destroy), win); gtk_container_add (GTK_CONTAINER (win), but);
gtk_widget_show_all (win); gtk_main (); return 0; }
|
gtk_false ()
Analogue à gtk_true()
cette fonction ne fait rien d'autre que de retourner FALSE
.
gtk_grab_add ()
Fait du widget
le
widget d'interception courant. Cela signifie que l'interaction avec les
autres widgets de l'application sont bloqués ainsi que la
souris , les événements du clavier sont
délivés à ce widget.
widget : |
Le widget qui intercepte les événements du clavier et du pointeur.(?)
|
gtk_grab_get_current ()
Cherche l'interception courante du groupe de fenêtre par défaut;
Retourne : |
Le widget qui intercepte ou NULL si il n'y a pas d'interceteur actif.
|
gtk_grab_remove ()
Supprime l'interception depuis un widget donné. Vous devez aparier les appels à
gtk_grab_add()
et
gtk_grab_remove()
.
widget : |
Le widget dont la reception s'arrête.
|
gtk_init_add ()
Déclare une fonction pour qu'elle soit appelée quand une boucle principale commence.
function : |
Fonction à appeler quand gtk_main() est appelée à nouveau.
|
data : |
Données à passer à cette fonction.
|
gtk_quit_add_destroy ()
Déclenche la destruction d'un
object
au cas où la boucle principale au niveau
main_level
est quittée.
main_level : |
Niveau de la boucle principale qui doit déclencher la destruction.
|
object : |
Objet détruit.
|
gtk_quit_add ()
Déclare une fonction pour qu'elle soit appelée quand une instance de la boucle principale est laissée.
main_level : |
Niveau auquel la fonction doit être
appelée. Vous pouvez passer 0 ici pour obtenir
l'exécution de la fonction à la fin de la boucle
principale courante. |
function : |
Fonction appellée. Dois retourner 0 pour
être supprimé de la liste des manipulateurs (handlers).
Autrement cette fonction ppeut encore être appelée. |
data : |
Pointeur à passer pendant l'appel de function .
|
Returns : |
Un handle pour for this quit handler (vous en avez besoin pour gtk_quit_remove() )
ou 0 si vous avez passé un pointeur NULL dans function .
|
gtk_quit_add_full ()
Déclare une fonction à appeler quand une instance de la boucle principale se termine. En comparaison de gtk_quit_add()
cette fonction ajoute le dispositif pour passer un trieur (marshaller)
et une fonction appélée quand le manipulateur de
sortie (quit handler) est libéré.
Le premier peut être utilisé pour exécuter un code
interprété à la place d'une fonction
compilée tant dis que le dernier peut être utiliser pour
libérer les informations placées dans
data
(vous pouvez faire cela aussi bien dans
function
)...
Aussi cette fonction sera beaucoup plus utilisée par les
wrappers (programme d'adaptation à GTK+) de GTK+ pour des
langages autres que le C.
main_level : |
Niveau de terminaison pour lequel la fonction
doit être appelée.Vous pouvez passer 0 ici pour que la
fonction s'exécute à la fin de la boucle principale
courante. |
function : |
Fonction à appeler. Elle doit retourner 0
pour être supprimée de la liste des handlers de sortie.
Sinon la fonction pourrait être encore appelée. |
marshal : |
Le trieur utilisé. Si il n'est pas NULL , function est ignoré.
|
data : |
Pointeur passé quand function est appelé.
|
destroy : |
Fonction à appeler pour détruire data . Prend data comme argument.
|
Returns : |
Un handle pour ce manipulateur de sortie (vous en avez besoin pour gtk_quit_remove() ) ou 0 si vous avez passé un pointeur NULL dans function .
|
gtk_quit_remove ()
void gtk_quit_remove (guint quit_handler_id);
|
Supprime un handler de sortie identifié par ses identifiants.
quit_handler_id : |
Identifiant pour le handler retourné quand il est installé.
|
gtk_quit_remove_by_data ()
void gtk_quit_remove_by_data (gpointer data);
|
Supprime un handler de sortie identifié par son champ data
.
gtk_timeout_add_full ()
Attention
gtk_timeout_add_full
est
dépréciée depuis la version 2.4 et ne doit pas
être utilisée dans du code nouvellement écrit.
Utilisez g_timeout_add_full()
à la place.
Déclare une fonction qui doit être appelée
périodiquement. Cette fonction sera appelée de
façon répétée après un interval
en millisecondes jusqu'à ce qu'elle retourne FALSE
, à ce moment le timeout est détruit et ne sera plus appelé.
interval : |
Le temps entre deux appels de fonctions, en millisecondes (1/1000ème de secondes.)
|
function : |
La fonction à appeler périodiquement.
|
marshal : |
Le triseur ( marshaller) à utiliser à la place de la focntion (si non NULL ).
|
data : |
Les données à passer à la fonction.
|
destroy : |
Fonction à appeler quand le timeout est détruit ou NULL .
|
Returns : |
Un identifiant unique pour l'événement source.
|
gtk_timeout_add ()
Attention
gtk_timeout_add
est
dépréciée depuis la version 2.4 et ne doit pas
être utilisée dans un code nouvellement écrit.
Utilisez g_timeout_add()
à la place.
Déclare une fonction à appeler
périodiquement. La fonction sera appelée de
façon répétée après interval en
millisecondes jusqu'à ce qu'elle retourne s FALSE
, à ce moment le timeout est détruit et ne sera plus appelé.
interval : |
Le temps entre deux appels de fonctions, en millisecondes (1/1000ème de secondes.)
|
function : |
La fonction à appeler périodiquement.
|
data : |
Les données à passer à la fonction.
|
Returns : |
Un identifiant unique pour l'événement source.
|
gtk_timeout_remove ()
void gtk_timeout_remove (guint timeout_handler_id);
|
Attention
gtk_timeout_remove
est dépréciée depuis la version 2.4 et ne doit pas
être utilisée dans un code nouvellement écrit.
Utilisez g_source_remove()
à la place.
Supprime le timeout donné, détruisant toutes les informations le concernant.
timeout_handler_id : |
L'idendifiant retourné quand le timeout est installé.
|
gtk_idle_add ()
Attention
gtk_idle_add
est
dépréciée depuis la version 2.4 et ne doit pas
être utilisée dans un code nouvellement écrit.
Utilisez g_idle_add()
à la place.
Fait en sorte que la boucle principale appelle la fonction
donnée si aucun événement de haute
priorité n' attend d'être effectué. La priorité
par défaut est GTK_PRIORITY_DEFAULT
, ce qui est assez bas.
function : |
La fonction à appeler
|
data : |
Information à passer à la fonction |
Retourne : |
Un seul handle pour cet enregistrement.
|
gtk_idle_add_priority ()
Attention
gtk_idle_add_priority
est
dépréciée depuis la version 2.4 et ne doit pas
être utilisée dans un code nouvellement écrit.
Utilisez g_idle_add_full()
à la place.
Comme gtk_idle_add()
cette fonction vous permet d'avoir un appel de fonction quand la boucle
d'événements est ralentie. La différence est que
vous pouvez donner une priorité différente avec GTK_PRIORITY_DEFAULT
à la fonction ralentie.
priority : |
La priorité qui ne doit pas être au dessus de G_PRIORITY_HIGH_IDLE .
Notez que vous interfererez avec GTK+ si vous utilisez une priorité au dessus de
GTK_PRIORITY_RESIZE .
|
function : |
La fonction à appeler.
|
data : |
Donnée à passer à cette fonction.
|
Returns : |
Un identifiant unique pour la source d'événement.
|
gtk_idle_add_full ()
Attention
gtk_idle_add_full
est
dépréciée depuis la version 2.4 et ne doit pas
être utilisée dans un code nouvellement écrit.
Utilisez g_idle_add_full()
à la place.
Comme gtk_idle_add()
cette fonction vous permet d'avoir un appel de fonction quand la boucle
d'événement est ralentie. La différence est que
vous pouvez donner une priorité différente avec GTK_PRIORITY_DEFAULT
à la fonction ralentie.
priority : |
La priorité qui ne doit pas être au dessus de G_PRIORITY_HIGH_IDLE . Notez que vous interfererez avec GTK+ si vous utilisez une priorité au dessus de
GTK_PRIORITY_RESIZE .
|
function : |
La fonction à appeler.
|
marshal : |
Le trieur (marshaller ) à utiliser à la place de la fonction (si non-NULL ).
|
data : |
Donnée à passer à cette fonction.
|
destroy : |
Fonction à appaeler quand le timeout est détruit ou NULL .
|
Returns : |
Un identifiant unique pour la source d'événement.
|
gtk_idle_remove ()
void gtk_idle_remove (guint idle_handler_id);
|
Attention
gtk_idle_remove
est
dépréciée depuis la version 2.4 et ne doit pas
être utilisée dans un code nouvellement écrit.
Utilisez g_source_remove()
à la place.
Supprime la fonction ralentie avec l'identifiant donné.
idle_handler_id : |
Identifié la fonction ralentie à annuler.
|
gtk_idle_remove_by_data ()
void gtk_idle_remove_by_data (gpointer data);
|
Attention
gtk_idle_remove_by_data
est
dépréciée depuis la version 2.4 et ne doit pas
être utilisée dans un code nouvellement écrit.
Utilisez g_idle_remove_by_data()
à la place.
Supprime l'identifiant de la fonction ralentie en utilisant les données.
data : |
supprime la fonction ralentie qui est enregistrée avec ces données utilsateurs.
|
gtk_input_add_full ()
Attention
gtk_input_add_full
est
dépréciée depuis la version 2.4 et ne doit pas
être utilisée dans un code nouvellement écrit.
Utilisez g_io_add_watch_full()
à la place.
Déclare une fonction à appeler quand une condition devient vraie sur un descripteur de fichier.
source : |
Descripteur de dossier.
|
condition : |
la condition.
|
function : |
La fonction à appeler |
marshal : |
Le trieur ( marshaller) à utiliser à la place de la fonction (si non-NULL ).
|
data : |
Donnée passée callback à la function .
|
destroy : |
function callback à appeler avec data quand le handler d'entrée est supprimé, ou NULL .
|
Retourne : |
Un seul identifiant pour l'événement source; pour être utilisé avec gtk_input_remove() .
|
gtk_input_remove ()
void gtk_input_remove (guint input_handler_id);
|
Attention
gtk_input_remove
est
dépréciée depuis la version 2.4 et ne doit pas
être utilisée dans un code nouvellement écrit.
Utilisez
g_source_remove()
à la place.
Supprime ma fonction avec l'identifiant donné.
input_handler_id : |
Identifie la fonction à supprimer.
|
GTK_PRIORITY_REDRAW
#define GTK_PRIORITY_REDRAW (G_PRIORITY_HIGH_IDLE + 20)
|
Attention
GTK_PRIORITY_REDRAW
a
été dépréciée depuis la version 2.4
et ne doit plus être utilisé dans un code nouvellement
écrit. Cette macro est dépréciée. Vous
devez utiliserGDK_PRIORITY_REDRAW
à la place.
Utilisez cette priorité pour redessiner des
éléments relatifs. Elle est utilisée de
façon interne par GTK+ en attendant le redessinement. Cette
priorité est plus faible que GTK_PRIORITY_RESIZE
pour éviter de redessiner un widget juste avant son
redimensionnement (et donc le redessiner encore une fois.).
GTK_PRIORITY_RESIZE
#define GTK_PRIORITY_RESIZE (G_PRIORITY_HIGH_IDLE + 10)
|
Utilisez cette priorité pour redimensionner un
élément relatif. Elle est utiliser par GTK+ pour calculer
la taille des widgets. Cette priorité est plus forte que GTK_PRIORITY_REDRAW
pour éviter le redimensionnement d'un widget qui vient juste d'être redessiné.
GTK_PRIORITY_HIGH
#define GTK_PRIORITY_HIGH G_PRIORITY_HIGH
|
Attention
GTK_PRIORITY_HIGH
a
été dépréciée depuis la version 2.4
et ne doit plus être utilisé dans un code nouvellement
écrit. Cette macro est dépréciée. Vous
devez utiliser G_PRIORITY_HIGH
à la place.
Utilisez ceci pour des timeouts de haute priorité. Cette
priorité n'est jamais utilisée dans GTK+ ainsi tout ce
qui est exécuté avec cette priorité devra
être exécuté avant tout ce qui est dans la
boîte à outils.
GTK_PRIORITY_INTERNAL
#define GTK_PRIORITY_INTERNAL GTK_PRIORITY_REDRAW
|
Attention
GTK_PRIORITY_INTERNAL
est dépréciée et ne doit pas être utilisée pour du code nouvellement écrit.
Cette priorité concerne les éléments internes de GTK+. Ne l'utilisez pas dans vos applications.
GTK_PRIORITY_DEFAULT
#define GTK_PRIORITY_DEFAULT G_PRIORITY_DEFAULT_IDLE
|
Attention
GTK_PRIORITY_DEFAULT
a
été dépréciée depuis la version 2.4
et ne doit plus être utilisé dans un code nouvellement
écrit. Cette macro est dépréciée. Vous
devez utiliser G_PRIORITY_DEFAULT_IDLE
à la place.
Priorité par défaut pour les fonctions lentes.
GTK_PRIORITY_LOW
#define GTK_PRIORITY_LOW G_PRIORITY_LOW
|
Attention
GTK_PRIORITY_LOW
GTK_PRIORITY_DEFAULT
a été dépréciée
depuis la version 2.4 et ne doit plus être utilisé dans un code
nouvellement écrit. Cette macro est dépréciée. Vous devez utiliser G_PRIORITY_LOW
à la place.
Priorité pour tous les tâches de fond très importantes.
gtk_key_snooper_install ()
Installe une fonction espionne de touche qui sera appelée
pour tous les événements de touche avant qu'ils soient
délivrés normalement.
GtkKeySnoopFunc ()
Fonction espionne de touche qui est appelée avant qu'un
événement normal soit délivré. Elles
peuvent être utilisées pour implémenter la
minipulation d'événements liés à des
définitions de touches.
grab_widget : |
le widget pour lequel l'événement a été délivré.
|
event : |
L'événement de touche.
|
func_data : |
la func_data fournie à gtk_key_snooper_install() .
|
Retourne : |
TRUE pour arrêter une autre mise en action d' event , FALSE pour continuer
|
gtk_key_snooper_remove ()
void gtk_key_snooper_remove (guint snooper_handler_id);
|
Suprime la fonction espionne de touche avec l'identifiant donné.Removes the key snooper function with the given id.
snooper_handler_id : |
Identifie l'espion de touche à supprimer.
|
gtk_get_current_event ()
Obtient une copie de l'événement courant mis en action
par GTK+. Par exemple, si vous obtenez un signal "clicked" provenant de
GtkButton, l'événement courant sera le GdkEventButton
qui aura déclenché le signal "clicked".
L'événement retourné doit être l
ibéré avec gdk_event_free()
. S'il n'y a pas d'événement courant, la fonction retourne NULL
.
Retourne : |
une copie de l'événement courant, ou NULL s'il n'y a pas d'événement courant.
|
gtk_get_current_event_time ()
guint32 gtk_get_current_event_time (void);
|
S'il y a une événement courant et qu'il a "timestamp" , retourne ce "timestamp" , autrement GDK_CURRENT_TIME
.
gtk_get_current_event_state ()
S'il y a un événement courant et qu'il a un champ d'état , met ce champ d'état dans state
et retourne TRUE
, autrement retourne
FALSE
.
state : |
un endroit pour placer l'état de l'événement courant
|
Retourne : |
TRUE s'il y a un évenement courant et s'il a un champ d'état.
|
gtk_get_event_widget ()
Si event
est NULL
ou l'événement n'est pas associé à un widget, retourne NULL
, autrement retourne le widget qui reçoit à l'origine l'événement.
event : |
un GdkEvent
|
Retourne : |
Le widget qui reçoit à l'origine event , ou NULL
|
gtk_propagate_event ()
Envoie un événement au widget, propageant
l'événement aux widgets parents si
l'événement n'est pas traité. Les
événementsreçus par GTK+ depuis GDK commencent
normalement par gtk_main_do_event()
.Dépendant
du type d'événement, de l'existance de boîtes de
dialogue modale, d'interceptions? etc..., les
événements peuvent être propagés; si c'est
le cas cette fonction est utilisée. gtk_propagate_event()
appelle gtk_widget_event()
sur chaque widget sur lesquels elle décide d'envoyer l'événement. Ainsi gtk_widget_event()
est la fonction de niveau le plus bas; elle imite simplement
l'événement et éventuellement un signal sur le
widget spécifique à l'événement. gtk_propagate_event()
est de niveau légèrement supérieur, et
gtk_main_do_event()
a le niveau le plus haut.
Ceci dit, vous ne devriez pas avoir à utiliser ces fonctions,
All that said, you most likely don't want to use any of these
functions; la synthésisation
d'événements est rarement nécessaire. Consider asking on
the mailing list for better ways to achieve your goals. Par exemple, utilisez gdk_window_invalidate_rect()
ou
gtk_widget_queue_draw()
à la place de faire ce qui a été exposé plus haut.