- NOM
- text, tk_textCopy, tk_textCut, tk_textPaste - Crée et manipule les widgets texte
- SYNTAXE
- text pathName ?options?
- tk_textCopy pathName
- tk_textCut pathName
- tk_textPaste pathName
- OPTIONS STANDARD
- -background ou -bg, background, Background
- -borderwidth ou -bd, borderWidth, BorderWidth
- -cursor, cursor, Cursor
- -exportselection, exportSelection, ExportSelection
- -font, font, Font
- -foreground ou -fg, foreground, Foreground
- -highlightbackground, highlightBackground, HighlightBackground
- -highlightcolor, highlightColor, HighlightColor
- -highlightthickness, highlightThickness, HighlightThickness
- -insertbackground, insertBackground, Foreground
- -insertborderwidth, insertBorderWidth, BorderWidth
- -insertofftime, insertOffTime, OffTime
- -insertontime, insertOnTime, OnTime
- -insertwidth, insertWidth, InsertWidth
- -padx, padX, Pad
- -pady, padY, Pad
- -relief, relief, Relief
- -selectbackground, selectBackground, Foreground
- -selectborderwidth, selectBorderWidth, BorderWidth
- -selectforeground, selectForeground, Background
- -setgrid, setGrid, SetGrid
- -takefocus, takeFocus, TakeFocus
- -xscrollcommand, xScrollCommand, ScrollCommand
- -yscrollcommand, yScrollCommand, ScrollCommand
- OPTIONS SPECIFIQUES AU WIDGET
- -height, height, Height
- -spacing1, spacing1, Spacing1
- -spacing2, spacing2, Spacing2
- -spacing3, spacing3, Spacing3
- -state, state, State
- -tabs, tabs, Tabs
- -width, width, Width
- -wrap, wrap, Wrap
- DESCRIPTION
- INDICES
- line.char
- @x,y
- end
- mark
- tag.first
- tag.last
- pathName
- .VS
- + count chars
- - count chars
- + count lignes
- - count lignes
- linestart
- lineend
- wordstart
- wordend
- TAGS
- -background color
- -bgstipple bitmap
- -borderwidth pixels
- -elide boolean
- -fgstipple bitmap
- -font fontName
- -foreground color
- -justify justify
- -lmargin1 pixels
- -lmargin2 pixels
- -offset pixels
- -overstrike boolean
- -relief relief
- -rmargin pixels
- -spacing1 pixels
- -spacing2 pixels
- -spacing3 pixels
- -tabs tabList
- -underline boolean
- -wrap mode
- MARKS
- FENETRES INCRUSTEES
- -align where
- -create script
- -padx pixels
- -pady pixels
- -stretch boolean
- -fenêtre pathName
- IMAGES INCRUSTEES
- -align where
- -image image
- -nom ImageName
- -padx pixels
- -pady pixels
- LA SELECTION
- LE CURSEUR D'INSERTION
- COMMANDES DE WIDGET
- pathName bbox index
- pathName cget option
- pathName compare index1 op index2
- pathName configure ?option? ?valeur option valeur ...?
- pathName debug ?boolean?
- pathName delete index1 ?index2?
- pathName dlineinfo index
- pathName dump ?commutateurs? index1 ?index2?
- -all
- -commandcommande
- -image
- -mark
- -tag
- -text
- -window
- pathName get index1 ?index2?
- pathName image option ?arg arg ...?
- pathName image cget index option
- pathName image configure index ?option valeur ...?
- pathName image create index ?option valeur ...?
- pathName image names
- pathName index index
- pathName insert index chars ?tagList chars tagList ...?
- pathName mark option ?arg arg ...?
- pathName mark gravity markName ?direction?
- pathName mark names
- pathName mark next index
- pathName mark previous index
- pathName mark set markName index
- pathName mark unset markName ?markName markName ...?
- pathName scan option args
- pathName scan mark x y
- pathName scan dragto x y
- pathName search ?commutateurs? modèle index ?stopIndex?
- -forwards
- -backwards
- -exact
- -regexp
- -nocase
- -count varName
- -elide
- - -
- pathName see index
- pathName tag option ?arg arg ...?
- pathName tag add tagName index1 ?index2 index1 index2 ...?
- pathName tag bind tagName ?séquence? ?script?
- pathName tag cget tagName option
- pathName tag configure tagName ?option? ?valeur? ?option valeur ...?
- pathName tag delete tagName ?tagName ...?
- pathName tag lower tagName ?belowThis?
- pathName tag names ?index?
- pathName tag nextrange tagName index1 ?index2?
- pathName tag prevrange tagName index1 ?index2?
- pathName tag raise tagName ?aboveThis?
- pathName tag ranges tagName
- pathName tag remove tagName index1 ?index2 index1 index2 ...?
- pathName window option ?arg arg ...?
- pathName window cget index option
- pathName window configure index ?option valeur ...?
- pathName window create index ?option valeur ...?
- pathName window names
- pathName xview option args
- pathName xview
- pathName xview moveto fraction
- pathName xview scroll numéro what
- pathName yview ?args?
- pathName yview
- pathName yview moveto fraction
- pathName yview scroll numéro what
- pathName yview ?-pickplace? index
- pathName yview numéro
- BINDINGS
- PERFORMANCE ISSUES
- MOTS-CLES
text, tk_textCopy, tk_textCut, tk_textPaste - Crée et manipule les widgets texte
text pathName ?options?
tk_textCopy pathName
tk_textCut pathName
tk_textPaste pathName
- -background ou -bg, background, Background
- -borderwidth ou -bd, borderWidth, BorderWidth
- -cursor, cursor, Cursor
- -exportselection, exportSelection, ExportSelection
- -font, font, Font
- -foreground ou -fg, foreground, Foreground
- -highlightbackground, highlightBackground, HighlightBackground
- -highlightcolor, highlightColor, HighlightColor
- -highlightthickness, highlightThickness, HighlightThickness
- -insertbackground, insertBackground, Foreground
- -insertborderwidth, insertBorderWidth, BorderWidth
- -insertofftime, insertOffTime, OffTime
- -insertontime, insertOnTime, OnTime
- -insertwidth, insertWidth, InsertWidth
- -padx, padX, Pad
- -pady, padY, Pad
- -relief, relief, Relief
- -selectbackground, selectBackground, Foreground
- -selectborderwidth, selectBorderWidth, BorderWidth
- -selectforeground, selectForeground, Background
- -setgrid, setGrid, SetGrid
- -takefocus, takeFocus, TakeFocus
- -xscrollcommand, xScrollCommand, ScrollCommand
- -yscrollcommand, yScrollCommand, ScrollCommand
- Command-Line Name: -height
- Database Name: hauteur
- Database Class: Height
- Spécifie la hauteur désirée de la fenêtre, en unités de caractères
de la police indiquée par l'option -font.
Doit être au moins de un.
- Command-Line Name: -spacing1
- Database Name: spacing1
- Database Class: Spacing1
- Demande de l'espace supplémentaire au dessus de chaque ligne de texte dans le widget,
en utilisant n'importe quelle des formes standard de distances écran.
Si une ligne retourne, cette option s'applique seulement à la première ligne
à l'écran.
Cette option peut être surchargée avec les options -spacing1 des
tags.
- Command-Line Name: -spacing2
- Database Name: spacing2
- Database Class: Spacing2
- Pour les lignes lignes qui retournent (wrap N.D.T. qui occupent plus d'une ligne à l'écran), cette option indique l'espace supplémentaire ajouté entre
les lignes à l'écran qui representent une seule ligne de texte.
La valeur doit avoir n'importe quelle des formes standard de distances écran.
Cette option peut être surchargée avec les options -spacing2 des
tags.
- Command-Line Name: -spacing3
- Database Name: spacing3
- Database Class: Spacing3
- Demande de l'espace supplémentaire en dessous de chaque ligne de texte dans le widget,
en utilisant n'importe quelle des formes standard de distances écran.
Si une ligne retourne, cette option s'applique seulement à la dernière ligne
à l'écran.
Cette option peut être surchargée avec les options -spacing3 des
tags.
- Command-Line Name: -state
- Database Name: state
- Database Class: State
- Spécifie un parmi deux états du texte: normal ou disabled.
Si le texte est désactivé alors les caractères ne seront pas insérés ou effacés
et aucun curseur d'insertion ne sera affiché, même si le focus est
dans le widget.
- Command-Line Name: -tabs
- Database Name: tabs
- Database Class: Tabs
- Spécifie un ensemble de taquets de tabulation pour la fenêtre. La valeur de l'option consiste
en une liste de distances écran donnant les positions des taquets de tabulation. Chaque position peut éventuellement être suivie dans la liste
par un des MOTS-CLES left, right, center,
ou numeric, qui indique comment justifier le
texte relativement au taquet de tabulation. Left est par défaut; ceci provoque
l'alignement à gauche du texte suivant le caractère de tabulation. Right signifie que le coté droit du texte
suivant le caractère de tabulation est positionné au taquet de tabulation, et
center signifie que le texte est centré par rapport au taquet de tabulation.
Numeric signifie que le point décimal dans le texte est positionné
au taquet de tabulation; s'il n'y a pas de point décimal alors le chiffre le moins
signifiant du nombre est positionné juste à gauche du taquet de tabulation; s'il n'y a pas de nombre dans le texte alors le texte est
justifié à droite au taquet de tabulation.
Par exemple, -tabs {2c left 4c 6c center} crée trois
taquets de tabulation à des intervalles de deux centimètres; les deux premiers utilisent une
justification à gauche et le troisième utilise une justification centrée.
Si la liste de taquets de tabulation n'a pas assez d'éléments pour couvrir toutes les
tabulations d'une ligne de texte, alors Tk extrapole de nouveaux taquets de tabulation en utilisant
l'espacemement et l'alignement du dernier taquet de la liste.
La valeur de l'option tabs peut être surchargée par les options -tabs
des tags.
Si aucune option -tabs n'est spécifiée, ou si elle est spécifiée comme
une liste vide, alors Tk utilise les tabulations par défaut espacées chaque huit
(taille moyenne) caractères.
- Command-Line Name: -width
- Database Name: width
- Database Class: Width
- Spécifie la largeur désirée de la fenêtre en unités de caractères
de la police indiquée par l'option -font.
Si la police de caractère n'a pas une largeur uniforme alors la largeur du
caractère ``0'' est utilisée pour la traduction d'unités caractère en
unités d'écran.
- Command-Line Name: -wrap
- Database Name: wrap
- Database Class: Wrap
- Spécifie comment gérer les lignes dans le texte qui sont trop longues pour être
affichées sur une seule ligne de la fenêtre texte.
La valeur doit être none ou char ou word.
Un mode wrap de none signifie que chaque ligne de texte apparaît
exactement comme une ligne à l'écran; les caractères qui ne rentrent pas
à l'écran ne sont pas affichés.
Dans les autres modes chaque ligne de texte sera divisée en plusieurs lignes écran si nécessaire pour rendre tous les caractères visibles.
Dans le mode char le retour à la ligne se produit après n'importe quel caractère;
dans le mode word le retour à la ligne se produit seulement après les limites d'un mot.
La commande text crée une nouvelle fenêtre (indiquée par l'argument
pathName ) et en fait un widgettext .
Des
options supplémentaires, décrites ci-dessus, peuvent être spécifiées sur la ligne de commande
ou dans la base de données d'options
pour configurer les aspects du texte comme sa couleur d'arrière-plan par défaut
et son relief. La commande text retourne the
nom de chemin de la nouvelle fenêtre.
Un widget text affiche une ou plusieurs lignes de texte et permet l'édition
de ce texte.
Les widgets text supportent quatre différentes sortes d'annotations dans le
texte, appelées tags, marks, fenêtres incrustées ou images incrustées.
Les tags permettent à différentes parties du texte
d'être affichées avec des polices et couleurs différentes.
De plus, des commandes Tcl peuvent être associées aux tags, ainsi
ces scripts sont appelés quand des actions particulières comme des frappes de touches
et des clics de souris se produisent dans des étendues particulières du texte.
Voir TAGS ci-dessous pour plus de détails.
La seconde forme d'annotation consiste en les marks, qui sont des marqueurs flottants
dans le texte.
Les marks sont utilisés pour garder une trace de diverses positions interessantes dans le
texte quand il est edité.
Voir MARKS ci-dessous pour plus de détails.
La troisième forme d'annotation permet l'incrustation de fenêtres arbitraires
dans un widget texte.
Voir FENETRES INCRUSTEES ci-dessous pour plus de détails.
La quatrième forme d'annotation permet l'incrustation d'images Tk
dans un widget texte.
Voir IMAGES INCRUSTEES ci-dessous pour plus de détails.
Plusieurs des commandes du widget texte attendent un ou plusieurs indices
comme arguments.
Un index est une chaîne utilisée pour indiquer un emplacement particulier à l'intérieur
du texte, comme un emplacement pour inserer des caractères ou le point final d'un intervalle
de caractères à effacer.
Les indices ont la syntaxe
base modificateur modificateur modificateur ...
Où base indique le point de départ et le modificateurs
ajuste l'index à partir du point de départ(ex. avance ou
recule d'un caractère). Chaque index doit contenir une base,
mais les modificateurs sont optionnels.
La base d'un index doit avoir une des formes suivantes:
- line.char
-
Indique le char'ième caractère de la ligne line.
Les lignes sont numérotées à partir de 1 pour compatibilité avec d'autres programmes UNIX
qui utilisent ce schéma de numérotage.
A l'intérieur d'une ligne, les caractères sont numérotés en partant de 0.
Si char est end alors il se réfère au caractère newline
qui termine la ligne.
- @x,y
-
Indique le caractère qui occupe le pixel dont les coordonnées x et y
dans la fenêtre de texte sont x et y.
- end
-
Indique la fin du texte (le caractère juste après le dernier
newline).
- mark
-
Indique le caractère juste après la mark dont le nom est mark.
- tag.first
-
Indique le premier caractère dans le texte qui a été repéré avec
tag.
Cette forme génère une erreur si aucuns caractères ne sont actuellement repérés
avec tag.
- tag.last
-
Indique le caractère juste après le dernier dans le texte qui a été repéré avec tag.
Cette forme génère une erreur si aucuns caractères ne sont actuellement repérés avec tag.
- pathName
-
Indique la position de la fenêtre incrustée dont le nom est
pathName.
Cette forme génère une erreur s'il n'y a pas de fenêtre incrustée
de ce nom.
- .VS
-
imageName
Indique la position de l'image incrustée dont le nom est
imageName.
Cette forme génère une erreur s'il n'y a pas d'image incrustée
de ce nom.
Si la base correspond à plus d'une des formes ci dessus, comme
une mark et imageName ayant tous deux la même valeur, alors
la forme qui apparait en premier dans la liste prend le dessus.
Si des modificateurs suivent l'index de base, chacun d'entre eux doit avoir une
des formes listées ci-dessous. Les MOTS-CLES comme chars et wordend
peuvent être abrégés tant que l'abréviation n'est pas ambigüe.
- + count chars
-
Ajuste l'index vers l'avant de count caractères, en se déplaçant vers
les lignes suivantes dans le texte si nécessaire. Si il y a moins que count
caractères dans le texte après l'index courant, alors fixe l'index
au dernier caractère du texte.
Les espaces de part et d'autre de count sont optionnels.
- - count chars
-
Ajuste l'index vers l'arrière de count caractères, en se déplaçant vers les lignes précédentes dans le texte si nécessaire. Si il y a moins que count
caractères dans le texte avant l'index courant, alors fixe l'index
au premier caractère du texte.
Les espaces de part et d'autre de count sont optionnels.
- + count lines
-
Ajuste l'index vers l'avant de count lignes, gardant la même
position de caractère à l'intérieur de la ligne. Si il y a moins que count
lignes après la ligne contenant l'index courant, alors fixe l'index
à la même position de caractère sur la dernière ligne du texte.
Ensuite, si la ligne n'est pas assez longue pour contenir un caractère à
la position indiquée, ajuste la position du caractère au dernier
caractère de la ligne (le newline).
Les espaces de part et d'autre de count sont optionnels.
- - count lines
-
Ajuste l'index vers l'arrière de count lignes, en conservant la même
position de caractère à l'intérieur la ligne. Si il y a moins que count
lignes avant la ligne contenant l'index courant, alors fixe l'index
à la même position de caractère sur la première ligne du texte.
Ensuite, si la ligne n'est pas assez longue pour contenir un caractère à
la position indiquée, ajuste la position du caractère au dernier
caractère de la ligne (le newline).
Les espaces de part et d'autre de count sont optionnels.
- linestart
-
Ajuste l'index au premier caractère de la ligne.
- lineend
-
Ajuste l'index au dernier caractère de la ligne (the newline).
- wordstart
-
Ajuste l'index au premier caractère du mot contenant
l'index courant. Un mot consiste en n'importe quel nombre de caractères adjacents
qui sont des lettres, chiffres, ou underscores, ou un seul caractère qui
n'est pas l'un d'eux.
- wordend
-
Ajuste l'index au caractère juste après le dernier des
mots contenant l'index courant. Si l'index courant se réfère au dernier
caractère du texte alors il n'est pas modifié.
Si plus d'un modificateur est présent alors ils sont appliqués dans l'ordre
de gauche à droite. Par exemple, l'index ``end - 1 chars''
se réfère au caractère précédant le dernier dans le texte et
``insert wordstart - 1 c'' se réfère au caractère juste avant
le premier dans le mot contenant le curseur d'insertion.
La première forme d'annotation dans les widgets texte est le tag.
Un tag est une chaîne textuelle qui est associée à certains des caractères
dans un texte.
Les tags peuvent contenir des caractères arbitraires, mais il vaut mieux
éviter d'utiliser les caractères `` '' (espace), +, ou -:
ces caractères ont une signification spéciale dans les indices, et les tags les contenant
ne peuvent être utilisés comme indices.
Il peut y avoir n'importe quel nombre de tags associés à des caractères dans un
texte.
Chaque tag peut référencer un simple caractère, une étendue de caractères, ou
plusieurs étendues de caractères.
Un caractère individuel peut avoir n'importe quel nombre de tags associés.
Un ordre de priorité est défini parmi les tags, et cet ordre est utilisé dans
l'implementation de plusieurs des fonctions relatives aux tags décrites ci-dessous.
Quand un tag est défini (en l'associant avec des caractères ou en réglant ses
options écran ou en lui attachant des commandes), il lui est donné
une priorité plus haute que tous les tags existants.
L'ordre de priorité des tags peut être redéfini en utilisant les commandes widget
``pathName tag raise'' et ``pathName tag lower''.
Les tags remplissent trois usages dans les widgets texte.
En premier, ils contrôlent la manière dont l'information est affichée à l'écran.
Par défaut, les caractères sont affichée comme déterminé par les options
background, font, et foreground du
widget text.
Néanmoins, les options écran peuvent être associées avec des tags individuels
en utilisant la commande widget ``pathName tag configure'' .
Si un caractère a été taggé, alors les options écran associées
au tag surchargent le style écran par défaut.
Les options suivantes sont actuellement supportées par les tags:
- -background color
-
Color indique la couleur d'arrière-plan à utiliser par les caractères
associés au tag.
Doit avoir n'importe quelle des formes acceptées par Tk_GetColor.
- -bgstipple bitmap
-
Bitmap indique le bitmap qui est utilisé comme modèle de pointillé
pour l'arrière-plan.
Doit avoir n'importe quelle des formes acceptées par Tk_GetBitmap.
Si bitmap n'a pas été spécifié, ou si il est spécifié
comme chaîne vide, alors un remplissage solide sera utilisé pour l'arrière-plan.
- -borderwidth pixels
-
Pixels indique la largeur de la bordure 3-D dessinée autour
de l'arrière-plan.
Doit avoir n'importe quelle des formes acceptées par Tk_GetPixels.
Cette option est utilisée en conjonction avec l'option -relief
pour donner une apparence 3-D à l'arrière-plan des caractères;
elle est ignorée à moins que l'option -background
ait été positionnée pour le tag.
- -elide boolean
-
Elide indique si les données doivent être élidées.
Les données élidées ne sont pas affichées et n'occupent aucun espace sur l'écran, mais se comportent néanmoins comme des données normales.
- -fgstipple bitmap
-
Bitmap indique le bitmap qui est utilisé comme modèle de pointillé
à l'affichage de texte et autre information au premier plan comme
les soulignements.
Doit avoir n'importe quelle des formes acceptées par Tk_GetBitmap.
Si bitmap n'a pas été spécifié, ou si il est spécifié
comme chaîne vide, alors un remplissage solide sera utilisé.
- -font fontName
-
FontName est le nom de la police à utiliser pour dessiner les caractères.
Doit avoir n'importe quelle des formes acceptées par Tk_GetFont.
- -foreground color
-
Color indique la couleur à utiliser à l'affichage de texte et autre information au premier plan comme les soulignements.
Doit avoir n'importe quelle des formes acceptées par Tk_GetColor.
- -justify justify
-
Si le premier caractère d'une ligne écran a un tag pour lequel cette
option a été spécifiée, alors justify détermine comment
justifier la ligne.
Doit être l'un de left, right, ou center.
Si une ligne retourne, alors la justification pour chaque ligne à
l'écran est déterminées par le premier caractère de cette ligne.
- -lmargin1 pixels
-
Si le premier caractère d'une ligne de texte pour lequel cette
option a été spécifiée a un tag, alors pixels indique de combien
la ligne doit être indentée en partant du coté gauche de la
fenêtre.
Pixels doit avoir n'importe quelle des formes standard pour les
distances écran.
Si une ligne de texte retourne, cette option s'applique seulement à la
première ligne à l'écran; l'option -lmargin2 contrôle
l'indentation des lignes suivantes.
- -lmargin2 pixels
-
Si le premier caractère d'une ligne écran a un tag pour lequel cette
option a été spécifiée, et si la ligne écran n'est pas la
première de la ligne de texte (c.a.d., la ligne de texte a retourné), alors
pixels indique de combien la ligne doit être indentée à partir
du coté gauche de la fenêtre.
Pixels doit avoir n'importe quelle des formes standard pour les
distances écran.
Cette option est seulement utilisée quand le wrapping est activé, et elle
s'applique seulement à la seconde et dernière ligne écran pour une ligne de texte.
- -offset pixels
-
Pixels indique de combien de pixels la ligne de base du texte
doit être décalée verticalement par rapport à la ligne de base de du texte
eb cours.
Par exemple, un décalage positif peut être utilisé pour le superscript
et un décalage negatif pour le subscript.
Pixels doit avoir n'importe quelle des formes standard pour les
distances écran.
- -overstrike boolean
-
Spécifie si les caractères sont barrés.
Boolean doit avoir n'importe quelle des formes acceptées par Tk_GetBoolean.
- -relief relief
-
Relief indique le relief 3-D à utiliser pour le dessin de l'arrière-plan,
sous n'importe quelle des formes acceptées par Tk_GetRelief.
Cette option est utilisé en conjonction avec l'option -borderwidth
pour donner une apparence 3-D à l'arrière-plan des caractères;
elle est ignorée à moins que l'option -background
ait été positionnée pour le tag.
- -rmargin pixels
-
Si le premier caractère d'une ligne écran a un tag pour lequel cette
option a été spécifiée, alors pixels indique la largreur de la marge
entre la fin de la ligne et le coté droit de la fenêtre.
Pixels doit avoir n'importe quelle des formes standard pour les
distances écran.
Cette option est seulement utilisé quand le retour automatique à la ligne est activé.
Si une ligne de texte retourne, la marge droite de chaque ligne à
l'écran est déterminées par le premier caractère de cette ligne.
- -spacing1 pixels
-
Pixels indique l'espace supplémentaire situé
au dessus de chaque ligne de texte, en utilisant n'importe quelle des formes standard pour les
distances écran.
Si une ligne retourne, cette option s'applique seulement à la première
ligne à l'écran.
- -spacing2 pixels
-
Pour les lignes qui retournent, cette option indique l'interligne.
Pixels doit avoir n'importe quelle des formes standard pour les
distances écran.
- -spacing3 pixels
-
Pixels indique l'espace supplémentaire situé au-dessous de chaque ligne de texte, en utilisant n'importe quelle des formes standard pour les distances écran.
Si une ligne retourne, cette option s'applique seulement à la dernière
ligne à l'écran.
- -tabs tabList
-
TabList indique un ensemble de taquets de tabulation sous la même forme
que pour l'option -tabs du widget texte. Cette
option s'applique seulement à une ligne écran si elle s'applique au
premier caractère de cette ligne écran.
Si cette option est spécifiée comme chaîne vide, annule
l'option, la laissant non spécifiée (par défaut).
Si l'option est spécifiée comme chaîne non vide qui est
une liste vide, comme -tags { }, alors elle positionne les
tabulations par défaut de 8-caractères comme décrits pour l'option widget tags.
- -underline boolean
-
Boolean indique si les caractères sont soulignés.
Doit avoir n'importe quelle des formes acceptées par Tk_GetBoolean.
- -wrap mode
-
Mode indique comment gérer les lignes qui sont plus larges que la
fenêtre de texte.
Admet les même valeurs que l'option -wrap
du widget texte: none, char, ou word.
Si cettte option tag est spécifiée, elle écrase l'option -wrap
du widget texte.
Si un caractère a plusieurs tags associés, et si leurs
options écran sont en conflit, alors les options tag de priorité la plus haute
sont utilisées.
Si une option écran particulière n'a pas été spécifiée pour un
tag particulier, ou si elle est spécifiée comme chaîne vide, alors
cette option ne sera jamais utilisée; l'option tag de priorité la plus haute suivante
sera utilisée à la place.
Si aucun tag n'indique d'option particulière, alors le style par défaut
pour le widget sera utilisé.
Le second usage des tags est la liaison aux évènements.
Vous pouvez associer des bindings à un tag de la même manière que vous pouvez
associer des bindings avec une classe de widget: chaque fois qu'un évènements X particulier
se produit sur les caractères avec le tag donné, une
commande Tcl donnée sera exécutée.
Les bindings des tags peuvent être utilisés pour assigner un comportement à des étendues de caractères;
entre autres, ceci autorise l'implémentation de fonctionnalités de type hypertexte.
Pour les détails, voir la description de la commande widget tag bind ci-dessous.
Le troisième usage des tags est la gestion de la sélection.
Voir LA SELECTION ci-dessous.
La seconde forme d'annotation dans les widgets texte est la mark.
Les marks sont utilisées pour mémoriser des emplacements particuliers dans un texte.
Elles ressemblent aux tags, dans le sens ou elles ont des noms et
elles se refèrent à des emplacements dans le fichier, mais une mark n'est pas associée
à des caractères particuliers.
En fait, une mark est associée à l'espace entre deux caractères.
Une seule position peut être associée à une mark à un instant donné.
Si les caractères autour d'une mark sont effacés la mark persiste; elle aura juste de nouveaux caractères voisins.
Au contraire, si les caractères contenant un tag sont effacés alors
le tag ne sera plus associé à des caractères dans
le fichier.
Les marks peuvent être manipulées avec la commande widget ``pathName mark''
, et leurs emplacements courants peuvent être déterminés en utilisant le
nom de la mark comme un index dans les commandes widget.
Chaque mark a également une gravity, qui est soit left soit
right.
La gravité d'une mark indique ce qui arrive à la mark quand
du texte est inséré à l'emplacement de la mark.
Si une mark a une gravité gauche, alors la mark est traitée comme si elle
était attachée au caractère à sa gauche, donc la mark persistera à gauche de tout texte inséré à la position de la mark.
Si une mark a une gravité droite, le nouveau texte inséré à la position de la mark apparaîtra à gauche de la mark (ainsi la mark persiste à droite). La gravité d'une mark est par défaut de right.
L'espace de nom des marks est différent de celui des tags: le même
nom peut être utilisé à la fois pour une mark et un tag, mais il pointent sur des
objets différents.
Deux marks ont une signification spéciale.
D'abord, la mark insert est associée au curseur d'insertion,
comme décrit dans LE CURSEUR D'INSERTION ci-dessous.
Ensuite, la mark current est associée au caractère
le plus proche de la souris et est ajusté automatiquement pour suivre la
position de la souris et tout changement du texte dans le widget (une
exception: current n'est pas mis à jour en réponse aux déplacements de souris
si un bouton de souris est enfoncé; la mise à jour sera reportée
jusqu'à ce que les boutons de la souris aient été relachés).
Aucune de ces marks spéciales ne peut être effacée.
La troisième forme d'annotation dans les widgets texte est la fenêtre incrustée.
Chaque annotation de fenêtre incrustée provoque l'affichage d'une fenêtre
à un point particulier du texte.
Il peut y avoir n'importe quel nombre de fenêtres incrustées dans un widget texte,
et n'importe quel widget peut être utilisé comme fenêtre incrustée (assujetti aux
règles usuelles de gestion de geometrie, qui exige que la fenêtre texte
soit le parent de la fenêtre incrustée ou un descendant de son
parent).
La position de la fenêtre incrustée à l'écran sera mise à jour quand le
texte est modifié ou défilé, et elle sera assignée et désassignée quand elle
apparait et disparait de la partie visible du widget texte.
Chaque fenêtre incrustée occupe un caractère d'espace index
dans le widget text, et elle peut être pointée soit par son nom
de fenêtre ou par sa position d'index.
Si l'étendue de texte contenant la fenêtre incrustée est effacé alors
la fenêtre est détruite.
Quand une fenêtre incrustée est ajoutée à un widget text avec la
commande window create, plusieurs options de configuration
peuvent lui être associées.
Ces options peuvent être modifiées ensuite avec la commande window configure.
Les options suivantes sont actuellement supportées:
- -align where
-
Si la fenêtre n'est pas aussi grande que la ligne dans laquelle elle est affichée,
cette option détermine où la fenêtre est affichée dans la ligne.
Where doit avoir une des valeurs top (align le haut de la fenêtre
avec le haut de la ligne), center (centre la fenêtre
à l'intérieur de l'étendue de la ligne), bottom (aligne le bas de la
fenêtre avec la bas de la ligne),
ou baseline (align le bas de la fenêtre avec la ligne de base
de la ligne).
- -create script
-
Spécifie un script Tcl qui peut être evalué pour créer la fenêtre
de l'annotation.
Si aucune option -window n'a été spécifiée pour l'annotation
ce script sera evalué quand l'annotation est sur le point
d'être affichée à l'écran.
Script doit créer une fenêtre pour l'annotation et retourne
le nom de cette fenêtre comme resultat.
Si la fenêtre de l'annotation devait être effacée, script
sera evalué de nouveau la prochaine fois que l'annotation est affichée.
- -padx pixels
-
Pixels indique l'espace additionel en pixels à laisser de
chaque coté de la fenêtre incrustée.
Doit avoir n'importe laquelle des formes usuelles définies pour une mesure en pixels.
- -pady pixels
-
Pixels indique l'espace additionel en pixels à laisser
au dessus et en dessous de la fenêtre incrustée.
Doit avoir n'importe laquelle des formes usuelles définies pour une mesure en pixels.
- -stretch boolean
-
Si la hauteur demandée de la fenêtre incrustée est inférieure à la
hauteur de la ligne dans laquelle elle est affichée, cette option peut être
utilisée pour spécifier si la fenêtre doit être agrandie verticalement
pour remplir sa ligne.
Si l'option -pady a été également spécifiée, alors le remplissage
demandé sera obtenu même si la fenêtre est
agrandie.
- -window pathName
-
Spécifie le nom d'une fenêtre à afficher dans l'annotation.
La dernière forme d'annotation dans les widgets texte est l'image incrustée.
Chaque annotation d'image incrustée provoque l'affichage d'une image
à un point particulier dans le texte.
Il peut y avoir n'importe quel nombre d'images incrustées dans un widget texte,
et une image particulière peut être incrustée à plusieurs endroits dans le même
widget texte.
La position de l'image incrustée sur l'écran sera mise à jour quand le
texte est modifié ou défilé.
Chaque images incrustée occupe un caractère d'espace index
dans le widget text, et elle peut être pointée soit par son nom
de fenêtre ou par sa position d'index, quand l'image est insérée dans le widget texte avec image create.
Si l'étendue de texte contenant les images incrustées est effacée alors
la copie de l'image est enlevé de l'écran.
Quand une images incrustée est ajoutée à un widget text avec la commande image
create, a nom unique pour cette instance de l'image
est retourné. Ce nom peut être alors utilisé pour se référer à cette instance de l'image. Le nom est extrait de la valeur de l'option -name
(décrite ci-dessous). Si l'option -name n'est pas fournie, le nom
-image est utilisé à la place. Si le imageName est déjà
utilisé dans le widget text, alors #nn est ajouté à la fin de
imageName, où nn est un entier arbitraire. Ceci assure que
imageName est unique.
Une fois que ce nom est assigné à cette instance de l'image, il ne change plus, bien que les valeurs -image ou -name puisse être changées
avec image configure.
Quand une image incrustée est ajoutée à un widget text avec la commande
image create, plusieurs options de configuration
peuvent lui être associées.
Ces options peuvent être modifiées ensuite avec la commande image configure.
Les options suivantes sont actuellement supportées:
- -align where
-
Si l'image n'est pas aussi grande que la ligne dans laquelle elle est affichée,
cette option détermine où l'image est affichée dans la ligne.
Where doit avoir une des valeurs top (aligne le haut de l'image
avec le haut de la ligne), center (centre l'image
à l'intérieur de l'étendue de la ligne), bottom (aligne le bas de
image avec le bas de la surface de la ligne),
ou baseline (aligne le bas de l'image avec la ligne de base
de la ligne).
- -image image
-
Spécifie le nom de l'image Tk à afficher dans l'annotation.
Si image n'est pas une image Tk valide, alors une erreur est retournée.
- -name ImageName
-
Spécifie le nom par lequel cette instance de l'image peut être référencée dans le
widget texte . Si ImageName n'est pas fourni, alors le
nom de l'image Tk est utilisé à la place.
Si imageName est déjà utilisé, #nn est ajoutée à
la fin du nom comme décrit ci-dessus.
- -padx pixels
-
Pixels indique l'espace additionel en pixels réservé
de chaque coté de l'image incrustée.
Doit avoir n'importe laquelle des formes usuelles définies pour une mesure en pixels.
- -pady pixels
-
Pixels indique l'espace additionel réservé au dessus et en dessous de l'image incrustée.
Doit avoir n'importe laquelle des formes usuelles définies pour une mesure en pixels.
Le support de la selection est implémentée via les tags.
Si l'option exportSelection du widget texte est à true
alors le tag sel sera associé avec la sélection:
- [1]
-
Partout où les caractères sont marqués avec sel le widget texte
revendiquera la propriété de la sélection.
- [2]
-
Les tentatives de récuperer la
sélection seront servies par le widget texte, qui revoie tous les
caractères avec le tag sel.
- [3]
-
Si la sélection est revendiquée par une autre application ou par une autre
fenêtre à l'intérieur de cette application, alors le tag sel sera enlevé
de tous les caractères dans le texte.
Le tag sel est automatiquement défini quand un widget text est
créé, et il ne peut être effacé avec la commande ``pathName tag delete''.
En outre, les options selectBackground,
selectBorderWidth, et selectForeground du
widget texte sont attachées aux options -background,
-borderwidth, et -foreground du tag sel: les changements de l'un sont automatiquement répercutés sur l'autre.
La mark nommée insert a une signification spéciale dans les widgets texte.
Elle est définie automatiquement quand un widget text est créé et elle ne peut pas être
indéfinie avec la commande ``pathName mark unset''.
La mark insert représente la position du curseur d'insertion, et le curseur d'insertion sera automatiquement dessiné à ce
point chaque fois que le widget texte a le focus.
La commande text crée une nouvelle commande Tcl dont le
nom est le même que le nom de chemin de la fenêtre texte. Cette
commande peut être utilisée pour appeler diverses
opérations sur le widget. Elle a la forme générale suivante:
pathName option ?arg arg ...?
PathName est le nom de la commande, qui est le même que
le nom de chemin du widget texte. Option et les args
déterminent le comportement exact de la commande. Les
commandes suivantes sont possibles pour les widgets texte:
- pathName bbox index
-
Retourne une liste de quatre éléments décrivant la boite de confinement
du caractère indiqué par index.
Les deux premiers éléments de la liste donnent les coordonnées x et y
du coin supérieur gauche de la surface occupée par le
caractère, et les deux derniers éléments donnent la largeur et hauteur
de la surface.
Si le caractère est seulement partiellement visible à l'écran, alors
la valeur de retour reflète juste la partie visible.
Si le caractère n'est pas visible sur l'écran alors la
valeur de retour est une liste vide.
- pathName cget option
-
Retourne la valeur courante de l'option de configuration donnée
par option.
Option peut prendre n'importe quelle des valeurs acceptées par la commande text.
- pathName compare index1 op index2
-
Compare les indices indiqués par index1 et index2 en accord avec
l'opérateur relationel indiqué par op, et retourne 1 si
la relation est satisfaite et 0 si non.
Op doit être une des opérateurs <, <=, ==, >=, >, ou !=.
Si op est == alors 1 est retourné si les deux indices se réfèrent
au même caractère, si op est < alors 1 est retourné si index1
se réfère à caractère précédent dans le texte index2, et
ainsi de suite.
- pathName configure ?option? ?valeur option valeur ...?
-
Interroge ou modifie les options de configuration du widget.
Si aucune option n'est spécifiée, retourne une liste décrivant toutes
les options disponibles pour pathName (voir Tk_ConfigureInfo pour une
information sur le format de cette liste). Si option est spécifié
sans valeur, alors la commande retourne une liste décrivant l'option
désignée (cette liste sera identique à la sous-liste correspondante
de la valeur retournée si aucune option n'est spécifiée). Si
une ou plusieurs paires option-valeur sont spécifiées, alors la commande
modifie l'option(s)widget donnée à la valeur(s) indiquée; dans
ce cas la commande retourne une chaîne vide.
Option peut prendre n'importe quelle des valeurs acceptées par la commandetext.
- pathName debug ?boolean?
-
Si boolean est spécifié, alors elle doit avoir une des valeurs vraie ou
fausse acceptées par Tcl_GetBoolean.
Si la valeur est vraie alors un contrôle interne de consistence sera
activé dans le code B-tree associé avec les widgets text.
Si boolean a une valeur fausse alors le contrôle sera désactivé.
Dans les deux cas la commande retourne une chaîne vide.
Si boolean n'est pas spécifié alors la commande retourne on
ou off pour indiquer si oui ou non le est activé.
Ceci est un seul commutateur de debogage partagé par tous les widgets text: l'activer
ou le desactiver dans n'importe quel widget l'active ou le désactive dans tous les widgets.
Pour les widgets avec de grandes quantités de texte, le contrôle de consistence peut
provoquer un ralentissement notable.
Quand le débogage est activé, les routines d'affichage du widget texte
positionnent les variables globales tk_textRedraw et tk_textRelayout
dans la liste d'indices redessinés. Les valeurs de ces variables
sont testées par la suite de test de Tk.
- pathName delete index1 ?index2?
-
Efface une étendue de caractères du texte.
Si à la fois index1 et index2 sont spécifiés, alors efface
tous les caractères commencant avec celui indiqué par index1
et s'arrétant juste avant index2 (c.a.d. le caractère à
index2 n'est pas effacé).
Si index2 n'indique pas une position plus loin dans le texte
que index1 alors aucun caractères ne sont effacée.
Si index2 n'est pas spécifié alors seul le caractère à
index1 est effacé.
Il n'est pas permis d'effacer des caractères en laissant
le texte sans un newline comme dernier caractère.
La commande retourne une chaîne vide.
- pathName dlineinfo index
-
Retourne une liste de cinq éléments décrivant la surface occupée
par la ligne écran contenant index.
Les deux premiers éléments de la liste donnent les coordonnées x et y
du coin supérieur gauche de la surface occupée par la
ligne, les troisième et quatrième éléments donnent la largeur et hauteur
de la surface, et le cinquième élément donnet la position de la ligne de base
de la ligne, mesurée en partant du haut de la surface.
Toute cette information est mesurée en pixels.
Si le mode de retour à la ligne courant est none et que la ligne dépasse les
limites de la fenêtre,
la surface retournée reflète la surface entière de la ligne, incluant les
parties qui sont en dehors de la fenêtre.
Si la ligne est plus courte que la largeur totale de la fenêtre alors la
surface retournée reflète juste la partie de la ligne qui est occupée
par les caractères et les fenêtres incrustées.
Si la ligne écran contenant index n'est pas visible à l'écran alors la valeur de retour est une liste vide.
- pathName dump ?commutateurs? index1 ?index2?
-
Retourne le contenu du widget texte de index1 jusqu'à,
mais non inclus index2,
incluant le texte et
l'information concernant les marks, tags, et fenêtres incrustées.
Si index2 n'est pas spécifié, alors il est par défaut de
un caractère après index1. L'information est retournée
dans le format suivant:
-
key1 value1 index1 key2 value2 index2 ...
Les valeurs key possibles sont text, mark,
tagon, tagoff, et window. Les correspondantes
valeurs sont les texte, nom de mark , nom de tag, ou nom defenêtre.
L'information index est l'index de départ
du texte, la mark, la transition de tag, ou la fenêtre.
Un ou plusieurs des suivants commutateurs (ou leurs abréviations)
peuvent être spécifiés pour contrôler le dump:
- -all
-
Retourne l'information concernant tous les éléments: text, marks, tags, images et fenêtres.
C'est le comportement par défaut.
- -command commande
-
Au lieu de retourner l'information comme résultat de l'opération de dump,
appelle la commande sur chaque élément du widget texte à l'intérieur de l'étendue.
La commande a trois arguments qui lui sont ajoutés avant qu'elle soit evaluée:
les key, valeur, et index.
- -image
-
Inclut l'information concernant les images dans le resultat du dump.
- -mark
-
Inclut l'information concernant les marks dans le resultat du dump.
- -tag
-
Inclut l'information concernant les transitions des tags dans le resultat du dump.
L'information des tags est retournée en éléments tagon et tagoff qui
indiquent le début et la fin de chaque étendue de chaque tag, respectivement.
- -text
-
Inclut l'information concernant le texte dans le resultat du dump. La valeur est le
texte jusqu'à l'élément suivant ou la fin de l'étendue indiqué par index2.
Un élément texte ne dépasse pas les newlines. Un bloc de texte multi-lignes qui ne
contient aucunes marks ou tag transitions sera dumpé comme un ensemble
de segments de texte qui finissent chacun avec une newline. Le newline fait partie
de la valeur.
- -window
-
Inclut l'information concernant les fenêtres incrustées dans le resultat du dump.
La valeur d'une fenêtre est son nom de chemin Tk, à moins que la fenêtre
n'ait pas encore été créée. (Il doit y avoir un script create.)
Dans ce cas une chaîne vide est retournée, et vous devez interroger la
fenêtre par sa position d'index pour obtenir plus information.
- pathName get index1 ?index2?
-
Retourne une étendue de caractères du texte.
La valeur de retour sera tous les caractères dans le texte commencant
avec celui dont l'index est index1 et finissant juste avant
celui dont l'index est index2 (le caractère à index2
ne sera pas retourné).
Si index2 est omis alors le seul caractère à index1
est retournée.
Si il n'y a aucun caractères dans l'étendue spécifiée (ex. index1
est après la fin du fichier ou index2 est inférieur ou egal à
index1) alors une chaîne vide est retournée.
Si l'étendue spécifiée contient des fenêtres incrustées, aucune information
les concernant n'est incluse dans la chaîne retournée.
- pathName image option ?arg arg ...?
-
cette commande est utilisée pour manipuler les images incrustées.
Le comportement de la commande dépends de l'argument option
qui suit l'argument tag.
Les formes suivantes de la commande sont actuellement supportées:
- pathName image cget index option
-
Retourne la valeur d'une option de configuration des images incrustées.
Index identifies l'image incrustée, et option
indique une option de configuration particulière, qui doit être une de
celles listés dans la section IMAGES INCRUSTEES.
- pathName image configure index ?option valeur ...?
-
Interroge ou modifie les options de configuration d'une image incrustée.
Si aucune option n'est spécifiée, retourne une liste décrivant toutes
les options disponibles our les images incrustée à index
(voir Tk_ConfigureInfo pour plus d'information sur le format de cette liste).
Si option est spécifiée sans valeur, alors la commande
retourne une liste décrivant l'option nommée (cette liste sera
identique à la correspondante sous-liste de la valeur retournée si aucune
option n'est spécifiée).
Si une ou plusieurs paires option-valeur sont spécifiées, alors la commande
modifie l'option(s) donné à la valeur(s) donnée; dans
ce cas la commande retourne une chaîne vide.
Voir IMAGES INCRUSTEES pour information sur les options
supportées.
- pathName image create index ?option valeur ...?
-
cette commande crée une nouvelle image, qui apparaîtra
dans le texte à la position indiquée par index.
N'importe quel nombre de paires option-valeur peut être spécifié pour
configurer l'annotation.
Retourne un identificateur unique qui peut être utilisé comme index pour se référer à
cette image.
Voir IMAGES INCRUSTEES pour information sur les options
supportées, et une description de l'identificateur retourné.
- pathName image names
-
Retourne une liste dont les éléments sont les noms de toutes les instances d'image actuellement
incrustées dans fenêtre.
- pathName index index
-
Retourne la position correspondant à index sous la forme
line.char où line est le numéro de ligne et char
est le numéro de caractère.
Index doit avoir n'importe quelle des formes décrites dans INDICES ci-dessus.
- pathName insert index chars ?tagList chars tagList ...?
-
Insère tous les arguments chars juste avant le caractère à
index.
Si index se réfère à jusqu'à la fin du texte (le caractère après
le dernier newline) alors le nouveau texte est inséré juste avant le
dernier newline à la place.
Si il y a un seul argument chars et pas de tagList, alors
le nouveau texte recevra tous tags qui sont présents à la fois sur le
caractère avant et le caractère après le point d'insertion; si un tag
est présent sur seulement un des deux caractères alors il ne sera pas
appliqué au the nouveau texte.
Si tagList est spécifiée alors elle consiste en une liste de
noms de tags; les nouveaux caractères recevront tous les tags de
cette liste et aucun autres, indépendemment de tags présents autour
du point d'insertion.
Si plusieurs paires d'arguments chars-tagList sont présents,
ils produisent le même effet qu'une commnde insert séparée
émise pour chaque paire, dans l'ordre.
Le dernier argument tagList peut être omis.
- pathName mark option ?arg arg ...?
-
cette commande est utilisée pour manipuler les marks. Le comportement exact de
la commande depend de l'argument option qui suit
l'argument mark. Les formes suivantes de la commande
sont actuellement supportées:
- pathName mark gravity markName ?direction?
-
Si direction n'est pas spécifiée, retourne left ou right
pour indiquer lequel des caractères adjacents à markName lui est attaché.
Si direction est spécifiée, ce doit être left ou right;
la gravity de markName est fixée à la valeur donnée.
- pathName mark names
-
Retourne une liste dont les éléments sont les noms de toutes les marks
actuellement positionnées.
- pathName mark next index
-
Retourne le nom de la mark suivant à ou après index.
Si index est spécifié sous une forme numérique, alors la recherche de
la mark suivante commenceà cet index.
Si index est le nom d'une mark, alors la recherche de
la mark suivante commence immédiatement après cette mark.
Ceci peut retourner une mark à la même position si
il y de multiples marks au même index.
Cette sémantique signifie que l'opération mark next peut être utilisée pour
parcourir toutes les marks dans un widget texte dans le même ordre
que l'information de mark retournée par une opération dump.
Si une mark a été positionnée à l'index spécial end,
alors elle parait être après end en accord avec l'opération mark next.
Une chaîne vide est retournée si il n'y a pas de marks après index.
- pathName mark previous index
-
Retourne le nom de la mark à ou avant index.
Si index est spécifié sous une forme numérique, alors la recherche de
la mark précédente commence avec le caractère juste avant cet index.
Si index est le nom d'une mark, alors la recherche de
la mark suivante commence immédiatement avant cette mark.
Ceci peut retourner une mark à la même position si
il y de multiples marks au même index.
Cette sémantique signifie que l'opération mark previous peut être utilisée pour
parcourir toutes les marks dans un widget texte dans le même ordre
que l'information de mark retournée par une opération dump.
Une chaîne vide est retournée si il n'y a pas de marks avant index.
- pathName mark set markName index
-
Fixe la mark nommée markName à une position juste avant le
caractère à index.
Si markName existe déjà, il est déplacé de son ancienne position;
si il n'existe pas, une nouvelle mark est créé.
cette commande retourne une chaîne vide.
- pathName mark unset markName ?markName markName ...?
-
Enlève la mark correspondante à chacun des arguments markName.
Les marks enlevées ne seront pas utilisables en indices et ne seront pas
retournées par les appels futurs à ``pathName mark names''.
cette commande retourne une chaîne vide.
- pathName scan option args
-
cette commande est utilisé pour implémenter le balayage des textes. Elle a
deux formes, dépendantes de option:
- pathName scan mark x y
-
Enregistre x et y et la vue courante dans la fenêtre texte,
pour usage en conjonction avec des commandes ultérieures scan dragto .
Généralement cette commande est associés avec un clic de souris dans le
widget. Elle retourne une chaîne vide.
- pathName scan dragto x y
-
cette commande calcule la différence entre ses arguments x et y
et les arguments x et y de la dernière
commande scan mark pour le widget.
Elle ajuste alors la vue de 10 fois la différence en coordonnées.
cette commande est généralement associée
avec des évènements déplacement de souris dans le widget, pour produire un effet de
glisser du texte à grande vitesse au travers de la fenêtre. la valeur de retour est une chaîne vide.
- pathName search ?commutateurs? modèle index ?stopIndex?
-
Recherche dans le texte de pathName en commencant à index une étendue
de caractères qui coresspond à modèle.
Si une correspondance est trouvée, l'index du premier caractère de la correspondance est
retourné; autrement une chaîne vide est retournée.
Un ou plusieurs des commutateurs suivants (ou leurs abréviations)
peuvent être spécifiés pour contrôler la recherche:
- -forwards
-
La recherche s'effectuera en avant dans le texte, recherchant la première étendue correspondante commencant à ou après la position indiquée par index.
C'est le comportement par défaut.
- -backwards
-
La recherche s'effectuera en arrière dans le texte, recherchant la première étendue correspondante la plus proche de index et dont le premier caractère
est avant index.
- -exact
-
Utilise une correspondance exacte: les caractères dans l'étendue correspondante doivent être
identique à ceux de modèle.
C'est le comportement par défaut.
- -regexp
-
Traite modèle comme une expression rationelle et le compare au
texte en utilisant les règles des expressions rationelles (voir la commande regexp
pour les détails).
- -nocase
-
Ignore les différences de casse entre le modèle et le texte.
- -count varName
-
L'argument suivant -count donne le nom d'une variable;
si une correspondance est trouvée, le nombre de positions d'index entre le début et
la fin de l'étendue correspondante sera stockée dans la variable. Si il n'y a pas
d'images ou de fenêtres incrustées dans l'étendue correspondante, ceci est équivalent au
nombre de caractères trouvés. Dans les autres cas, l'étendue de matchIdx à
matchIdx + $count chars retournera le texte correspondant entier.
- -elide
-
Trouve également le texte élidé (caché). Par défaut seul le texte affiché est
recherché.
- - -
-
Ce commutateur n'a pas d'effet excepté de terminer la liste des commutateurs:
l'argument suivant sera traité comme modèle même s'il commence
avec -.
L'étendue correspondante doit être entièrement à l'intérieur d'une seule ligne de texte.
Pour la correspondane avec les expressions rationelles les newlines sont enlevées des fins
de lignes avant la comparaison: l'usage de la fonctionnalité $ des expressions
rationelles est retenu pour trouver la fin d'une ligne.
Pour la correspondance exacte les newlines sont conservées.
Si stopIndex est spécifié, la recherche s'arrête à cet index:
pour la recherche en avant, aucune correspondance à ou après stopIndex ne sera
considérée; pour la recherche en arrière, aucune correspondance précédent stopIndex dans le textz ne sera considérée.
Si stopIndex est omis, le texte entier sera parcouru:
quand le début ou la fin du texte est atteint, la recherche
continue à l'autre extrémité jusqu'à ce que l'emplacement de départ soit atteint; si stopIndex est spécifié, aucun bouclage ne se produit.
- pathName see index
-
Ajuste la vue dans la fenêtre pour que le caractère indiqué par index
soit complètement visible.
Si index est déjà visible alors la commande ne fait rien.
Si index est a une courte distance, la commande
ajuste la vue suffisamment pour rendre index visible à la
limite de la fenêtre.
Si index est loin de la vue, alors la commande centre
index dans la fenêtre.
- pathName tag option ?arg arg ...?
-
cette commande est utilisée pour manipuler les tags. Le comportement exact de la
commande depend de l'argument option qui suit l'argument
tag. Les formes suivantes de la commande sont actuellement
supportées:
- pathName tag add tagName index1 ?index2 index1 index2 ...?
-
Associe le tag tagName à tous les caractères commencant
avec index1 et finissant juste avant
index2 (le caractère at index2 n'est pas taggé).
Une seule commande peut contenir n'importe quel nombre de paires index1-index2.
Si le dernier index2 est omis alors seul le caractère à
index1 est taggé.
Si il n'y a pas de caractères dans l'étendue spécifiée (ex. index1
est après la fin du fichier ou index2 est inférieur ou égal
à index1) alors la commande n'a pas d'effet.
- pathName tag bind tagName ?séquence? ?script?
-
cette commande associe script avec le tag indiqué par
tagName.
Partout où la séquence d'évènement indiquée par séquence se produit pour
caractère qui a été taggé avec tagName,
le script sera appelé.
Cette commande est identique à la commande bind excepté qu'elle opère sur les caractères d'un texte plutot que sur un widgets entier.
Voir la page de manuel de bind pour des détails complets
sur la syntaxe de séquence et les substitutions réalisées
sur script avant son appel.
Si tous les arguments sont spécifiés alors un nouveau binding est créé, remplaçant
tout binding existant pour les même séquence et tagName
(si le premier caractère de script est ``+'' alors script
s'ajoute à un binding existant plutot que le remplacer).
Dans ce cas la valeur de retour est une chaîne vide.
Si script est omis alors la commande retourne le script
associé à tagName et séquence (une erreur se produit
s'il n'y a pas un tel binding).
Si à la fois script et séquence sont omis alors la commande
retourne une liste de toutes les séquences pour lesquelles des bindings ont été
définis pour tagName.
Les seuls évènements pour lesquels les bindings peuvent être spécifiés sont ceux relatifs
à la souris et au clavier (comme Enter, Leave,
ButtonPress, Motion, et KeyPress) ou les évènements virtuels.
Les bindings d'évènements des widgets texte utilisent la mark current décrite
dans MARKS ci-dessus. Un évènement Enter se déclenche pour un tag quand le tag
devient présent sur le caractère courant, et un évènement Leave
se déclenche pour un tag quand il cesse d'être présent sur le caractère courant.
Des évènements Enter et Leave peuvent se produire chacun parceque la
mark current s'est déplacée ou parceque le caractère à cette position
a changé. Notez que ces évènements sont différent des évènements Enter et
Leave des fenêtres. Les évènements souris et clavier sont dirigés vers le
caractère courant. Si un évènement virtuel est utilisé dans un binding, ce
binding se déclenche seulement si l'évènement virtuel est défini par un évènement
souris ou clavier sous-jacent.
It est possible que le caractère courant ait de multiples tags,
et que chacun d'entre eux ait un binding pour une séquence d'évènement particulière .
Quand ceci se produit, un binding est appelé pour chaque tag, dans l'ordre
de la priorité la plus basse à la plus haute.
Si il y a de multiples bindings assignés à un seul tag, alors
le binding le plus spécifique est choisi (voir la page de manuel de la commande
bind pour les détails).
Des commandes continue et break à l'intérieur des scripts de binding
sont traités de la même façon que pour les bindings créés avec
la commande bind.
Si des bindings sont créés pour le widget dans son entier en utilisant la commande
bind, alors ces bindings s'ajoutent aux
bindings de tag.
Les bindings de tag seront appelés en premier, suivis par les bindings
de la fenêtre complète.
- pathName tag cget tagName option
-
cette commande retourne la valeur courante de l'option nommée option
associés avec le tag indiqué par tagName.
Option peut prendre n'importe quelle des valeurs acceptées par la commande widget tag configure.
- pathName tag configure tagName ?option? ?valeur? ?option valeur ...?
-
cette commande est identique à la commande widget configure excepté
qu'elle modifie les options associées au the tag indiqué par tagName
au lieu de modifier les options pour l'ensemble du widget text.
Si aucune option n'est spécifiée, la commande retourne une liste décrivant
toutes les options disponibles pour tagName (voir Tk_ConfigureInfo
pour information sur le format de cette liste).
Si option est spécifiée sans valeur, alors la commande retourne
une liste décrivant l'option désignée (cette liste sera identique à
la sous-liste correspondante de la valeur retournée si aucune option
n'est spécifiée).
Si une ou plusieurs paires option-valeur sont spécifiées, alors la commande
modifie l'option(s) donnée à la valeur(s)donnée dans tagName;
dans ce cas la commande retourne une chaîne vide.
Voir TAGS plus haut pour les détails sur les options disponibles pour les tags.
- pathName tag delete tagName ?tagName ...?
-
Efface toute l'information de tag pour chacun des arguments tagName.
La commande enlève les tagsde tous les caractères dans le fichier
et efface également toute autre information associée aux tags,
comme les bindings et l'information écran.
La commande retourne une chaîne vide.
- pathName tag lower tagName ?belowThis?
-
Change la priorité du tag tagName en lui donnant une
priorité inférieure au tag dont le nom est belowThis.
Si belowThis est omis, alors la priorité de tagName
est diminuée à la priorité la plus basse de tous les tags.
- pathName tag names ?index?
-
Retourne une liste dont les éléments sont les noms de tous les tags
actifs à la position du caractère indiquée par index.
Si index est omis, alors la valeur de retour décrira
tous les tags qui existent dans le texte (ceci inclut tous les tags
qui ont été nommée dans une commande ``pathName tag'' widget
mais qui n'ont pas été effacés par une commande widget ``pathName tag delete'', même si aucun caractères sont actuellement marqués avec
le tag).
La liste sera triée dans l'ordre
de la priorité la plus basse à la plus haute.
- pathName tag nextrange tagName index1 ?index2?
-
cette commande recherche dans le texte une étendue de caractères taggés
avec tagName où le premier caractère de l'étendue suit
ou est égal au caractère à index1 et inférieur
au caractère juste avant index2 (une étendue commencant à
index2 ne sera pas considérée).
Si plusieurs étendues corespondantes existent, la première est choisie.
La valeur de retour de la commande est une liste contenant
deux éléments, qui sont l'index du premier caractère de
l'étendue et l'index du caractère juste après le dernier
de l'étendue.
Si aucune étendue corespondante n'est trouvée alors la valeur de retour est une
chaîne vide.
Si index2 n'est pas fourni alors il est par défaut de la fin du texte.
- pathName tag prevrange tagName index1 ?index2?
-
cette commande recherche dans le texte une étendue de caractères taggés
avec tagName où le premier caractère de l'étendue est
avant le caractère à index1 et ne précède pas
le caractère à index2 (une étendue commencant à
index2 sera considérée).
Si plusieurs étendues corespondantes existent, celle la plus proche de index1 est choisie.
La valeur de retour de la commande est une liste contenant
deux éléments, qui sont l'index du premier caractère de
l'étendue et l'index du caractère juste après le dernier
de l'étendue.
Si aucune étendue corespondante n'est trouvée alors la valeur de retour est une
chaîne vide.
Si index2 n'est pas fourni alors il est par défaut le début du texte.
- pathName tag raise tagName ?aboveThis?
-
Change la priorité du tag tagName en lui donnant une
priorité supérieure au tag dont le nom est aboveThis.
Si aboveThis est omis, alors la priorité de tagName
est augmentée à la plus haute de tous les tags.
- pathName tag ranges tagName
-
Retourne une liste décrivant toutes les étendues de texte qui ont été
taggées avec tagName.
Les deux premiers éléments de la liste décrivent la première étendue taggée
dans le text, les deux éléments suivants décrivent la seconde étendue, et
ainsi de suite.
Le premier élément de chaque paire contient l'index du premier
caractère de l'étendue, et le second élément de la paire contient
l'index du caractère juste après le dernier dans l'étendue.
Si il n'y a pas de caractères taggés avec tag alors une
chaîne vide est retournée.
- pathName tag remove tagName index1 ?index2 index1 index2 ...?
-
Enlève le tag tagName de tous les caractères commencant
à index1 et finissant juste avant
index2 (le caractère à index2 n'est pas affecté).
Une seule commande peut contenir n'importe quel nombre de paires index1-index2.
Si le dernier index2 est omis alors seul le caractère à
index1 est taggé.
Si il n'y a pas de caractères dans l'étendue spécifiée (ex. index1
est après la fin du fichier ou index2 est inférieur ou égal à
index1) alors la commande n'a pas d'effet.
cette commande retourne une chaîne vide.
- pathName window option ?arg arg ...?
-
cette commande est utilisée pour manipuler les fenêtres incrustées.
Le comportement de la commande dépend de l'argument option
qui suit l'argument tag .
Les formes suivantes de la commande sont actuellement supportées:
- pathName window cget index option
-
Retourne la valeur d'une option de configuration d'une fenêtre incrustée.
Index identifie la fenêtre incrustée, et option
indique une option de configuration particulière, qui doit être une de
celles listées dans la section FENETRES INCRUSTEES.
- pathName fenêtre configure index ?option valeur ...?
-
Interroge ou modifie les options de configuration d'une fenêtre incrustée.
Si aucune option n'est spécifiée, retourne une liste décrivant toutes
les options disponibles pour la fenêtre incrustée à index
(voir Tk_ConfigureInfo pour information sur le format de cette liste).
Si option est spécifiée sans valeur, alors la commande
retourne une liste décrivant l'option nommée (cette liste sera
identique à la correspondante sous-liste de la valeur retournée si aucune
option n'est spécifiée).
Si un ou plusieurs paires option-valeur sont spécifiées, alors la commande
modifie l'option(s) donnée à la valeur(s) donnée; dans
ce cas la commande retourne une chaîne vide.
Voir FENETRES INCRUSTEES pour information sur les options supportées.
- pathName window create index ?option valeur ...?
-
cette commande crée une nouvelle annotation fenêtre, qui apparaîtra
dans le texte à la position indiquée par index.
N'importe quel nombre de paires option-valeur peut être spécifié pour
configurer l'annotation.
Voir FENETRES INCRUSTEES fpour information sur les options supportées.
Retourne une chaîne vide.
- pathName window noms
-
Retourne une liste dont les éléments sont les noms of toutes les fenêtres actuellement
incrustées dans fenêtre.
- pathName xview option args
-
cette commande est utilisé pour consulter et changer la position horizontale du
texte dans la fenêtre du widget. Elle peut prendre n'importe quelle des
formes suivantes:
- pathName xview
-
Retourne une liste contenant deux éléments.
Chaque élément est une fraction réelle entre 0 et 1; ensemble ils décrivent
la partie visible du document dans la fenêtre.
Par exemple, si le premier élément est .2 et le second élément est .6,
20% du texte est hors écran à gauche, les 40% au milieu sont visibles
dans la fenêtre, et 40% du texte est hors écran à droite.
Les fractions se réfèrent seulement aux lignes actuellement visibles dans la
fenêtre: si les lignes dans la fenêtre sont toutes très courtes, donc
entièrement visible, les fractions retournées seront 0 et 1,
même si il y a d'autres lignes dans le texts qui sont
beaucoup plus larges que la fenêtre.
Ce sont le même valeurs transmises aux barres de défilement via l'option
-xscrollcommand.
- pathName xview moveto fraction
-
Ajuste la vue dans la fenêtre pour que fraction de la partie horizontale
du texte soit hors écran à gauche.
Fraction est une fraction entre 0 et 1.
- pathName xview scroll nombre quoi
-
cette commande décale la vue dans la fenêtre à gauche ou à droite en accord avec
nombre et quoi.
Nombre doit être un entier.
Quoi doit être soit des unités ou des pages ou une abréviation
de l'un des deux.
Si quoi est en unités, la vue est ajustée à gauche ou à droite de
nombre largeur moyenne des caractères à l'écran; si il est en
pages alors la vue est ajustée de nombre écrans.
Si nombre est négatif alors les caractères les plus à gauche
deviennent visibles; si il est positif alors caractères les plus à droite
deviennent visibles.
- pathName yview ?args?
-
cette commande est utilisé pour consulter et changer la position verticale du
texte dans la fenêtre du widget.
Elle peut prendre n'importe quelle des formes suivantes:
- pathName yview
-
Retourne une liste contenant deux éléments, qui sont tous deux des fractions réelles entre 0 et 1.
Le premier élément donne la position du premier caractère dans la
ligne du haut dans la fenêtre, relativement au texte en entier (0.5 signifie qu'elle
est au milieu du texte, par exemple).
Le second élément donne la position du caractère juste après
le dernier dans la ligne du bas de la fenêtre,
relativement au texte en entier.
Ce sont les même valeurs transmises aux barre de défilement via l'option -yscrollcommand.
- pathName yview moveto fraction
-
Ajuste la vue dans la fenêtre pour que le caractère indiqué par fraction
apparaisse dans la ligne du haut de la fenêtre.
Fraction est une fraction entre 0 et 1; 0 indique le premier
caractère dans le text, 0.33 indique le caractère au tiers du texte, et ainsi de suite.
- pathName yview scroll nombre quoi
-
cette commande ajuste la vue dans la fenêtre en haut ou en bas en accord avec
nombre et quoi.
Nombre doit être un entier.
Quoi doit être soit des unités soit des pages.
Si quoi est en unités, la vue est ajustée en haut ou en bas
de nombre lignes à l'écran; si il est en pages alors
la vue est ajustée de nombre écrans.
Si nombre est négatif alors les positions précédentes dans le texte
deviennent visibles; si il est positif alors les positions suivantes dans le texte
deviennent visibles.
- pathName yview ?-pickplace? index
-
Changes la vue dans la fenêtre du widget pour rendre index visible.
Si the -pickplace option n'est pas spécifiée alors index
apparaîtra en haut de la fenêtre.
Si -pickplace est spécifié alors le widget choisit où
index apparaîtdans la fenêtre:
- [1]
-
Si index est déjà visible quelque part dans la fenêtre alors la
commande ne fait rien.
- [2]
-
Si index est seulement de quelques lignes hors écran au dessus de la fenêtre alors
il sera positionné en haut de la fenêtre.
- [3]
-
Si index est seulement de quelques lignes hors écran au desssous de la fenêtre alors
il sera positionné en bas de la fenêtre.
- [4]
-
Autrement, index sera centré dans la fenêtre.
The -pickplace option a été rendu obsolète par la commande widget see
(see gère à la fois les déplacements x et y pour rendre visible un emplacement, la où -pickplace gère seulement les déplacements en y).
- pathName yview nombre
-
cette commande rend le premier caractère sur la ligne suivant
celle indiquée par nombre visible en haut de la fenêtre.
Nombre doit être un entier.
cette commande était utilisée pour le défilement, mais elle est maintenant obsolète.
Tk crée automatiquement des bindings de classe pour les widgets texte qui leur donne
le comportement par défaut suivant.
Dans les descriptions ci-dessous, ``word'' est dépendant de la valeur de
la variable tcl_wordchars . Voir tclvars(n).
- [1]
-
Cliquer sur le bouton1 de la souris positionne le curseur d'insertion
juste avant le caractère sous le curseur de la souris, place le
focus d'entée dans ce widget, et efface toute sélection dans le widget.
Glisser avec le bouton1 de la souris définit une sélection entre
le curseur d'insertion et le caractère sous la souris.
- [2]
-
Double cliquer avec le bouton1 de la souris sélectionne le mot sous la souris
et positionne le curseur d'insertion au début du mot.
Glisser après un double click définira une sélection consistant
de mots entiers.
- [3]
-
Triple cliquer avec le bouton1 de la souris sélectionne la ligne sous la souris
et positionne le curseur d'insertion au début de la ligne.
Glisser après a un triple clic définira une sélection consistant
lignes entières.
- [4]
-
La fin de la sélection peut être ajustée en cliquant-tirant avec le bouton1 de la souris
pendant que la touche Shift est enfoncée; ceci ajustera la fin
de la sélection la plus proche du curseur de la souris quand le bouton
1 a été enfoncé.
Un double clic avant de glisser ajuste la sélection
en unités de mots complets; un triple clic en unités de lignes complètes.
- [5]
-
Cliquer sur le bouton1 de la souris avec la touche Control enfoncée repositionnera le
curseur d'insertion sans affecter la sélection.
- [6]
-
Si n'importe quels caractères normaux imprimables sont saisis, ils sont
insérés au point du curseur d'insertion.
- [7]
-
La vue dans le widget peut être ajustée en cliquant-tirant avec le bouton 2 de la souris.
Si le bouton 2 de la souris est cliqué sans déplacer la souris, la sélection
est copiée dans le texte à la position du curseur de la souris.
La touche Insère insère aussi la sélection, mais à la position du
curseur d'insertion.
- [8]
-
Si la souris est glissée hors du widget
alors que le bouton1 est enfoncé, la fenêtre défile automatiquement pour
rebdre plus de texte visible (s'il y a plus de texte hors écran du coté
où la souris est sortie de la fenêtre).
- [9]
-
Les touches flèche droite et flèche gauche déplacent le curseur d'insertion d'un caractère
à gauche ou à droite; elles effacent aussi toute sélection dans le texte.
Si Left ou Right est tapé avec la touche Shift enfoncée, alors le curseur d'insertion se déplace et la sélection est étendue pour inclure les nouveaux caractères.
Control-Left et Control-Right déplacent le curseur d'insertion par mots, et
Control-Shift-Left et Control-Shift-Right déplacent le curseur d'insertion
par mots et étendent aussi la sélection.
Control-b et Control-f se comprtent de même que Left et Right, respectivement.
Meta-b et Meta-f se comprtent de même que Control-Left et Control-Right,
respectivement.
- [10]
-
Les touches Up et Down déplacent le curseur d'insertion d'une ligne vers le haut ou le bas et effacent toute sélection dans le texte.
Si Up ou Right est tapé avec la touche Shift enfoncée, alors le curseur d'insertion
se déplace et la sélection est étendue pour inclure le nouveau caractère.
Control-Up et Control-Down déplacent le curseur d'insertion par paragraphes (groupes
de lignes séparées par des lignes vides), et
Control-Shift-Up et Control-Shift-Down déplacent le curseur d'insertion
par paragraphes et étendent aussi la sélection.
Control-p et Control-n se comportent de même que Up et Down, respectivement.
- [11]
-
Les touches Next et Prior (PgUp et PgDown N.D.T.) déplacent le curseur d'insertion en avant ou en arrière d'une page écran et effacent toute sélection dans le texte.
Si la touche Shift est maintenue enfoncée pendant que Next ou Prior est tapé, alors
la sélection est étendue pour inclure le nouveau caractère.
Control-v déplace la vue vers le bas d'une page écran sans déplacer le
curseur d'insertion ou ajuster la sélection.
- [12]
-
Control-Next et Control-Prior font défiler la vue à droite ou à gauche d'une page
sans déplacer le curseur d'insertion ou affecter la sélection.
- [13]
-
Home et Control-a déplacent le curseur d'insertion au
le début de sa ligne et effacent toute sélection dans le widget.
Shift-Home déplace le curseur d'insertion au début de la ligne
et étend également la sélection à ce point.
- [14]
-
End et Control-e déplacent le curseur d'insertion à la
fin de la ligne et effacent toute sélection dans le widget.
Shift-End déplace le curseur jusqu'à la fin de la ligne et étend la sélection
jusqu'à ce point.
- [15]
-
Control-Home et Meta-< déplacent le curseur d'insertion au début du
texte et effacent toute sélection dans le widget.
Control-Shift-Home déplace le curseur d'insertion au début du texte
et étend également la sélection jusqu'à ce point.
- [16]
-
Control-End et Meta-> déplacent le curseur d'insertion jusqu'à la fin du
texte et effacent toute sélection dans le widget.
Control-Shift-End déplace le curseur jusqu'à la fin du texte et étend
la sélection jusqu'à ce point.
- [17]
-
La touche Select et Control-Space placent une ancre de sélection à la position
du curseur d'insertion. Elles n'affectent pas la sélection courante.
Shift-Select et Control-Shift-Space ajustent la sélection à la
position courante du curseur d'insertion, selectionnant à partir de l'ancre
jusqu'au curseur d'insertion s'il n'y avait pas de sélection précédemment.
- [18]
-
Control-/ sélectionne le contenu entier du widget.
- [19]
-
Control-\ efface toute sélection dans le widget.
- [20]
-
La touche F16 (nommée Copy sur de nombreuses stations Sun) ou Meta-w
copie la sélection dans le widget vers le presse-papier, s'il y a une sélection.
Cette action est accomplie par la commande tk_textCopy.
- [21]
-
La touche F20 (nommée Cut sur de nombreuses stations Sun) ou Control-w
copie la sélection dans le widget vers le presse-papier et efface
la sélection.
Cette action est accomplie par la commande tk_textCut.
S'il n'y a pas de sélection dans le widget alors ces touches n'ont pas d'effet.
- [22]
-
La touche F18 (nommée Paste sur de nombreuses stations Sun) ou Control-y
insère le contenu du presse-papier à la position du
curseur d'insertion.
Cette action est accomplie par la commande tk_textPaste.
- [23]
-
La touche Efface efface la sélection, s'il y en a une dans le widget.
S'il n'y a pas de sélection, elle efface le caractère à droite du
curseur d'insertion.
- [24]
-
Backspace et Control-h effacent la sélection, s'il y en a une
dans le widget.
S'il n'y a pas de sélection, ils effacent le caractère à gauche du
curseur d'insertion.
- [25]
-
Control-d efface le caractère à droite du curseur d'insertion.
- [26]
-
Meta-d efface le mot à droite du curseur d'insertion.
- [27]
-
Control-k efface à partir du curseur d'insertion jusqu'à la fin de sa ligne;
si le curseur d'insertion est déjà à la fin d'une ligne, alors
Control-k efface le caractère newline.
- [28]
-
Control-o crée une nouvelle ligne en insérant un caractère newline en face
du curseur d'insertion, sans déplacer le curseur d'insertion.
- [29]
-
Meta-backspace et Meta-Efface effacent le mot à gauche du
curseur d'insertion.
- [30]
-
Control-x efface tout ce qui est sélectionné dans le text widget.
- [31]
-
Control-t inverse l'ordre des deux caractères à droite du
curseur d'insertion.
Si le widget est désactivé en utilisant l'option -state, alors sa
vue peut toujours être ajustée et le texte peut toujours être sélectionné,
mais aucun curseur d'insertion ne sera affiché et aucune modifications du texte n'auront lieu.
Le comportement des widgets texte peut être changé en définissant de nouveaux bindings pour
des widgets individuels ou en redéfinissant les bindings de classe.
Les widgets texte devraient s'exécuter efficacement sous des
conditions variées. Le widget texte utilise environ 2-3 octets de
mémoire centrale pour chaque octet de texte, ainsi les textes contenant un megaoctet
ou plus doivent être gérables sur la plupart des stations de travail.
Le texte est representé en interne avec une structure B-tree modifiée
qui rend les opérations relativement efficaces même avec des textes de gande taille.
Le tags sont inclus dans la structure B-tree d'une façon qui permet
au tags d'occuper de larges étendues ou d'avoir beaucoup de petites étendues disjointe
sans perte d'efficacité.
Les marks sont aussi implémentées d'une façon qui permet un grand nombre de
marks.
Dans la plupart des cas c'est bien d'avoir un grand nombre de tags unique,
ou un tag qui a plusieurs étendues distinctes.
Un problème de performance peut se révéler si vous avez des centaines ou des milliers
de tags différents qui ont tous les caractéristiques suivantes:
la première et dernière étendue de chaque tag sont près du début et
de la fin du texte, respectivement,
ou une seule étendue de tag occupe la majorité du widget texte.
Le coût de l'ajout ou de la suppression de tags de ce type est proportionnel
au nombre des autres tags avec les même propriétés.
Au contraire, ce n'est pas un problème d'avoir des centaines de tags distincts
si leurs étendues sont localisées et réparties uniformément au travers
du texte.
Les très longues lignes de texte peuvent être coûteuses,
spécialement si elles comprennent de nombreuses marks et tags.
La ligne écran avec le curseur d'insertion est redessinée chaque fois que le
curseur clignote, ce qui provoque un torrent de trafic graphique.
Positionnez l'attribut insertOffTime à 0 pour eviter cela.
text, widget, tkvars
Copyright © 1992 The Regents of the University of California.
Copyright © 1994-1996 Sun Microsystems, Inc.
Copyright © 1995-1997 Roger E. Critchlow Jr.
Copyright © 2003 - Le Portail Tcl/Tk Francophone.