Pular para conteúdo

Biblioteca Dialogs

Biblioteca Dialogs

A biblioteca dialogs provê funções para exibir mensagens e interagir com o usuário através de diálogos.

Todas as funções estão contidas na table/variável "Dialogs" da unidade "dialogs.lua".

 

Exemplo de uso:

-- Primeiro, é necessário usar a unidade "dialogs.lua" require("dialogs.lua");    -- Agora é possível acessar as funções da biblioteca Dialogs.FUNCAO_DA_BIBLIOTECA(Parametro1, Parametro2, ...);

 

 

Funções da biblioteca Dialogs

 

function Dialogs.showMessage(msg [, callback]) ou function showMessage(msg [, callback])

 

Exibe uma mensagem de informação para o usuário  (um simples diálogo com o botão "OK").

 

Parâmetros:

  •  
  • msg – Uma cadeia de caracteres contendo a mensagem que deverá ser exibida na interface.
  • (OPCIONAL) callback - uma função que será chamada após o usuário clicar em OK.

    

Retorno: \     Não retorna nenhum valor.

 

Observações: 

  •  
  • A função não espera o usuário responder o diálogo para continuar, Isto é, o diálogo é apresentado na interface e o código LUA continua a sua execução normal enquanto isso.
  • Se quiser executar algo após o usuário confirmar o diálogo, informe o parâmetro "callback"

 

 

function Dialogs.alert(msg [, callback]) ou function alert(msg [, callback])

 

Exibe uma mensagem de alerta para o usuário  (um simples diálogo com ícone de alerta e botão "OK").

 

Parâmetros:

  •  
  • msg – Uma cadeia de caracteres contendo a mensagem que deverá ser exibida na interface.
  • (OPCIONAL) callback - uma função que será chamada após o usuário clicar em OK.

 

Retorno: \     Não retorna nenhum valor.

 

Observações: 

  •  
  • A função não espera o usuário responder o diálogo para continuar, Isto é, o diálogo é apresentado na interface e o código LUA continua a sua execução normal enquanto isso.
  • Se quiser executar algo após o usuário confirmar o diálogo, informe o parâmetro "callback"

 

 

function Dialogs.confirmOkCancel(question [, callback])

 

Exibe uma informação na interface com os botões OK e CANCEL, permitindo o usuário optar por continuar ou por cancelar alguma ação.

 

Parâmetros:

  •  
  • question – Uma cadeia de caracteres contendo a mensagem que deverá ser exibida na interface.
  • (OPCIONAL) callback - uma função que será chamada após o usuário se decidir. Esta função receberá no primeiro parâmetro o valor true se o usuário tiver optado por "OK" ou false caso contrário.

 

Retorno: \     Não retorna nenhum valor.

 

Observações: 

  •  
  • A função não espera o usuário responder o diálogo para continuar, Isto é, o diálogo é apresentado na interface e o código LUA continua a sua execução normal enquanto isso.
  • Se quiser saber qual foi a escolha do usuário, utilize o parâmetro "callback".

 

Exemplo:

Dialogs.confirmOkCancel("Continuar irá acontecer X coisa",         function (confirmado)                 if confirmado then                         -- usuario escolheu OK                 else                         -- usuário escolheu CANCEL                 end;         end);

 

 

 

function Dialogs.confirmYesNo(question [, callback])

 

Exibe uma informação na interface com os botões YES e NO, permitindo o usuário responder "sim" ou "não" a alguma pergunta.

 

Parâmetros:

  •  
  • question – Uma cadeia de caracteres contendo a pergunta que deverá ser exibida na interface.
  • (OPCIONAL) callback - uma função que será chamada após o usuário se decidir. Esta função receberá no primeiro parâmetro o valor true se o usuário tiver optado por "SIM" ou false caso contrário.

 

Retorno: \     Não retorna nenhum valor.

 

Observações: 

  •  
  • A função não espera o usuário responder o diálogo para continuar, Isto é, o diálogo é apresentado na interface e o código LUA continua a sua execução normal enquanto isso.
  • Se quiser saber qual foi a escolha do usuário, utilize o parâmetro "callback".

 

