--- sidebar_position: 5 --- # Boîte de dialogue Cette partie du runtime fournit un accès aux boîtes de dialogue natives, telles que les sélecteurs de fichiers et les boîtes de messages. :::info JavaScript La boîte de dialogue n'est actuellement pas prise en charge dans l'exécuteur JS. ::: ### OpenDirectoryDialog Ouvre une boîte de dialogue qui invite l'utilisateur à sélectionner un répertoire. Peut être personnalisé en utilisant [OpenDialogOptions](#opendialogoptions). Go: `OpenDirectoryDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)` Renvoie : le répertoire sélectionné (vide si l'utilisateur a annulé) ou une erreur ### OpenFileDialog Ouvre une boîte de dialogue qui invite l'utilisateur à sélectionner un fichier. Peut être personnalisé en utilisant [OpenDialogOptions](#opendialogoptions). Go: `OpenFileDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)` Renvoie : le fichier sélectionné (vide si l'utilisateur a annulé) ou une erreur ### OpenFileDialog Ouvre une boîte de dialogue qui invite l'utilisateur à sélectionner plusieurs fichiers. Peut être personnalisé en utilisant [OpenDialogOptions](#opendialogoptions). Go: `OpenMultipleFilesDialog(ctx context.Context, dialogOptions OpenDialogOptions) ([]string, error)` Renvoie : les fichiers sélectionnés (nil si l'utilisateur a annulé) ou une erreur ### SaveFileDialog Ouvre une boîte de dialogue qui invite l'utilisateur à saisir un nom pour le fichier à enregistrer. Peut être personnalisé en utilisant [SaveDialogOptions](#savedialogoptions). Go: `SaveFileDialog(ctx context.Context, dialogOptions SaveDialogOptions) (string, error)` Renvoie : le fichier sélectionné (vide si l'utilisateur a annulé) ou une erreur ### MessageDialog Affiche un message en utilisant une boîte de dialogue. Peut être personnalisé en utilisant [MessageDialogOptions](#messagedialogoptions). Go: `MessageDialog(ctx context.Context, dialogOptions MessageDialogOptions) (string, error)` Renvoie : Le texte du bouton sélectionné ou une erreur ## Options ### OpenDialogOptions ```go type OpenDialogOptions struct { DefaultDirectory string DefaultFilename string Title string Filters []FileFilter ShowHiddenFiles bool CanCreateDirectories bool ResolvesAliases bool TreatPackagesAsDirectories bool } ``` | Champ | Description | Win | Mac | Lin | | -------------------------- | -------------------------------------------------------------- | --- | --- | --- | | DefaultDirectory | Le répertoire que la boîte de dialogue affichera à l'ouverture | ✅ | ✅ | ✅ | | DefaultFilename | Le nom du fichier par défaut | ✅ | ✅ | ✅ | | Title | Titre pour la boite de dialogue | ✅ | ✅ | ✅ | | [Filters](#filefilter) | Une liste de filtres de fichiers | ✅ | ✅ | ✅ | | ShowHiddenFiles | Afficher les fichiers cachés par le système | | ✅ | ✅ | | CanCreateDirectories | Autoriser l'utilisateur de créer des dossiers | | ✅ | | | ResolvesAliases | Si vrai, retourne le fichier et non l'alias | | ✅ | | | TreatPackagesAsDirectories | Autoriser la navigation dans les dossiers | | ✅ | | ### SaveDialogOptions ```go type SaveDialogOptions struct { DefaultDirectory string DefaultFilename string Title string Filters []FileFilter ShowHiddenFiles bool CanCreateDirectories bool TreatPackagesAsDirectories bool } ``` | Champ | Description | Win | Mac | Lin | | -------------------------- | -------------------------------------------------------------- | --- | --- | --- | | DefaultDirectory | Le répertoire que la boîte de dialogue affichera à l'ouverture | ✅ | ✅ | ✅ | | DefaultFilename | Le nom du fichier par défaut | ✅ | ✅ | ✅ | | Title | Titre pour la boite de dialogue | ✅ | ✅ | ✅ | | [Filters](#filefilter) | Une liste de filtres de fichiers | ✅ | ✅ | ✅ | | ShowHiddenFiles | Afficher les fichiers cachés par le système | | ✅ | ✅ | | CanCreateDirectories | Autoriser l'utilisateur de créer des dossiers | | ✅ | | | TreatPackagesAsDirectories | Autoriser la navigation dans les dossiers | | ✅ | | ### MessageDialogOptions ```go type MessageDialogOptions struct { Type DialogType Title string Message string Buttons []string DefaultButton string CancelButton string } ``` | Champ | Description | Win | Mac | Lin | | ------------- | ---------------------------------------------------------------------------------------------- | -------------- | --- | --- | | Type | Le type de boîte de dialogue de message: question, info... | ✅ | ✅ | ✅ | | Title | Titre pour la boite de dialogue | ✅ | ✅ | ✅ | | Message | Le message à afficher à l'utilisateur | ✅ | ✅ | ✅ | | Buttons | La liste des noms des boutons | | ✅ | | | DefaultButton | Le bouton avec ce texte doit être traité comme le bouton par défaut. Lié à la touche `entrée`. | ✅[*](#windows) | ✅ | | | CancelButton | Le bouton avec ce texte doit être traité permettant d'annuler. Lié à la touche `echap` | | ✅ | | #### Windows Windows has standard dialog types in which the buttons are not customisable. The value returned will be one of: "Ok", "Cancel", "Abort", "Retry", "Ignore", "Yes", "No", "Try Again" or "Continue". For Question dialogs, the default button is "Yes" and the cancel button is "No". This can be changed by setting the `DefaultButton` value to `"No"`. Example: ```go result, err := runtime.MessageDialog(a.ctx, runtime.MessageDialogOptions{ Type: runtime.QuestionDialog, Title: "Question", Message: "Do you want to continue?", DefaultButton: "No", }) ``` #### Linux Linux has standard dialog types in which the buttons are not customisable. The value returned will be one of: "Ok", "Cancel", "Yes", "No" #### Mac A message dialog on Mac may specify up to 4 buttons. If no `DefaultButton` or `CancelButton` is given, the first button is considered default and is bound to the `return` key. For the following code: ```go selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{ Title: "It's your turn!", Message: "Select a number", Buttons: []string{"one", "two", "three", "four"}, }) ``` the first button is shown as default: ```mdx-code-block