  NOM
    tk_getOpenFile, tk_getSaveFile - boite de dialogue de selection de fichier à ouvrir ou enregistrer.
  SYNTAXE
    tk_getOpenFile ?option valeur ...?
    tk_getSaveFile ?option valeur ...?
  DESCRIPTION
    -defaultextension extension
    -filetypes filePatternList
    -initialdir répertoire
    -initialfile filename
    -multiple
    -message
    -parent fenêtre
    -title titleString
  SPECIFICATION DE TYPES DE FICHIERS
  SPECIFICATION D'EXTENSIONS
  EXEMPLE
  VOIR EGALEMENT
  MOTS-CLES

### NOM

tk_getOpenFile, tk_getSaveFile - boite de dialogue de selection de fichier à ouvrir ou enregistrer.

### SYNTAXE

tk_getOpenFile ?option valeur ...?
tk_getSaveFile ?option valeur ...?

### DESCRIPTION

Les procédures tk_getOpenFile et tk_getSaveFile créent une boite de dialogue de selection de fichier à ouvrir ou enregistrer. La commande tk_getOpenFile est généralement associée à la commande Open dans le menu Fichier. Son usage est de permettre à l'utilisateur de choisir un fichier existant seulement. Si l'utilisateur entre un fichier non existant, la boite de dialogue affiche un message d'erreur et demande à l'utilisateur de fournir une autre sélection. Si une application permet à l'utilisateur de créer des nouveaux fichiers, ce doit être fait en créant une commande de menu Nouveau séparée.

La commande tk_getSaveFile est généralement associée à la commande Enregistrer sous dans le menu Fichier . Si l'utilisateur saisit un fichier qui existe déjà, la boite de dialogue interroge l'utilisateur pour confirmation de l'écrasement éventuel du fichier existant.

Les paires option-valeur suivantes sont possibles comme arguments de ligne de commande à ces deux commandes:

-defaultextension extension
  Spécifie une chaîne qui sera ajoutée au nom de fichier si l'utilisateur saisit un nom de fichier sans extension. La valeur par défaut est la chaîne vide, qui signifie qu'aucune extension ne sera ajoutée au nom de fichier. Cette option est ignorée sur Macintosh, qui n'exige pas d'extensions aux noms de fichier.

-filetypes filePatternList
  Si une liste déroulante Type de fichiers existe dans la boite de dialogue sur la plateforme particulière, cette option donne les type de fichierss dans cette liste déroulante. Quand l'utilisateur choisit un type de fichiers dans la liste déroulante, seulement les fichiers de ce type sont listés. Si cette option n'est pas spécifiée, ou si c'est une liste vide, ou si la liste déroulante Type de fichiers n'est pas supportée sur cette plateforme particulière alors tous les fichiers sont listés indépendemment de leurs types. Voir la section SPECIFICATION DE TYPES DE FICHIERS ci-dessous pour une étude du contenu de filePatternList.

-initialdir répertoire
  Spécifie que les fichiers de répertoire doivent être affichés quand la boite de dialogue apparaît. Si ce paramètre n'est pas spécifié, alors les fichiers du répertoire courant sont affichés. Si le paramètre indique un chemin relatif, la valeur de retour convertira le chemin relatif en un chemin absolu. Cette option ne fonctionne pas toujours sur Macintosh. Ceci n'est pas un bug. D'autre part, les General Controls du panneau de configuration du Mac permettent à l'utilisateur de surcharger le répertoire par défaut de l'application.

-initialfile filename
  Spécifie un nom de fichier à afficher dans la boite de dialogue quand elle apparaît. Cette option est ignorée sur Macintosh.

-multiple
  Permet à l'utilisateur de choisir de multiples fichiers dans la boite de dialogue Ouvrir. Sur Macintosh, ceci est disponible seulement quand les Navigation Services sont installés.

-message
  Spécifie a message à inclure dans la client area de la boite de dialogue. Ceci est seulement disponible sur Macintosh, et seulement quand les Navigation Services sont installés.

-parent fenêtre
  Fait de fenêtre le parent logique de la boite de dialogue. La boite de dialogue est affichée par dessus sa fenêtre parent.