Exemplo:

Dialogs.confirmYesNo("Deseja realmente apagar este item?",         function (confirmado)                 if confirmado then                         -- usuario escolheu SIM                 else                         -- usuário escolheu NAO                 end;         end);

 

 

 

function Dialogs.showMessageDlg(message, dialogType, dialogButtons [, callback])

 

Exibe um diálogo customizado pelo programador na interface.

 

Parâmetros:

  •  
  • message – Uma cadeia de caracteres contendo a mensagem que será exibida na interface
  • dialogType - O tipo de diálogo. Pode ser um dos seguintes valores:
    • dialogs.DT_INFORMATION  - uma informação
    • dialogs.DT_ERROR - um erro
    • dialogs.DT_WARNING - um alerta
    • dialogs.DT_CONFIRMATION - uma confirmação
  • dialogButtons - Quais botões serão exibidos na interface. É um arranjo/tabela lua contendo a combinação dos seguintes valores:
    • dialogs.DB_YES
    • dialogs.DB_NO
    • dialogs.DB_OK
    • dialogs.DB_CANCEL
    • dialogs.DB_ABORT
    • dialogs.DB_RETRY
    • dialogs.DB_IGNORE
    • dialogs.DB_CLOSE
  • (OPCIONAL) callback - uma função que será chamada após o usuário se decidir. Esta função receberá no primeiro parâmetro qual botão foi pressionado. (Este valor é um daqueles informados no parâmetro dialogButtons).

 

Retorno: \     Não retorna nenhum valor.

 

Observações: 

  •  
  • A função não espera o usuário responder o diálogo para continuar, Isto é, o diálogo é apresentado na interface e o código LUA continua a sua execução normal enquanto isso.
  • Se quiser saber qual foi a escolha do usuário, utilize o parâmetro "callback".
  • Nem toda combinação de botões são válidas. As combinações de botões válidas são:
    • {dialogs.DB_OK}
    • {dialogs.DB_OK, dialogs.DB_CANCEL}
    • {dialogs.DB_YES, dialogs.DB_NO}
    • {dialogs.DB_YES, dialogs.DB_NO, dialogs.DB_CANCEL}
    • {dialogs.DB_ABORT, dialogs.DB_IGNORE, dialogs.DB_RETRY}
    • {dialogs.DB_ABORT, dialogs.DB_IGNORE}

 

Exemplo:

Dialogs.showMessageDlg("O que fazer?", dialogs.DT_WARNING,                        {dialogs.DB_ABORT, dialogs.DB_IGNORE, dialogs.DB_RETRY},                                                                       function (escolha)                            if escolha == dialogs.DB_ABORT then                                -- usuario escolheu ABORT                            elseif escolha == dialogs.DB_IGNORE then                                -- usuário escolheu IGNORE                            elseif escolha == dialogs.DB_RETRY then                               -- usuário escolheu RETRY                                                     *                            **end*;                         end);

 

 

 

function Dialogs.inputQuery(caption, prompt[, initialValue [, confirmCallback [, cancelCallback, [, allowEmptyString]]]])

 

Exibe um diálogo para que o usuário preencha alguma informação.

 

Parâmetros:

  •  
  • caption – Cadeia de caracteres contendo o título do diálogo
  • prompt - Cadeia de caracteres que contém uma orientação para que o usuário saiba o que deve digitar. Exemplo: "Informe seu nome".
  • (OPCIONAL) initialValue - Cadeia de caracteres contendo o valor que já virá preenchido no diálogo.
  • (OPCIONAL) confirmCallback - Uma função que será invocada após o usuário confirmar o preenchimento. O valor que foi informado pelo usuário é passado no primeiro parâmetro desta função.
  • (OPCIONAL) cancelCallback - Uma função que será invocada se o usuário cancelar o diálogo.
  • (OPCIONAL) allowEmptyString - Um booleano indicando se o usuário pode informar uma cadeia de caracteres vazia. Se omitido, este parâmetro é interpretado como false.

 

Retorno: \     Não retorna nenhum valor.

 

