next up previous contents
suivant: Les boutons spin monter: Les widgets précédent: Le widget entrée   Table des matières


Sous-sections

Le widget Texte

Le widget Texte permet d'afficher et d'éditer un texte de plusieurs lignes. Il supporte à la fois les textes multicouleurs multi polices de caractères, permettant de les mélanger comme vous le souhaitez. Il existe aussi un large éventail de raccourcis claviers qui sont compatibles avec l'éditeur Emacs. Le widget Texte supporte les facilités de couper-coller incluant l'utilisation du double clic et du triple clic, pour sélectionner respectivement un mot ou une ligne complète.

Créer et configurer une boîte texte.

Une seule fonction pour créer un nouveau widget Texte :

Les arguments nous permettent de donner au widget Texte des ajustements qui peuvent être utilisés pour chercher à régler le widget. Si aucun valeur n'est passée en argument, la fonction \verb+new()+ choisira les siens.

La fonction précédente permet aux ajustements horizontaux et verticaux d'être changés à n'importe quel moment. Le widget Texte ne créera pas automatiquement ses propres barres de défilements si la quantité de texte à afficher est trop grande pour la fenêtre. Nous aurons donc à les créer et à les ajouter nous même :

Le code ci-dessus crée une nouvelle barre de défilement à l'attache à l'ajustement vertical du widget Texte. Il est ensuite mis dans une boîte de manière classique. Souvent les widget Texte ne supportent pas les barres de défilements horizontales.

Il y a deux manières d'utiliser le widget Texte : permettre à l'utilisateur d'éditer un texte ou nous permettre d'afficher un texte multiligne pour l'utilisateur. Afin de passer d'un mode à l'autre, il y a la fonction :

L'argument editable est une valeur vraie ou fausse qui précise si l'utilisateur est autorisé ou non à éditer le contenu du widget Texte. Si le widget Texte est éditable, un curseur est affiché au point d'insertion.

Vous n'êtes pas obligés de vous limiter à l'un de ces deux modes et vous pouvez changer d'état en cours d'utilisation.

Le widget Texte délimite les lignes de texte qui sont trop longues pour tenir sur une ligne d'affichage. Son comportement par défaut est de couper les mots au niveau du changement de ligne. Cela peut être changé par :

Cette fonction nous permet de spécifier que le widget Texte doit délimiter les lignes à la fin des mots. L'argument $word_wrap est une valeur vraie ou fausse.

Vous pouvez également choisir le comportement d'une ligne quand elle atteint la fin du widget, sans s'occuper de la longueurs des mots avec :

Manipulation de texte

Le point d'insertion d'un widget texte peut être déclaré par :

Ou $index correspond à la position du point d'insertion.

De manière analogue, on peut obtenir la position du point d'insertion à l'aide de :

Une fonction utile en combinaison avec les deux précédente :

qui retourne la longueur du widget texte. La longueur est le nombre de caractère contenu dans le bloc texte incluant les caractères comme 'newline'.

Afin d'insérer du texte au point d'insertion, la fonction insert() est utilisée ce qui permet aussi de préciser la couleur du fond, du texte et la police.

Le passage de valeurs indéfinies donnera que les valeurs contenues dans widget Style seront utilisées.

Le widget Texte est l'un des quelques widgets GTK qui change d'aspect dynamiquement en dehors de main Gtk. Cela signifie que tout changement du contenu du widget prend effet immédiatement. Cela peut être indésirable quand on pratique de multiples changements sur un widget Texte. Afin de nous permettre de faire plusieurs mises à jour au widget texte sans le redessiner continuellement, on peut geler le widget ce qui l'empêche temporairement de se redessiner à chaque changement. Nous pouvons alors redessiner le widget quand le mise à jour est complète. Les fonctions qui permettent le changement d'état sont :

Le texte est effacé relativement au point d'insertion à l'aide des fonctions suivantes :

Si vous désirez retrouver le contenu d'un widget Texte alors utiliser index($index) qui vous permet de retrouver le caractère qui est la position $index.

Raccourcis clavier

Le widget Texte possède un nombre préinstallé de raccourcis pour les fonctions courantes d'édition et de sélection. On y accède avec une combinaison de touches Control et Alt.

En plus de tout cela, appuyer sur la touche Control tout en utilisant les touches de déplacement du curseur permet de faire des déplacements de mot en mot. Appuyer sur le touche Alt tout en bougeant le curseur étend la sélection.

Exemple

Text Widget


next up previous contents
suivant: Les boutons spin monter: Les widgets précédent: Le widget entrée   Table des matières
LE BORGNE Patrice 2001-01-11