-title titleString
  Spécifie une chaîne à afficher comme titre de la boite de dialogue. Si cette option n'est pas spécifiée, alors un titre par défaut est affiché.

Si l'utilisateur sélectionne un fichier, tk_getOpenFile et tk_getSaveFile retournent le nom de chemin complet de ce fichier. Si l'utilisateur annule l'opération, les deux commandes retournent une chaîne vide.

### SPECIFICATION DE TYPES DE FICHIERS

La valeur filePatternList indiquée par l'option -filetypes est une liste de modèles de fichiers. Chaque modèle de fichier est une liste de la forme:

    typeName {extension ?extension ...?} ?{macType ?macType ...?}?

typeName est le nom du type de fichier décrit par le modèle de fichier et est la chaîne qui apparaît dans la liste déroulante types de fichiers . extension est l'extension de fichier de ce modèle de fichier. macType est un type de fichier Macintosh de quatre-caractère. La liste de macTypes est optionnelle et peut être omise pour les applications qui ne doivent pas s'executer sur la plateforme Macintosh.

Plusieurs modèles de fichiers peuvent avoir les même typeName, auquel cas ils se refèrent au même type de fichier et partagent la même entrée dans la liste déroulante. Quand l'utilisateur sélectionne une entrée dans la liste déroulante, tous les fichiers qui correspondent à au moins un des modèles de fichiers présent dans cette entrée sont listés. Usuellement, chaque modèle de fichier corresponds à un type de fichier distinct. L'usage de plus d'un modèle de fichier pour un type de fichier est nécessaire seulement sur la plateforme Macintosh.

Sur la plateforme Macintosh, un fichier correspond à un modèle de fichier si son nom correspond à au moins de une des extension(s) ET qu'il appartient à au moins un des macType(s) du modèle de fichier. Par exemple, le modèle de fichier C Source Files dans le code exemple correspond aux fichiers qui ont une extension .c ET appartiennent au macType TEXT. Pour utiliser la règle OU à la place, vous pouvez utiliser deux modèles de fichiers, un avec seulement les extensions et l'autre avec seulement le macType. Le type de fichier GIF Files dans le code exemple correspond aux fichiers qui SOIT ont une extension .gif OU appartiennent au macType GIFF.

Sur les plateformes Unix et Windows, un fichier correspond à un modèle de fichier si son nom correspond à au moins une des extension(s) du modèle de fichier. Les macTypes sont ignoré.

### SPECIFICATION D'EXTENSIONS

Sur les plateformes Unix et Macintosh, les extensions sont comparées en utilisant un modèle glob-style. Sur les the plateformes Windows, les extensions sont comparées par le système d'exploitation. Les types d'extensions possibles sont: (1) l'extension spéciale * correspond à tous les fichiers; (2) l'extension spéciale "" correspond à tous les fichiers qui n'ont pas d'extension (c.a.d., le nom de fichier ne contient pas de caractère d'arrêt); (3) toute chaîne caractère qui ne contient pas de caractères joker (* et ?).

A cause des différentes règles de correspondance sur les diverses plateformes, pour s'assurer de la portabilité, les caractères joker ne sont pas autorisés dans les extensions, excepté dans l'extension spéciale *. Les extensions sans caractère d'arrêt (ex, ~) sont autorisées mais ne fonctionneront pas sur toutes les plateformes.

### EXEMPLE

    set types {
        {{Text Files}       {.txt}        }
        {{TCL Scripts}      {.tcl}        }
        {{C Source Files}   {.c}      TEXT}
        {{GIF Files}        {.gif}        }
        {{GIF Files}        {}        GIFF}
        {{All Files}        *             }
    }
    set filename [tk_getOpenFile -filetypes $types]
    if {$filename != ""} {
        # Ouvre le fichier...
    }

### VOIR EGALEMENT

tk_chooseDirectory

### MOTS-CLES

file selection dialog

    Copyright © 1996 Sun Microsystems, Inc.
    Copyright © 1995-1997 Roger E. Critchlow Jr.

Copyright © 2003 - Le Portail Tcl/Tk Francophone.