Observações: 

  •  
  • A função não espera o usuário responder o diálogo para continuar, Isto é, o diálogo é apresentado na interface e o código LUA continua a sua execução normal enquanto isso.
  • Se quiser saber qual foi a informação preenchida pelo usuário, utilize os parâmetros "confirmCallback" e/ou "cancelCallback".

 

 

Exemplo:

 

Dialogs.inputQuery("Cadastro", "Informe Seu Nome", "",         function (valorPreenchido)                 showMessage("O usuario preencheu: " .. valorPreenchido);         end,                function()                 showMessage("O usuário cancelou");         end);

 

 

 

function Dialogs.openFile(prompt[, accept [, multiple [, callback [, cancelCallback]]]])

 

Exibe um diálogo para que o usuário escolha um ou mais arquivos do seu computador/dispositivo para abrir. 

 

Parâmetros:

  •  
  • prompt - Uma cadeia de caracteres contendo uma orientação ao usuário sobre qual arquivo ele deve selecionar. Exemplo: "Escolha uma imagem".
  • (OPCIONAL) accept - Uma cadeia de caracteres usada para filtrar quais arquivos o usuário pode selecionar. Você pode passar aqui:
    • ".\<EXTENSÃO>" para filtrar arquivos de uma determinada extensão. Exemplo: ".txt", ".mp3", ".png", etc..
    • "\<MIME_TYPE>" para filtrar arquivos pelo Media/Mime Type. Exemplos: "image/png", "application/xml", "text/plain", etc..
    • "image/*" para filtrar todos os formatos de imagens suportados pelo RRPG.
    • "*.*" ou nil - Para aceitar qualquer tipo de arquivo.
    • Uma lista das opções anteriores separadas por vírgula. Exemplos:
    • ".png, .txt, .bmp" - para aceitar arquivos de extensões PNG, TXT e BMP
    • ".html, text/plain, image/*" - para aceitar arquivos HTML, arquivos de media type text/plain e também qualquer imagem.
  • (OPCIONAL) multiple - true para permitir o usuário selecionar mais de um arquivo ao mesmo tempo ou false para permitir selecionar apenas um arquivo. Se omitido este valor, o padrão é "false".
  • (OPCIONAL) callback - Uma função que será invocada quando o usuário confirmar a seleção do(s) arquivo(s). Esta função recebe em seu primeiro parâmetro um array de tabelas luas que contém cada uma:
    • name - Uma propriedade contendo o nome curto do arquivo selecionado. Exemplos: "Arquivo.txt", "Minha imagem de férias.png", etc..
    • stream - Um objeto stream somente leitura contendo os dados do arquivo selecionado.
  • (OPCIONAL) cancelCallback - Uma função que será invocada quando o usuário cancelar a seleção de arquivos.

 

Observações:

  •  
  • Esta é a única maneira que o plug-in tem de obter acesso a arquivos do dispositivo do usuário.
  • Se o parâmetro "multiple" for false, a função "callback" sempre receberá um array contendo 1 tabela lua descrevendo o arquivo selecionado. Se o parâmetro "multiple" for true, o número de tabelas neste array varia conforme a quantidade de arquivos selecionados.
  • No FirecastMobile: Esta função só consegue abrir imagens da galeria do celular/tablet do usuário. Se o conteúdo do parâmetro "accept" não aceitar imagens, o evento "cancelCallback" será chamado imediatamente depois.

 

 

Exemplos:

  •  
  • Selecionando múltiplos arquivos de extensão .txt e .html:
