--- sidebar_position: 5 --- # Diálogo Esta parte do tempo de execução fornece acesso a dialogos nativos, como os Seletores de Arquivo e caixas de mensagem. :::info JavaScript O dialog não é suportado pelo runtime do JS. ::: ### OpenDirectoryDialog Abre um diálogo que solicita o usuário para selecionar um diretório. Pode ser personalizado usando o [OpenDialogOptions](#opendialogoptions). Go: `OpenDirectoryDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)` Retorna: Diretório selecionado (nulo se o usuário cancelar) ou um erro ### OpenFileDialog Abre um diálogo que solicita o usuário para selecionar um arquivo. Pode ser personalizado usando o [OpenDialogOptions](#opendialogoptions). Go: `OpenFileDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)` Retorna: Arquivo selecionado (nulo se o usuário cancelar) ou um erro ### OpenMultipleFilesDialog Abre um diálogo que pede o usuário para selecionar vários arquivos. Pode ser personalizado usando o [OpenDialogOptions](#opendialogoptions). Go: `OpenMultipleFilesDialog(ctx context.Context, dialogOptions OpenDialogOptions) ([]string, error)` Retorna: Arquivos selecionados (nulo se o usuário cancelar) ou um erro ### SaveFileDialog Abre um diálogo que solicita o usuário selecionar um nome de arquivo para salvar. Pode ser personalizado usando [SaveDialogOptions](#savedialogoptions). Go: `SaveFileDialog(ctx context.Context, dialogOptions SaveDialogOptions) (string, error)` Retorna: O arquivo selecionado (nulo se o usuário cancelar) ou um erro ### MessageDialog Exibe uma mensagem usando a caixa de diálogo da mensagem. Pode ser personalizado usando o [MessageDialogOptions](#messagedialogoptions). Go: `MessageDialog(ctx context.Context, dialogOptions MessageDialogOptions) (string, error)` Retorna: O texto do botão selecionado ou um erro ## Opções ### OpenDialogOptions ```go type OpenDialogOptions struct { DefaultDirectory string DefaultFilename string Title string Filters []FileFilter ShowHiddenFiles bool CanCreateDirectories bool ResolvesAliases bool TreatPackagesAsDirectories bool } ``` | Atributo | Descrição | Win | Mac | Lin | | -------------------------- | ------------------------------------------------------------- | --- | --- | --- | | DefaultDirectory | O diretório que a caixa de diálogo será exibida quando aberta | ✅ | ✅ | ✅ | | DefaultFilename | O nome do arquivo padrão | ✅ | ✅ | ✅ | | Title | Título para a caixa de diálogo | ✅ | ✅ | ✅ | | [Filters](#filefilter) | Uma lista de filtros de arquivos | ✅ | ✅ | ✅ | | ShowHiddenFiles | Exibir arquivos ocultos pelo sistema | | ✅ | ✅ | | CanCreateDirectories | Permitir que o usuário crie diretórios | | ✅ | | | ResolvesAliases | Se verdadeiro, retorna o arquivo não o alias | | ✅ | | | TreatPackagesAsDirectories | Permitir a navegação em pacotes | | ✅ | | ### SaveDialogOptions ```go type SaveDialogOptions struct { DefaultDirectory string DefaultFilename string Title string Filters []FileFilter ShowHiddenFiles bool CanCreateDirectories bool TreatPackagesAsDirectories bool } ``` | Atributo | Descrição | Win | Mac | Lin | | -------------------------- | ------------------------------------------------------------- | --- | --- | --- | | DefaultDirectory | O diretório que a caixa de diálogo será exibida quando aberta | ✅ | ✅ | ✅ | | DefaultFilename | O nome do arquivo padrão | ✅ | ✅ | ✅ | | Title | Título para a caixa de diálogo | ✅ | ✅ | ✅ | | [Filters](#filefilter) | Uma lista de filtros de arquivos | ✅ | ✅ | ✅ | | ShowHiddenFiles | Exibir arquivos ocultos pelo sistema | | ✅ | ✅ | | CanCreateDirectories | Permitir que o usuário crie diretórios | | ✅ | | | TreatPackagesAsDirectories | Permitir a navegação em pacotes | | ✅ | | ### MessageDialogOptions ```go type MessageDialogOptions struct { Type DialogType Title string Message string Buttons []string DefaultButton string CancelButton string } ``` | Atributo | Descrição | Win | Mac | Lin | | ------------- | ------------------------------------------------------------------------ | -------------- | --- | --- | | Tipo | O tipo de diálogo de mensagem, por exemplo, pergunta, informações... | ✅ | ✅ | ✅ | | Title | Título para a caixa de diálogo | ✅ | ✅ | ✅ | | Message | A mensagem para mostrar o usuário | ✅ | ✅ | ✅ | | Buttons | Uma lista de títulos de botões | | ✅ | | | DefaultButton | O botão com este texto deve ser tratado como padrão. Vincule a `return`. | ✅[*](#windows) | ✅ | | | CancelButton | O botão com este texto deve ser tratado como padrão. Vincule a `return` | | ✅ | | #### Windows Windows tem tipos de diálogo padrão em que os botões não são personalizáveis. O valor retornado será um dos: "Ok", "Cancel", "Abort", "Retry", "Ignore", "Yes", "No", "Try Again" or "Continue". Para diálogos de Perguntas, o botão padrão é "Sim" e o botão cancelar é "Não". Isso pode ser alterado definindo o valor do `DefaultButton` para `"No"`. Exemplo: ```go result, err := runtime.MessageDialog(a.ctx, runtime.MessageDialogOptions{ Type: runtime.QuestionDialog, Title: "Question", Message: "Do you want to continue?", DefaultButton: "No", }) ``` #### Linux Linux tem tipos de diálogo padrão em que os botões não são personalizáveis. O valor retornado será um de: "Ok", "Cancel", "Yes", "No" #### Mac Uma caixa de diálogo de mensagem no Mac pode especificar até 4 botões. Se nenhum `DefaultButton` ou `CancelButton` for dado, o primeiro botão é considerado padrão e está ligado à chave `return`. Para o código a seguir: ```go selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{ Title: "It's your turn!", Message: "Select a number", Buttons: []string{"one", "two", "three", "four"}, }) ``` o primeiro botão é mostrado como padrão: ```mdx-code-block