Dialogs.openFile("Selecione os arquivos", ".txt, .html", true,         function(arquivos)                 for i = 1, #arquivos, 1 do                         local arq = arquivos[i];                         -- arq.name possui o nome do arquivo                         -- arq.stream possui o objeto stream do conteúdo                 end;         end);

 

  •  
  • Selecionando 1 arquivo de imagem:
Dialogs.openFile("Selecione o arquivo de imagem", "image/*", false,         function(arquivos)                 local arq = arquivos[1];                 -- arq.name possui o nome do arquivo                 -- arq.stream possui o objeto stream do conteúdo              *         **end*);

 

 

 

function Dialogs.saveFile(prompt, stream, [suggestedFileName [, mimeType [, callback [, cancelCallback]]]])

 

Exibe um diálogo para que o usuário possa salvar um arquivo em seu dispositivo.

 

Parâmetros

  •  
  • prompt - Uma cadeia de caracteres contendo uma orientação ao usuário sobre qual arquivo ele vai salvar. Exemplo: "Salvar imagem do personagem".
  • stream - Um Um objeto stream contendo o que será salvo no dispositivo do usuário.
  • (OPCIONAL) suggestedFileName - Uma cadeia de caracteres contendo uma sugestão de nome de arquivo para o usuário. Exemplo: "novoArquivo.txt"
  • (OPCIONAL) mimeType - Uma cadeia de caracteres usada para definir o tipo de conteúdo que "stream" possúi.
    • Exemplos: 
    • "text/plain"
    • "image/png"
    • "image/jpeg"
    • "application/octet-stream"
  • (OPCIONAL) callback - Uma função que será invocada quando o usuário confirmar a gravação do arquivo
  • (OPCIONAL) cancelCallback - Uma função que será invocada quando o usuário cancelar a gravação do arquivo.

 

Alerta:

  •  
  • Após chamar saveFile, não altere e nem feche o objeto "stream" antes que "callback" ou "cancelCallback" seja invocado. O SDK mantém uma referência ao stream até que o usuário decida gravar o arquivo e não é seguro alterá-lo neste meio tempo.

 

Observações:

  •  
  • Esta é a única maneira de salvar um arquivo no dispositivo do usuário.
  • Recomenda-se informar os parâmetros "mimeType" e "suggestedFileName" quando possível para que o SDK possa interagir com o usuário da melhor forma possível.
    • Se você não informar mimeType, o SDK automaticamente o sugere conforme a extensão de suggestedFileName.
    • Se você não informar suggestedFileName, o SDK automaticamente sugere a extensão do arquivo conforme mimeType.
  • No Android:
    • Esta função apresenta aquela clássifca interface de "compartilhar" do sistema operacional.
    • A função "callback" é invocada imediatamente, não sendo possível saber se o usuário compartilhou ou não o conteúdo de stream.

 

 

 

function Dialogs.selectImageURL(defaultURL, [, callback [, cancelCallback]])

 

Exibe um diálogo para que o usuário possa escolher uma URL de uma imagem.

 

Parâmetros

  •  
  • defaultURL - Uma cadeia de caracteres contendo uma URL que será sugerida para o usuário. Pode ser nil ou vazia.
  • (OPCIONAL) callback - Uma função que será invocada quando o usuário confirmar a seleção de uma imagem. O primeiro parâmetro desta função contém a URL escolhida pelo usuário.
  • (OPCIONAL) cancelCallback - Uma função que será invocada quando o usuário cancelar a seleção de imagem.

 

 

Observações:

  •  
  • Esta função abre a tradicional interface de escolha de imagens do RRPG.
  • Esta função é assíncrona. Ou seja, o código continua sua execução enquanto o usuário escolhe a imagem. A única maneira de obter a URL escolhida pelo usuário é através do parâmetro "callback".

 

Exemplo:

Dialogs.selectImageURL("http://www.google.com/imagem_sugerida.png",     function(url)         showMessage("Imagem selecionada: " .. url);     end,         function()         showMessage("O usuário cancelou a janela");     end); 

 

 

 

function Dialogs.choose(prompt, options, callback [, defaultOptionIndex, shortCircuit])

 

Exibe um diálogo para que o usuário possa escolher uma opção dentre uma lista de opções.

 

Parâmetros

  •  
  • prompt - Uma cadeia de caracteres contendo uma orientação ao usuário sobre o que ele deve selecionar.
  • options - Um array/arranjo de cadeias de caracteres, contendo as opções que devem ser apresentadas ao usuário.
  • callback - Uma função que será invocada quando o usuário fizer a escolha ou quando ele cancelar a escolha.
    • A função recebe três parâmetros na seguinte ordem:
    • selected - Um valor booleano (true ou false) indicando se o usuário selecionou alguma opção ou se cancelou o diálogo
    • selectedIndex - Se o usuário selecionou alguma opção, este parâmetro recebe um número representando o índice do array "options" que representa qual opção o usuário escolheu. Lembre-se que em Lua o índice de arrays começa do número 1 ao invés de 0. Se o usuário cancelou o diálogo, este parâmetro conterá nil.
    • selectedText - Se o usuário selecionou alguma opção, este parâmetro recebe o texto da opção escolhida conforme o parâmetro "options". Se o usuário cancelou o dialogo, este parâmetro conterá nil.
  • (OPCIONAL) defaultOptionIndex - Um número contendo um índice informado qual dos itens de "options" deve ser apresentado como a escolha padrão. Se não informado, nenhuma opção será mostrada como padrão.
  • (OPCIONAL) shortCircuit - Avaliação Curto-Circuito: Se for "true" e se houver apenas uma opção a ser mostrada ao usuario, a interface não é exibida e esta opçao é automaticamente selecionada. Se não informado, este parâmetro assume o valor false.

 

 

Observações:

  •  
  • Esta função é assíncrona. Ou seja, o código continua sua execução enquanto o usuário escolhe. A única maneira de obter a resposta escolhida pelo usuário é através do parâmetro "callback".
  • Se "options" não for válido ou se for um arranjo com 0 itens, a função callback será imediatamente chamada como se o usuário tivesse cancelado a escolha.

 

Exemplo:

Dialogs.choose("Selecione uma das opções", {"Opção 1", "Opção 2", "Opção 3"},                function(selected, selectedIndex, selectedText)                   if selected then                     showMessage("O usuário selecionou índice " .. tostring(selectedIndex) .. ": " .. selectedText);                   else                     showMessage("O usuário cancelou");                   end;                end

 

 

function Dialogs.chooseMultiple(prompt, options, callback)

 

Exibe um diálogo para que o usuário possa escolher uma ou mais opções dentre uma lista de opções.

 

Parâmetros

  •  
  • prompt - Uma cadeia de caracteres contendo uma orientação ao usuário sobre o que ele deve selecionar.
  • options - Um array/arranjo de cadeias de caracteres, contendo as opções que devem ser apresentadas ao usuário.
  • callback - Uma função que será invocada quando o usuário fizer a escolha ou quando ele cancelar a escolha.
    • A função recebe três parâmetros na seguinte ordem:
    • selected - Um valor booleano (true ou false) indicando se o usuário selecionou ao menos uma opção ou se cancelou o diálogo
    • selectedIndexes - Se o usuário selecionou alguma opção, este parâmetro recebe um array de números representando os índices do array "options" que representa quais opções o usuário escolheu. Lembre-se que em Lua o índice de arrays começa do número 1 ao invés de 0. Se o usuário cancelou o diálogo, este parâmetro conterá nil.
    • selectedText - Se o usuário selecionou alguma opção, este parâmetro recebe um array de textos das opções escolhida conforme o parâmetro "options". Se o usuário cancelou o dialogo, este parâmetro conterá nil.

 

 

Observações:

  •  
  • Esta função é assíncrona. Ou seja, o código continua sua execução enquanto o usuário escolhe. A única maneira de obter a resposta escolhida pelo usuário é através do parâmetro "callback".
  • Se "options" não for válido ou se for um arranjo com 0 itens, a função callback será imediatamente chamada como se o usuário tivesse cancelado a escolha.

 

Exemplo:

Dialogs.chooseMultiple("Selecione uma ou mais opções", {"Opção 1", "Opção 2", "Opção 3"},                function(selected, selectedIndexes, selectedTexts)                   if selected then                     showMessage("O usuário selecionou os índices " ..                                 tableToStr(selectedIndexes) .. ": " ..                                 tableToStr(selectedTexts));                   else                     showMessage("O usuário cancelou");                   end;                end

Created with the Personal Edition of HelpNDoc: Effortlessly create a professional-quality documentation website with HelpNDoc